From 3da20210bae5af545f5ca382da75dc76ad154839 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 11 May 2012 15:20:04 +0200 Subject: [PATCH] Fix back and incall controls if call is paused --- src/org/linphone/DialerActivity.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/org/linphone/DialerActivity.java b/src/org/linphone/DialerActivity.java index f72396dbe..afec78cbe 100644 --- a/src/org/linphone/DialerActivity.java +++ b/src/org/linphone/DialerActivity.java @@ -516,13 +516,14 @@ public class DialerActivity extends Activity implements LinphoneGuiListener { if (AndroidCameraConfiguration.hasSeveralCameras() && mSwitchCamera != null) mSwitchCamera.setVisibility(View.VISIBLE); - if (mVideoCaptureView != null && mCamera == null && !LinphoneManager.getLc().isIncall()) - { + boolean isInCall = LinphoneManager.getLc().isIncall(); + isInCall = isInCall || LinphoneManager.getLc().getCallsNb() > 0; + + if (mVideoCaptureView != null && mCamera == null && !LinphoneManager.getLc().isIncall()) { mCamera = Camera.open(mCurrentCameraId); mVideoCaptureView.switchCamera(mCamera, mCurrentCameraId); mCamera.startPreview(); - } else if (LinphoneManager.getLc().isIncall()) - { + } else if (isInCall) { if (mInCallControls != null) { mInCallControls.setVisibility(View.VISIBLE); mCall.setVisibility(View.GONE); @@ -537,7 +538,9 @@ public class DialerActivity extends Activity implements LinphoneGuiListener { @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (LinphoneUtils.onKeyVolumeSoftAdjust(keyCode)) return true; - if (keyCode == KeyEvent.KEYCODE_BACK && LinphoneManager.getLc().isIncall()) { + boolean isInCall = LinphoneManager.getLc().isIncall(); + isInCall = isInCall || LinphoneManager.getLc().getCallsNb() > 0; + if (keyCode == KeyEvent.KEYCODE_BACK && isInCall) { // If we are in call on dialer, we go back to the incall view LinphoneActivity.instance().startIncallActivity(); return true;