mirror of
https://github.com/oxen-io/session-android.git
synced 2025-02-17 14:58:26 +00:00
Simplify MarkReadReceiver
This commit is contained in:
parent
730851d3d5
commit
c7ffa61c55
@ -52,6 +52,8 @@ class MarkReadReceiver : BroadcastReceiver() {
|
|||||||
const val THREAD_IDS_EXTRA = "thread_ids"
|
const val THREAD_IDS_EXTRA = "thread_ids"
|
||||||
const val NOTIFICATION_ID_EXTRA = "notification_id"
|
const val NOTIFICATION_ID_EXTRA = "notification_id"
|
||||||
|
|
||||||
|
val messageExpirationManager = SSKEnvironment.shared.messageExpirationManager
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun process(
|
fun process(
|
||||||
context: Context,
|
context: Context,
|
||||||
@ -63,18 +65,14 @@ class MarkReadReceiver : BroadcastReceiver() {
|
|||||||
|
|
||||||
sendReadReceipts(context, markedReadMessages)
|
sendReadReceipts(context, markedReadMessages)
|
||||||
|
|
||||||
|
val mmsSmsDatabase = DatabaseComponent.get(context).mmsSmsDatabase()
|
||||||
|
|
||||||
|
// start disappear after read messages except TimerUpdates in groups.
|
||||||
markedReadMessages
|
markedReadMessages
|
||||||
.filter { it.expiryType == ExpiryType.AFTER_READ }
|
.filter { it.expiryType == ExpiryType.AFTER_READ }
|
||||||
.forEach { info ->
|
.map { it.syncMessageId }
|
||||||
DatabaseComponent.get(context).mmsSmsDatabase().getMessageForTimestamp(info.syncMessageId.timetamp)
|
.filter { mmsSmsDatabase.getMessageForTimestamp(it.timetamp)?.run { isExpirationTimerUpdate && recipient.isClosedGroupRecipient } == false }
|
||||||
?.takeUnless { it.isExpirationTimerUpdate && it.recipient.isClosedGroupRecipient }
|
.forEach { messageExpirationManager.startDisappearAfterRead(it.timetamp, it.address.serialize()) }
|
||||||
?.run {
|
|
||||||
SSKEnvironment.shared.messageExpirationManager.startDisappearAfterRead(
|
|
||||||
info.syncMessageId.timetamp,
|
|
||||||
info.syncMessageId.address.serialize()
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
hashToDisappearAfterReadMessage(context, markedReadMessages)?.let {
|
hashToDisappearAfterReadMessage(context, markedReadMessages)?.let {
|
||||||
fetchUpdatedExpiriesAndScheduleDeletion(context, it)
|
fetchUpdatedExpiriesAndScheduleDeletion(context, it)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user