From 7e6bf21e2d4de83eed0bcb64ae220d3686817138 Mon Sep 17 00:00:00 2001 From: James Rich <2199651+jamesarich@users.noreply.github.com> Date: Sat, 28 Jun 2025 14:50:05 +0000 Subject: [PATCH] fix: Clear notifications on device switch (#2281) Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com> --- app/src/main/java/com/geeksville/mesh/service/MeshService.kt | 5 +++++ .../com/geeksville/mesh/service/MeshServiceNotifications.kt | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt index 4ddb1845a..46dd2d7a9 100644 --- a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt +++ b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt @@ -2040,9 +2040,14 @@ class MeshService : Service(), Logging { putString("device_address", deviceAddr) } clearDatabases() + clearNotifications() } } } + + private fun clearNotifications() { + serviceNotifications.clearNotifications() + } private val binder = object : IMeshService.Stub() { override fun setDeviceAddress(deviceAddr: String?) = toRemoteExceptions { diff --git a/app/src/main/java/com/geeksville/mesh/service/MeshServiceNotifications.kt b/app/src/main/java/com/geeksville/mesh/service/MeshServiceNotifications.kt index 862d0b764..cb68687e1 100644 --- a/app/src/main/java/com/geeksville/mesh/service/MeshServiceNotifications.kt +++ b/app/src/main/java/com/geeksville/mesh/service/MeshServiceNotifications.kt @@ -61,6 +61,10 @@ class MeshServiceNotifications( // We have two notification channels: one for general service status and another one for messages val notifyId = 101 + fun clearNotifications() { + notificationManager.cancelAll() + } + fun initChannels() { // create notification channels on service creation if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {