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 /*