From e84b43ab06b90087f1314596e135f37958c8da39 Mon Sep 17 00:00:00 2001 From: Michelle Tang Date: Wed, 9 Sep 2026 15:52:15 -0400 Subject: [PATCH] Remove notification channel upon group deletion. --- .../securesms/database/RecipientTable.kt | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientTable.kt b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientTable.kt index 0412fcc89e..702df76172 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientTable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientTable.kt @@ -4614,6 +4614,19 @@ open class RecipientTable(context: Context, databaseHelper: SignalDatabase) : Da * Blanks out every column for a group's recipient row except [ID], [GROUP_ID], [TYPE], [BLOCKED], [BLOCKED_AT], and [STORAGE_SERVICE_ID]. */ fun clearGroupRecipient(recipientId: RecipientId, keepIdentifier: Boolean): Boolean { + readableDatabase + .select(NOTIFICATION_CHANNEL) + .from(TABLE_NAME) + .where("$ID = ? AND $NOTIFICATION_CHANNEL IS NOT NULL", recipientId) + .run() + .use { cursor -> + if (cursor.moveToFirst()) { + NotificationChannels.getInstance().deleteChannel(cursor.requireString(NOTIFICATION_CHANNEL)) + } else { + null + } + } + val cleared = if (keepIdentifier) { writableDatabase .update(TABLE_NAME)