From f3ad232c1f400b55e2d8c7dcc30316906ba19512 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 3 Nov 2022 11:54:54 +0100 Subject: [PATCH] Prevent crash when removing service task if Core isn't alive --- .../java/org/linphone/core/CoreService.kt | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/org/linphone/core/CoreService.kt b/app/src/main/java/org/linphone/core/CoreService.kt index 7434655d9..c3b35cf11 100644 --- a/app/src/main/java/org/linphone/core/CoreService.kt +++ b/app/src/main/java/org/linphone/core/CoreService.kt @@ -70,17 +70,19 @@ class CoreService : CoreService() { } override fun onTaskRemoved(rootIntent: Intent?) { - if (coreContext.core.callsNb > 0) { - Log.w("[Service] Task removed but there is at least one active call, do not stop the Core!") - } else if (!corePreferences.keepServiceAlive) { - if (coreContext.core.isInBackground) { - Log.i("[Service] Task removed, stopping Core") - coreContext.stop() + if (LinphoneApplication.contextExists()) { + if (coreContext.core.callsNb > 0) { + Log.w("[Service] Task removed but there is at least one active call, do not stop the Core!") + } else if (!corePreferences.keepServiceAlive) { + if (coreContext.core.isInBackground) { + Log.i("[Service] Task removed, stopping Core") + coreContext.stop() + } else { + Log.w("[Service] Task removed but Core is not in background, skipping") + } } else { - Log.w("[Service] Task removed but Core is not in background, skipping") + Log.i("[Service] Task removed but we were asked to keep the service alive, so doing nothing") } - } else { - Log.i("[Service] Task removed but we were asked to keep the service alive, so doing nothing") } super.onTaskRemoved(rootIntent)