mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
fix(auto): always cancel group summary when dismissing a conversation
Reading notificationManager.activeNotifications immediately after cancel() races with NotificationManagerService, so the count of remaining children was unreliable and the summary could linger. Drop it unconditionally — the next inbound message rebuilds it via showGroupSummary(). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
parent
fb606db067
commit
9c75f5a3f4
1 changed files with 4 additions and 11 deletions
|
|
@ -509,17 +509,10 @@ class MeshServiceNotificationsImpl(
|
|||
|
||||
override fun cancelMessageNotification(contactKey: String) {
|
||||
notificationManager.cancel(contactKey.hashCode())
|
||||
// Refresh (or remove) the group summary so the notification shade / Auto HUN doesn't
|
||||
// continue surfacing a stale summary after the last child is dismissed.
|
||||
val remainingChildren =
|
||||
notificationManager.activeNotifications.count { sbn ->
|
||||
sbn.id != SUMMARY_ID && sbn.notification.group == GROUP_KEY_MESSAGES
|
||||
}
|
||||
if (remainingChildren == 0) {
|
||||
notificationManager.cancel(SUMMARY_ID)
|
||||
} else {
|
||||
showGroupSummary()
|
||||
}
|
||||
// Always drop the group summary — reading notificationManager.activeNotifications right
|
||||
// after cancel() races with NotificationManagerService, so we can't reliably count what's
|
||||
// left. The next incoming message re-builds the summary via showGroupSummary().
|
||||
notificationManager.cancel(SUMMARY_ID)
|
||||
}
|
||||
|
||||
override fun cancelLowBatteryNotification(node: Node) = notificationManager.cancel(node.num)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue