diff --git a/res/values/non_localizable_custom.xml b/res/values/non_localizable_custom.xml index c8ae1603a..76335ea7e 100644 --- a/res/values/non_localizable_custom.xml +++ b/res/values/non_localizable_custom.xml @@ -71,6 +71,7 @@ false true true + false false diff --git a/src/org/linphone/DialerFragment.java b/src/org/linphone/DialerFragment.java index a40bc3f58..279ee6c61 100644 --- a/src/org/linphone/DialerFragment.java +++ b/src/org/linphone/DialerFragment.java @@ -141,11 +141,6 @@ public class DialerFragment extends Fragment { LinphoneActivity.instance().showStatusBar(); } - // Force speaker for tablets - LinphoneCore lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); - if (lc != null) - lc.enableSpeaker(getResources().getBoolean(R.bool.isTablet)); - if (shouldEmptyAddressField) { mAddress.setText(""); } else { diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java index 7cca6416a..242ede6ca 100644 --- a/src/org/linphone/LinphoneManager.java +++ b/src/org/linphone/LinphoneManager.java @@ -199,12 +199,7 @@ public class LinphoneManager implements LinphoneCoreListener { Log.w("Routing audio to " + (speakerOn ? "speaker" : "earpiece") + ", disabling bluetooth audio route"); BluetoothManager.getInstance().disableBluetoothSCO(); - if (!speakerOn) { - mLc.enableSpeaker(false); - } else { - mLc.enableSpeaker(true); - } - + mLc.enableSpeaker(speakerOn); audioStateChanged(speakerOn ? AudioState.SPEAKER : AudioState.EARPIECE); } @@ -528,7 +523,11 @@ public class LinphoneManager implements LinphoneCoreListener { Log.e(e, "cannot get version name"); } - mLc.setRing(null); + if (mR.getBoolean(R.bool.use_linphonecore_ringing)) { + disableRinging(); + } else { + mLc.setRing(null); + } mLc.setRootCA(mLinphoneRootCaFile); mLc.setPlayFile(mPauseSoundFile); mLc.setChatDatabasePath(mChatDatabaseFile); @@ -996,6 +995,7 @@ public class LinphoneManager implements LinphoneCoreListener { private synchronized void startRinging() { if (disableRinging) { + routeAudioToSpeaker(); return; }