mirror of
https://github.com/oxen-io/session-android.git
synced 2024-11-27 20:15:21 +00:00
refactor: start looking at how to incorporate the user config changes to the expiry message update times and where to read values from
This commit is contained in:
parent
6998ae7c88
commit
0e30d14b96
@ -1671,6 +1671,19 @@ open class Storage(context: Context, helper: SQLCipherOpenHelper, private val co
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun getExpirationConfiguration(threadId: Long): ExpirationConfiguration? {
|
override fun getExpirationConfiguration(threadId: Long): ExpirationConfiguration? {
|
||||||
|
val recipient = getRecipientForThread(threadId) ?: return null
|
||||||
|
return if (recipient.isContactRecipient && recipient.address.serialize().startsWith(IdPrefix.STANDARD.value)) {
|
||||||
|
// read it from contacts config if exists
|
||||||
|
configFactory.contacts?.get(recipient.address.serialize())?.let { contact ->
|
||||||
|
contact.expiryMode
|
||||||
|
}
|
||||||
|
} else if (recipient.isClosedGroupRecipient) {
|
||||||
|
// read it from group config if exists
|
||||||
|
val groupPublicKey = GroupUtil.doubleDecodeGroupId(recipient.address.serialize())
|
||||||
|
configFactory.userGroups?.getLegacyGroupInfo(groupPublicKey)?.let {
|
||||||
|
|
||||||
|
}
|
||||||
|
} else null
|
||||||
return DatabaseComponent.get(context).expirationConfigurationDatabase().getExpirationConfiguration(threadId)
|
return DatabaseComponent.get(context).expirationConfigurationDatabase().getExpirationConfiguration(threadId)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -152,7 +152,7 @@ class BatchMessageReceiveJob(
|
|||||||
try {
|
try {
|
||||||
when (message) {
|
when (message) {
|
||||||
is VisibleMessage -> {
|
is VisibleMessage -> {
|
||||||
MessageReceiver.updateExpiryIfNeeded(message, proto, openGroupID)
|
MessageReceiver.updateExpiryIfNeeded(message, proto, openGroupID, newLastSeen)
|
||||||
val isUserBlindedSender =
|
val isUserBlindedSender =
|
||||||
message.sender == serverPublicKey?.let {
|
message.sender == serverPublicKey?.let {
|
||||||
SodiumUtilities.blindedKeyPair(
|
SodiumUtilities.blindedKeyPair(
|
||||||
|
@ -270,7 +270,7 @@ fun handleMessageRequestResponse(message: MessageRequestResponse) {
|
|||||||
}
|
}
|
||||||
//endregion
|
//endregion
|
||||||
|
|
||||||
fun MessageReceiver.updateExpiryIfNeeded(message: Message, proto: SignalServiceProtos.Content, openGroupID: String?) {
|
fun MessageReceiver.updateExpiryIfNeeded(message: Message, proto: SignalServiceProtos.Content, openGroupID: String?, lastSeen: Long) {
|
||||||
val storage = MessagingModuleConfiguration.shared.storage
|
val storage = MessagingModuleConfiguration.shared.storage
|
||||||
|
|
||||||
val sentTime = message.sentTimestamp ?: throw MessageReceiver.Error.InvalidMessage
|
val sentTime = message.sentTimestamp ?: throw MessageReceiver.Error.InvalidMessage
|
||||||
|
Loading…
Reference in New Issue
Block a user