From 5f603cd57ad215d0186cda3fab9cb4bd39729032 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Wed, 18 Jun 2025 11:20:08 -0400 Subject: [PATCH] Improve message notification determination. --- .../securesms/notifications/NotificationIds.java | 6 ++++++ .../securesms/notifications/v2/DefaultMessageNotifier.kt | 8 +------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/NotificationIds.java b/app/src/main/java/org/thoughtcrime/securesms/notifications/NotificationIds.java index 16992d7453..181e5436ea 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/NotificationIds.java +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/NotificationIds.java @@ -19,6 +19,7 @@ public final class NotificationIds { public static final int MAY_HAVE_MESSAGES_NOTIFICATION_ID = 31365; public static final int PRE_REGISTRATION_SMS = 5050; public static final int THREAD = 50000; + public static final int MAX_THREAD = THREAD + 100_000; public static final int INTERNAL_ERROR = 258069; public static final int LEGACY_SQLCIPHER_MIGRATION = 494949; public static final int USER_NOTIFICATION_MIGRATION = 525600; @@ -28,6 +29,7 @@ public final class NotificationIds { public static final int SMS_EXPORT_SERVICE = 630003; public static final int SMS_EXPORT_COMPLETE = 630004; public static final int STORY_THREAD = 700000; + public static final int MAX_STORY_THREAD = STORY_THREAD + 100_000; public static final int MESSAGE_DELIVERY_FAILURE = 800000; public static final int STORY_MESSAGE_DELIVERY_FAILURE = 900000; public static final int UNREGISTERED_NOTIFICATION_ID = 20230102; @@ -51,4 +53,8 @@ public final class NotificationIds { return MESSAGE_DELIVERY_FAILURE + (int) conversationId.getThreadId(); } } + + public static boolean isMessageNotificationId(int id) { + return (id >= THREAD && id < (MAX_THREAD)) || (id >= STORY_THREAD && id < MAX_STORY_THREAD); + } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/v2/DefaultMessageNotifier.kt b/app/src/main/java/org/thoughtcrime/securesms/notifications/v2/DefaultMessageNotifier.kt index 4425c4997d..56474dbca6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/v2/DefaultMessageNotifier.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/v2/DefaultMessageNotifier.kt @@ -17,7 +17,6 @@ import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.database.SignalDatabase import org.thoughtcrime.securesms.dependencies.AppDependencies import org.thoughtcrime.securesms.keyvalue.SignalStore -import org.thoughtcrime.securesms.messages.IncomingMessageObserver import org.thoughtcrime.securesms.notifications.MessageNotifier import org.thoughtcrime.securesms.notifications.MessageNotifier.ReminderReceiver import org.thoughtcrime.securesms.notifications.NotificationCancellationHelper @@ -30,7 +29,6 @@ import org.thoughtcrime.securesms.recipients.Recipient import org.thoughtcrime.securesms.service.KeyCachingService import org.thoughtcrime.securesms.util.BubbleUtil.BubbleState import org.thoughtcrime.securesms.util.ServiceUtil -import org.thoughtcrime.securesms.webrtc.CallNotificationBuilder import org.whispersystems.signalservice.internal.util.Util import java.util.Optional import java.util.concurrent.ConcurrentHashMap @@ -333,11 +331,7 @@ class DefaultMessageNotifier(context: Application) : MessageNotifier { } private fun StatusBarNotification.isMessageNotification(): Boolean { - return id != NotificationIds.MESSAGE_SUMMARY && - id != KeyCachingService.SERVICE_RUNNING_ID && - id != IncomingMessageObserver.FOREGROUND_ID && - id != NotificationIds.PENDING_MESSAGES && - !CallNotificationBuilder.isWebRtcNotification(id) + return NotificationIds.isMessageNotificationId(id) } private fun NotificationManager.getDisplayedNotificationIds(): Result> {