From efcb45d7c7ce5c929c384d7d67f9de65d258f925 Mon Sep 17 00:00:00 2001 From: Pierre-Eric Pelloux-Prayer Date: Thu, 13 Oct 2011 15:08:23 +0200 Subject: [PATCH] Fix ringing stopping, by binding ringing status to call --- src/org/linphone/LinphoneManager.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java index 0fa9acef7..0ee22cace 100644 --- a/src/org/linphone/LinphoneManager.java +++ b/src/org/linphone/LinphoneManager.java @@ -665,7 +665,7 @@ public final class LinphoneManager implements LinphoneCoreListener { } private LinphoneServiceListener serviceListener; - private LinphoneCall.State mCurrentCallState; + private LinphoneCall ringingCall; private MediaPlayer mRingerPlayer; private Vibrator mVibrator; @@ -727,11 +727,11 @@ public final class LinphoneManager implements LinphoneCoreListener { wl.acquire(10000); startRinging(); - } - - if (mCurrentCallState == IncomingReceived) { + ringingCall = call; + } else if (call == ringingCall) { //previous state was ringing, so stop ringing stopRinging(); + ringingCall = null; routeAudioToReceiver(); } @@ -745,7 +745,6 @@ public final class LinphoneManager implements LinphoneCoreListener { } } - mCurrentCallState=state; serviceListener.onCallStateChanged(call, state, message); } @@ -853,6 +852,7 @@ public final class LinphoneManager implements LinphoneCoreListener { public void setAudioModeIncallForGalaxyS() { stopRinging(); mAudioManager.setMode(MODE_IN_CALL); + ringingCall = null; } // Called on first launch only