From 4226dd6d5c3411de7a163c710c5ae5d39a380cfe Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 10 Feb 2022 10:08:11 +0100 Subject: [PATCH] Fixed quit button not killing app when background mode is enabled --- .../main/sidemenu/fragments/SideMenuFragment.kt | 10 +++------- .../org/linphone/notifications/NotificationsManager.kt | 2 +- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/org/linphone/activities/main/sidemenu/fragments/SideMenuFragment.kt b/app/src/main/java/org/linphone/activities/main/sidemenu/fragments/SideMenuFragment.kt index 3251193a1..346d6d3d7 100644 --- a/app/src/main/java/org/linphone/activities/main/sidemenu/fragments/SideMenuFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/sidemenu/fragments/SideMenuFragment.kt @@ -31,7 +31,6 @@ import androidx.lifecycle.lifecycleScope import java.io.File import kotlinx.coroutines.launch import org.linphone.LinphoneApplication.Companion.coreContext -import org.linphone.LinphoneApplication.Companion.corePreferences import org.linphone.R import org.linphone.activities.GenericFragment import org.linphone.activities.assistant.AssistantActivity @@ -113,12 +112,9 @@ class SideMenuFragment : GenericFragment() { Log.i("[Side Menu] Quitting app") requireActivity().finishAndRemoveTask() - if (!corePreferences.keepServiceAlive) { - Log.i("[Side Menu] Stopping Core") - coreContext.stop() - } else { - Log.w("[Side Menu] Keep Service alive setting enabled, don't destroy the Core") - } + Log.i("[Side Menu] Stopping Core Context") + coreContext.notificationsManager.stopForegroundNotification() + coreContext.stop() } onBackPressedCallback.isEnabled = false diff --git a/app/src/main/java/org/linphone/notifications/NotificationsManager.kt b/app/src/main/java/org/linphone/notifications/NotificationsManager.kt index 5d462323d..7be2c78b2 100644 --- a/app/src/main/java/org/linphone/notifications/NotificationsManager.kt +++ b/app/src/main/java/org/linphone/notifications/NotificationsManager.kt @@ -342,7 +342,7 @@ class NotificationsManager(private val context: Context) { } } - private fun stopForegroundNotification() { + fun stopForegroundNotification() { if (service != null) { Log.i("[Notifications Manager] Stopping service as foreground [$currentForegroundServiceNotificationId]") service?.stopForeground(true)