From 583f7db55455dc1cb54b32cef5c714076abd09b7 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Thu, 23 Feb 2023 09:05:27 -0500 Subject: [PATCH] Clear old group rings on startup. --- .../java/org/thoughtcrime/securesms/ApplicationContext.java | 1 + .../org/thoughtcrime/securesms/database/GroupCallRingTable.kt | 4 ++++ .../java/org/thoughtcrime/securesms/database/ThreadTable.kt | 2 ++ 3 files changed, 7 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java index d040b0dd0a..95e419ee4c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java +++ b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java @@ -211,6 +211,7 @@ public class ApplicationContext extends MultiDexApplication implements AppForegr .addPostRender(StoryOnboardingDownloadJob.Companion::enqueueIfNeeded) .addPostRender(PnpInitializeDevicesJob::enqueueIfNecessary) .addPostRender(() -> ApplicationDependencies.getExoPlayerPool().getPoolStats().getMaxUnreserved()) + .addPostRender(() -> SignalDatabase.groupCallRings().removeOldRings()) .execute(); Log.d(TAG, "onCreate() took " + (System.currentTimeMillis() - startTime) + " ms"); diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/GroupCallRingTable.kt b/app/src/main/java/org/thoughtcrime/securesms/database/GroupCallRingTable.kt index 58747a7fe6..ada2c67b7e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/GroupCallRingTable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/GroupCallRingTable.kt @@ -79,6 +79,10 @@ class GroupCallRingTable(context: Context, databaseHelper: SignalDatabase) : Dat db.delete(TABLE_NAME, "$DATE_RECEIVED < ?", SqlUtil.buildArgs(System.currentTimeMillis() - VALID_RING_DURATION)) } + + fun deleteAll() { + databaseHelper.signalWritableDatabase.delete(TABLE_NAME, null, null) + } } private fun CallManager.RingUpdate.toCode(): Int { diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/ThreadTable.kt b/app/src/main/java/org/thoughtcrime/securesms/database/ThreadTable.kt index d4b03ecb11..0137b2c6fb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/ThreadTable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/ThreadTable.kt @@ -31,6 +31,7 @@ import org.thoughtcrime.securesms.conversationlist.model.ConversationFilter import org.thoughtcrime.securesms.database.MessageTable.MarkedMessageInfo import org.thoughtcrime.securesms.database.SignalDatabase.Companion.attachments import org.thoughtcrime.securesms.database.SignalDatabase.Companion.drafts +import org.thoughtcrime.securesms.database.SignalDatabase.Companion.groupCallRings import org.thoughtcrime.securesms.database.SignalDatabase.Companion.groupReceipts import org.thoughtcrime.securesms.database.SignalDatabase.Companion.mentions import org.thoughtcrime.securesms.database.SignalDatabase.Companion.messageLog @@ -1077,6 +1078,7 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa messageLog.deleteAll() messages.deleteAllThreads() drafts.clearAllDrafts() + groupCallRings.deleteAll() db.delete(TABLE_NAME, null, null) }