From a9bdc1abfcb7f51c0f7392b543e94d4d0086a141 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Fri, 13 May 2022 09:12:02 -0400 Subject: [PATCH] Only stop the FCM foreground service if it was used. --- .../org/thoughtcrime/securesms/gcm/FcmFetchManager.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/gcm/FcmFetchManager.kt b/app/src/main/java/org/thoughtcrime/securesms/gcm/FcmFetchManager.kt index 3abc49b560..d8b0a2b947 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/gcm/FcmFetchManager.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/gcm/FcmFetchManager.kt @@ -36,12 +36,16 @@ object FcmFetchManager { @Volatile private var activeCount = 0 + @Volatile + private var startedForeground = false + @JvmStatic fun enqueue(context: Context, foreground: Boolean) { synchronized(this) { if (foreground) { Log.i(TAG, "Starting in the foreground.") ContextCompat.startForegroundService(context, Intent(context, FcmFetchForegroundService::class.java)) + startedForeground = true } else { Log.i(TAG, "Starting in the background.") context.startService(Intent(context, FcmFetchBackgroundService::class.java)) @@ -67,7 +71,11 @@ object FcmFetchManager { if (activeCount <= 0) { Log.i(TAG, "No more active. Stopping.") context.stopService(Intent(context, FcmFetchBackgroundService::class.java)) - context.startService(FcmFetchForegroundService.buildStopIntent(context)) + + if (startedForeground) { + context.startService(FcmFetchForegroundService.buildStopIntent(context)) + startedForeground = false + } } } }