mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-24 21:15:48 +00:00
Use distinct timestamp for sync message expire timer updates.
This commit is contained in:
@@ -598,7 +598,7 @@ object SyncMessageProcessor {
|
||||
}
|
||||
|
||||
@Throws(MmsException::class)
|
||||
private fun handleSynchronizeSentExpirationUpdate(sent: Sent): Long {
|
||||
private fun handleSynchronizeSentExpirationUpdate(sent: Sent, sideEffect: Boolean = false): Long {
|
||||
log(sent.timestamp, "Synchronize sent expiration update.")
|
||||
|
||||
val groupId: GroupId? = getSyncMessageDestination(sent).groupId.orNull()
|
||||
@@ -609,7 +609,7 @@ object SyncMessageProcessor {
|
||||
}
|
||||
|
||||
val recipient: Recipient = getSyncMessageDestination(sent)
|
||||
val expirationUpdateMessage: OutgoingMessage = expirationUpdateMessage(recipient, sent.timestamp, sent.message.expireTimer.seconds.inWholeMilliseconds)
|
||||
val expirationUpdateMessage: OutgoingMessage = expirationUpdateMessage(recipient, if (sideEffect) sent.timestamp - 1 else sent.timestamp, sent.message.expireTimer.seconds.inWholeMilliseconds)
|
||||
val threadId: Long = SignalDatabase.threads.getOrCreateThreadIdFor(recipient)
|
||||
val messageId: Long = SignalDatabase.messages.insertMessageOutbox(expirationUpdateMessage, threadId, false, null)
|
||||
|
||||
@@ -680,7 +680,7 @@ object SyncMessageProcessor {
|
||||
)
|
||||
|
||||
if (recipient.expiresInSeconds != sent.message.expireTimer) {
|
||||
handleSynchronizeSentExpirationUpdate(sent)
|
||||
handleSynchronizeSentExpirationUpdate(sent, sideEffect = true)
|
||||
}
|
||||
|
||||
val threadId = SignalDatabase.threads.getOrCreateThreadIdFor(recipient)
|
||||
@@ -751,7 +751,7 @@ object SyncMessageProcessor {
|
||||
)
|
||||
|
||||
if (recipient.expiresInSeconds != sent.message.expireTimer) {
|
||||
handleSynchronizeSentExpirationUpdate(sent)
|
||||
handleSynchronizeSentExpirationUpdate(sent, sideEffect = true)
|
||||
}
|
||||
|
||||
val threadId = SignalDatabase.threads.getOrCreateThreadIdFor(recipient)
|
||||
@@ -808,7 +808,7 @@ object SyncMessageProcessor {
|
||||
val bodyRanges = sent.message.bodyRangesList.filterNot { it.hasMentionUuid() }.toBodyRangeList()
|
||||
|
||||
if (recipient.expiresInSeconds != sent.message.expireTimer) {
|
||||
handleSynchronizeSentExpirationUpdate(sent)
|
||||
handleSynchronizeSentExpirationUpdate(sent, sideEffect = true)
|
||||
}
|
||||
|
||||
val threadId = SignalDatabase.threads.getOrCreateThreadIdFor(recipient)
|
||||
|
||||
Reference in New Issue
Block a user