From a41856319c8e63eb0e33cc6c8dff077cca224f74 Mon Sep 17 00:00:00 2001 From: James Rich <2199651+jamesarich@users.noreply.github.com> Date: Sat, 17 Jan 2026 19:54:13 -0600 Subject: [PATCH] refactor: Use device address to manage service lifecycle (#4251) Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com> --- .../main/java/com/geeksville/mesh/service/MeshService.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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 2ec8040fd..4c9a9b030 100644 --- a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt +++ b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt @@ -134,7 +134,7 @@ class MeshService : Service() { } override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { - val a = radioInterfaceService.getBondedDeviceAddress() + val a = radioInterfaceService.getDeviceAddress() val wantForeground = a != null && a != NO_DEVICE_SELECTED val notification = connectionManager.updateStatusNotification() @@ -159,6 +159,7 @@ class MeshService : Service() { return START_NOT_STICKY } return if (!wantForeground) { + Logger.i { "Stopping mesh service because no device is selected" } ServiceCompat.stopForeground(this, ServiceCompat.STOP_FOREGROUND_REMOVE) stopSelf() START_NOT_STICKY @@ -167,6 +168,11 @@ class MeshService : Service() { } } + override fun onTaskRemoved(rootIntent: Intent?) { + super.onTaskRemoved(rootIntent) + Logger.i { "Mesh service: onTaskRemoved" } + } + override fun onBind(intent: Intent?): IBinder = binder override fun onDestroy() {