From a3bbd0b5efba40f9f83df1a06a89923e49f7bd9d Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Wed, 2 Aug 2017 12:44:07 +0200 Subject: [PATCH] Fix possible crash in the onTaskRemoved() method of LinphoneService if the LinphoneManager has already been destroyed. --- src/android/org/linphone/LinphoneManager.java | 2 +- src/android/org/linphone/LinphoneService.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/android/org/linphone/LinphoneManager.java b/src/android/org/linphone/LinphoneManager.java index 607c8b1a6..e12b79e92 100644 --- a/src/android/org/linphone/LinphoneManager.java +++ b/src/android/org/linphone/LinphoneManager.java @@ -487,7 +487,7 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag if (sExited) { throw new RuntimeException("Linphone Manager was already destroyed. " - + "Better use getLcIfManagerNotDestroyed and check returned value"); + + "Better use getLcIfManagerNotDestroyedOrNull and check returned value"); } throw new RuntimeException("Linphone Manager should be created before accessed"); diff --git a/src/android/org/linphone/LinphoneService.java b/src/android/org/linphone/LinphoneService.java index 26b221d82..7a853ca44 100644 --- a/src/android/org/linphone/LinphoneService.java +++ b/src/android/org/linphone/LinphoneService.java @@ -801,7 +801,8 @@ public final class LinphoneService extends Service { // If push is enabled, don't unregister account, otherwise do unregister if (LinphonePreferences.instance().isPushNotificationEnabled()) { - LinphoneManager.getLc().setNetworkReachable(false); + LinphoneCore lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); + if (lc != null) lc.setNetworkReachable(false); } stopSelf(); }