diff --git a/res/layout-land/dialer.xml b/res/layout-land/dialer.xml index 2583a3c76..cc395e052 100644 --- a/res/layout-land/dialer.xml +++ b/res/layout-land/dialer.xml @@ -25,13 +25,13 @@ android:layout_width="fill_parent"> diff --git a/res/layout/dialer.xml b/res/layout/dialer.xml index 2ac78e7b4..0943935bd 100644 --- a/res/layout/dialer.xml +++ b/res/layout/dialer.xml @@ -26,11 +26,11 @@ > diff --git a/src/org/linphone/DialerActivity.java b/src/org/linphone/DialerActivity.java index 4603263ef..82dc1ed23 100644 --- a/src/org/linphone/DialerActivity.java +++ b/src/org/linphone/DialerActivity.java @@ -249,17 +249,14 @@ public class DialerActivity extends Activity implements LinphoneCoreListener { mInCallControlRow.setVisibility(View.VISIBLE); mAddressLayout.setVisibility(View.GONE); mInCallAddressLayout.setVisibility(View.VISIBLE); - mMute.setChecked(!lLinphoneCore.isMicMuted()); + String DisplayName = lLinphoneCore.getRemoteAddress().getDisplayName(); if (DisplayName!=null) { mDisplayNameView.setText(DisplayName); } else { mDisplayNameView.setText(lLinphoneCore.getRemoteAddress().getUserName()); } - if ((Integer.parseInt(Build.VERSION.SDK) <=4 && mAudioManager.getMode() == AudioManager.MODE_NORMAL) - || Integer.parseInt(Build.VERSION.SDK) >4 &&mAudioManager.isSpeakerphoneOn()) { - mSpeaker.setChecked(true); - } + configureMuteButtons(); mWakeLock.acquire(); } } @@ -271,9 +268,9 @@ public class DialerActivity extends Activity implements LinphoneCoreListener { public void onCheckedChanged(ToggleImageButton button, boolean isChecked) { LinphoneCore lc = LinphoneService.instance().getLinphoneCore(); if (isChecked) { - lc.muteMic(false); - } else { lc.muteMic(true); + } else { + lc.muteMic(false); } } }); @@ -497,6 +494,8 @@ public class DialerActivity extends Activity implements LinphoneCoreListener { mDisplayNameView.setText(lc.getRemoteAddress().toString()); } } + configureMuteButtons(); + if (mSpeaker.isChecked()) { routeAudioToSpeaker(); } else { @@ -504,6 +503,15 @@ public class DialerActivity extends Activity implements LinphoneCoreListener { } setVolumeControlStream(AudioManager.STREAM_VOICE_CALL); } + private void configureMuteButtons() { + mMute.setChecked(LinphoneService.instance().getLinphoneCore().isMicMuted()); + if ((Integer.parseInt(Build.VERSION.SDK) <=4 && mAudioManager.getMode() == AudioManager.MODE_NORMAL) + || Integer.parseInt(Build.VERSION.SDK) >4 &&mAudioManager.isSpeakerphoneOn()) { + mSpeaker.setChecked(true); + } else { + mSpeaker.setChecked(false); + } + } private void exitCallMode() { mCallControlRow.setVisibility(View.VISIBLE); mInCallControlRow.setVisibility(View.GONE); @@ -512,13 +520,13 @@ public class DialerActivity extends Activity implements LinphoneCoreListener { mCall.setEnabled(true); mHangup.setEnabled(false); setVolumeControlStream(AudioManager.USE_DEFAULT_STREAM_TYPE); - mMute.setChecked(true); - mSpeaker.setChecked(false); mDecline.setEnabled(false); if (LinphoneService.instance().getLinphoneCore().isVideoEnabled()) { finishActivity(VIDEO_VIEW_ACTIVITY); } if (mWakeLock.isHeld())mWakeLock.release(); + mSpeaker.setChecked(false); + routeAudioToReceiver(); } private void routeAudioToSpeaker() { if (Integer.parseInt(Build.VERSION.SDK) <= 4 /*