diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 5bd7366bd..3551088b3 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -19,9 +19,6 @@
-
-
-
diff --git a/res/values/non_localizable_strings.xml b/res/values/non_localizable_strings.xml
index c427191b4..addb17547 100644
--- a/res/values/non_localizable_strings.xml
+++ b/res/values/non_localizable_strings.xml
@@ -47,7 +47,6 @@
first_launch_suceeded_once_key
pref_wifi_only_key
- pref_use_bluetooth_if_available_key
pref_video_use_front_camera_key
pref_video_codec_h263_key
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 736abc9d5..328882306 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -237,8 +237,6 @@
SIP Accounts
Use wifi only
- Use bluetooth headset
- Route incoming audio to bluetooth headset if available.
An error occurred, try again later.
Server unreachable, verify your internet connection.
diff --git a/res/xml-v14/preferences.xml b/res/xml-v14/preferences.xml
index 1c34388fb..beb8bb201 100644
--- a/res/xml-v14/preferences.xml
+++ b/res/xml-v14/preferences.xml
@@ -58,14 +58,6 @@
-
-
-
-
@@ -146,7 +142,7 @@
android:title="@string/pref_escape_plus">
+ android:title="@string/pref_debug" android:defaultValue="false">
diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java
index f24e9cdc2..9c4059f26 100644
--- a/src/org/linphone/LinphoneManager.java
+++ b/src/org/linphone/LinphoneManager.java
@@ -49,7 +49,6 @@ import java.util.TimerTask;
import org.linphone.LinphoneSimpleListener.LinphoneOnAudioChangedListener;
import org.linphone.LinphoneSimpleListener.LinphoneOnAudioChangedListener.AudioState;
import org.linphone.LinphoneSimpleListener.LinphoneServiceListener;
-import org.linphone.compatibility.Compatibility;
import org.linphone.core.CallDirection;
import org.linphone.core.LinphoneAddress;
import org.linphone.core.LinphoneAuthInfo;
@@ -196,37 +195,33 @@ public final class LinphoneManager implements LinphoneCoreListener {
private BroadcastReceiver mKeepAliveReceiver = new KeepAliveReceiver();
private native void hackSpeakerState(boolean speakerOn);
- private static void sRouteAudioToSpeakerOrBluetoothHelper(boolean speakerOn) {
- getInstance().routeAudioToSpeakerOrBluetoothHelper(speakerOn);
+ private static void sRouteAudioToSpeakerHelperHelper(boolean speakerOn) {
+ getInstance().routeAudioToSpeakerHelperHelper(speakerOn);
}
@SuppressWarnings("deprecation")
- private void routeAudioToSpeakerOrBluetoothHelper(boolean speakerOn) {
+ private void routeAudioToSpeakerHelperHelper(boolean speakerOn) {
boolean different = isSpeakerOn() ^ speakerOn;
if (!different) {
Log.d("Skipping change audio route by the same route ",
speakerOn ? "speaker" : "earpiece");
return;
}
- if (mPref.getBoolean(getString(R.string.pref_use_bluetooth_if_available), true) && Compatibility.enableBluetoothHeadset(mAudioManager)) {
- return;
+ if (Hacks.needGalaxySAudioHack() || sLPref.useGalaxySHack())
+ setAudioModeIncallForGalaxyS();
+
+ if (sLPref.useSpecificAudioModeHack() != -1)
+ mAudioManager.setMode(sLPref.useSpecificAudioModeHack());
+
+ if (Hacks.needRoutingAPI() || sLPref.useAudioRoutingAPIHack()) {
+ mAudioManager.setRouting(
+ MODE_NORMAL,
+ speakerOn? ROUTE_SPEAKER : ROUTE_EARPIECE,
+ AudioManager.ROUTE_ALL);
} else {
- if (Hacks.needGalaxySAudioHack() || sLPref.useGalaxySHack())
- setAudioModeIncallForGalaxyS();
-
- if (sLPref.useSpecificAudioModeHack() != -1)
- mAudioManager.setMode(sLPref.useSpecificAudioModeHack());
-
- if (Hacks.needRoutingAPI() || sLPref.useAudioRoutingAPIHack()) {
- mAudioManager.setRouting(
- MODE_NORMAL,
- speakerOn? ROUTE_SPEAKER : ROUTE_EARPIECE,
- AudioManager.ROUTE_ALL);
- } else {
- mAudioManager.setSpeakerphoneOn(speakerOn);
- }
- for (LinphoneOnAudioChangedListener listener : getSimpleListeners(LinphoneOnAudioChangedListener.class)) {
- listener.onAudioStateChanged(speakerOn ? AudioState.SPEAKER : AudioState.EARPIECE);
- }
+ mAudioManager.setSpeakerphoneOn(speakerOn);
+ }
+ for (LinphoneOnAudioChangedListener listener : getSimpleListeners(LinphoneOnAudioChangedListener.class)) {
+ listener.onAudioStateChanged(speakerOn ? AudioState.SPEAKER : AudioState.EARPIECE);
}
}
private synchronized void routeAudioToSpeakerHelper(boolean speakerOn) {
@@ -235,7 +230,7 @@ public final class LinphoneManager implements LinphoneCoreListener {
Log.d("Hack to have speaker=",speakerOn," while on call");
hackSpeakerState(speakerOn);
} else {
- routeAudioToSpeakerOrBluetoothHelper(speakerOn);
+ routeAudioToSpeakerHelperHelper(speakerOn);
}
}
@@ -642,7 +637,7 @@ public final class LinphoneManager implements LinphoneCoreListener {
public void initFromConf() throws LinphoneConfigException {
-
+ LinphoneCoreFactory.instance().setDebugMode(getPrefBoolean(R.string.pref_debug_key,true));
initFromConfTunnel();
if (initialTransports == null)
diff --git a/src/org/linphone/PreferencesActivity.java b/src/org/linphone/PreferencesActivity.java
index ea0561093..c37b75159 100644
--- a/src/org/linphone/PreferencesActivity.java
+++ b/src/org/linphone/PreferencesActivity.java
@@ -28,7 +28,6 @@ import static org.linphone.R.string.pref_echo_cancellation_key;
import static org.linphone.R.string.pref_echo_canceller_calibration_key;
import static org.linphone.R.string.pref_echo_limiter_key;
import static org.linphone.R.string.pref_media_encryption_key;
-import static org.linphone.R.string.pref_use_bluetooth_if_available_key;
import static org.linphone.R.string.pref_video_enable_key;
import java.util.ArrayList;
@@ -259,10 +258,6 @@ public class PreferencesActivity extends LinphonePreferencesActivity implements
//findPreference(pref_codec_speex32_key)).setEnabled(enableIlbc);
}
findPreference(pref_echo_limiter_key).setEnabled(true);
-
- if (!Version.sdkAboveOrEqual(8)) {
- uncheckAndDisableCheckbox(pref_use_bluetooth_if_available_key);
- }
initializeMediaEncryptionPreferences();
diff --git a/src/org/linphone/compatibility/ApiEightPlus.java b/src/org/linphone/compatibility/ApiEightPlus.java
index ae460e11d..b5c5df28b 100644
--- a/src/org/linphone/compatibility/ApiEightPlus.java
+++ b/src/org/linphone/compatibility/ApiEightPlus.java
@@ -1,7 +1,6 @@
package org.linphone.compatibility;
import android.annotation.TargetApi;
-import android.media.AudioManager;
import android.view.Display;
/*
@@ -31,14 +30,4 @@ public class ApiEightPlus {
public static int getRotation(Display display) {
return display.getRotation();
}
-
- public static boolean enableBluetoothHeadset(AudioManager mAudioManager) {
- if (mAudioManager.isBluetoothScoAvailableOffCall()){
- mAudioManager.setBluetoothScoOn(true);
- mAudioManager.setMode(AudioManager.MODE_IN_CALL);
- mAudioManager.startBluetoothSco();
- return true;
- }
- return false;
- }
}
diff --git a/src/org/linphone/compatibility/Compatibility.java b/src/org/linphone/compatibility/Compatibility.java
index 55e2af8ca..f6a61efbe 100644
--- a/src/org/linphone/compatibility/Compatibility.java
+++ b/src/org/linphone/compatibility/Compatibility.java
@@ -36,6 +36,7 @@ import android.media.AudioManager;
import android.net.Uri;
import android.preference.Preference;
import android.view.Display;
+import android.view.Window;
/**
* @author Sylvain Berfini
*/
@@ -180,12 +181,6 @@ public class Compatibility {
return null;
}
- public static boolean enableBluetoothHeadset(AudioManager mAudioManager) {
- if (Version.sdkAboveOrEqual(8)) {
- return ApiEightPlus.enableBluetoothHeadset(mAudioManager);
- }
- return false;
- }
public static void setPreferenceChecked(Preference preference, boolean checked) {
if (Version.sdkAboveOrEqual(14)) {
diff --git a/submodules/linphone b/submodules/linphone
index e1c3d22d2..dc5b821d2 160000
--- a/submodules/linphone
+++ b/submodules/linphone
@@ -1 +1 @@
-Subproject commit e1c3d22d293f41702dc1e26aaa366a3e607c10a9
+Subproject commit dc5b821d22ae39eda6a5c448a3f9e35e8b81f008