From 65996bca19a1e4368ac58dfb53bed61a407dd3c3 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Thu, 17 Oct 2024 11:18:21 -0400 Subject: [PATCH] Only notify call observer if read status changed. --- .../org/thoughtcrime/securesms/database/CallTable.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/CallTable.kt b/app/src/main/java/org/thoughtcrime/securesms/database/CallTable.kt index 6d34679eeb..13080ea176 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/CallTable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/CallTable.kt @@ -112,12 +112,15 @@ class CallTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTabl } fun markAllCallEventsRead(timestamp: Long = Long.MAX_VALUE) { - writableDatabase.update(TABLE_NAME) + val updateCount = writableDatabase + .update(TABLE_NAME) .values(READ to ReadState.serialize(ReadState.READ)) - .where("$TIMESTAMP <= ?", timestamp) + .where("$TIMESTAMP <= ? AND $READ != ?", timestamp, ReadState.serialize(ReadState.READ)) .run() - notifyConversationListListeners() + if (updateCount > 0) { + notifyConversationListListeners() + } } fun markAllCallEventsWithPeerBeforeTimestampRead(peer: RecipientId, timestamp: Long): Call? {