mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-05-12 16:55:02 -04:00
fix(auto): refresh group summary when a conversation is cancelled
After clearing a message notification we left the GROUP_KEY_MESSAGES summary in place, which on Android Auto leaves a lingering HUN / summary entry for the already-dismissed conversation. Cancel the summary when no child notifications remain, and refresh it otherwise. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -507,7 +507,20 @@ class MeshServiceNotificationsImpl(
|
||||
notificationManager.notify(clientNotification.toString().hashCode(), notification)
|
||||
}
|
||||
|
||||
override fun cancelMessageNotification(contactKey: String) = notificationManager.cancel(contactKey.hashCode())
|
||||
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()
|
||||
}
|
||||
}
|
||||
|
||||
override fun cancelLowBatteryNotification(node: Node) = notificationManager.cancel(node.num)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user