From 6153cfdab155e836006160f98354473ac799862f Mon Sep 17 00:00:00 2001 From: James Rich <2199651+jamesarich@users.noreply.github.com> Date: Wed, 4 Jun 2025 14:20:30 -0500 Subject: [PATCH] Refactor: Use FLAG_ACTIVITY_SINGLE_TOP for MainActivity intents (#2022) --- app/src/main/java/com/geeksville/mesh/MainActivity.kt | 11 +++++++---- .../mesh/service/MeshServiceNotifications.kt | 9 +++++++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/geeksville/mesh/MainActivity.kt b/app/src/main/java/com/geeksville/mesh/MainActivity.kt index 7f18811e3..866f81ea3 100644 --- a/app/src/main/java/com/geeksville/mesh/MainActivity.kt +++ b/app/src/main/java/com/geeksville/mesh/MainActivity.kt @@ -224,7 +224,9 @@ class MainActivity : AppCompatActivity(), Logging { val startActivityIntent = Intent( Intent.ACTION_VIEW, deepLink.toUri(), this, MainActivity::class.java - ) + ).apply { + flags = Intent.FLAG_ACTIVITY_SINGLE_TOP + } val resultPendingIntent: PendingIntent? = TaskStackBuilder.create(this).run { addNextIntentWithParentStack(startActivityIntent) @@ -234,11 +236,13 @@ class MainActivity : AppCompatActivity(), Logging { } private fun createSettingsIntent(): PendingIntent { - val deepLink = "$DEEP_LINK_BASE_URI/settings" + val deepLink = "$DEEP_LINK_BASE_URI/connections" val startActivityIntent = Intent( Intent.ACTION_VIEW, deepLink.toUri(), this, MainActivity::class.java - ) + ).apply { + flags = Intent.FLAG_ACTIVITY_SINGLE_TOP + } val resultPendingIntent: PendingIntent? = TaskStackBuilder.create(this).run { addNextIntentWithParentStack(startActivityIntent) @@ -387,7 +391,6 @@ class MainActivity : AppCompatActivity(), Logging { override fun onStart() { super.onStart() - bluetoothViewModel.enabled.observe(this) { enabled -> if (!enabled && !requestedEnable && model.selectedBluetooth) { requestedEnable = true 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 e319b72dd..719bfb7d8 100644 --- a/app/src/main/java/com/geeksville/mesh/service/MeshServiceNotifications.kt +++ b/app/src/main/java/com/geeksville/mesh/service/MeshServiceNotifications.kt @@ -355,7 +355,9 @@ class MeshServiceNotifications( PendingIntent.getActivity( context, 0, - Intent(context, MainActivity::class.java), + Intent(context, MainActivity::class.java).apply { + flags = Intent.FLAG_ACTIVITY_SINGLE_TOP + }, PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT ) } @@ -368,13 +370,16 @@ class MeshServiceNotifications( } private fun createOpenMessageIntent(contactKey: String): PendingIntent { + val intentFlags = Intent.FLAG_ACTIVITY_SINGLE_TOP val deepLink = "$DEEP_LINK_BASE_URI/messages/$contactKey" val deepLinkIntent = Intent( Intent.ACTION_VIEW, deepLink.toUri(), context, MainActivity::class.java - ) + ).apply { + flags = intentFlags + } val deepLinkPendingIntent: PendingIntent = TaskStackBuilder.create(context).run { addNextIntentWithParentStack(deepLinkIntent)