From 0c875fc4e998b0ede7843668808c5e0f2c8403b5 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 25 Jun 2019 13:13:58 +0200 Subject: [PATCH] Fixed phone state listener not started causing app to ring while GSM call in progress --- .../main/java/org/linphone/LinphoneManager.java | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/org/linphone/LinphoneManager.java b/app/src/main/java/org/linphone/LinphoneManager.java index 3b609482f..cc545dc5d 100644 --- a/app/src/main/java/org/linphone/LinphoneManager.java +++ b/app/src/main/java/org/linphone/LinphoneManager.java @@ -146,6 +146,10 @@ public class LinphoneManager implements SensorEventListener { } } }; + + Log.i("[Manager] Registering phone state listener"); + mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE); + mHasLastCallSasBeenRejected = false; mCallManager = new CallManager(c); @@ -233,10 +237,6 @@ public class LinphoneManager implements SensorEventListener { if (mCore.getCallsNb() == 0) { // Disabling proximity sensor enableProximitySensing(false); - - Log.i("[Manager] Unregistering phone state listener"); - mTelephonyManager.listen( - mPhoneStateListener, PhoneStateListener.LISTEN_NONE); } } else if (state == State.UpdatedByRemote) { // If the correspondent proposes video while audio call @@ -251,12 +251,6 @@ public class LinphoneManager implements SensorEventListener { && mCore.getConference() == null) { call.deferUpdate(); } - } else if (state == State.Connected) { - if (core.getCallsNb() == 1) { - Log.i("[Manager] Registering phone state listener"); - mTelephonyManager.listen( - mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE); - } } } @@ -421,6 +415,9 @@ public class LinphoneManager implements SensorEventListener { Log.w("[Manager] Destroying Manager"); changeStatusToOffline(); + Log.i("[Manager] Unregistering phone state listener"); + mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE); + mCallManager.destroy(); mMediaScanner.destroy(); mAudioManager.destroy();