diff --git a/res/drawable-xhdpi/route_bluetooth_off_default.png b/res/drawable-xhdpi/route_bluetooth_off_default.png
deleted file mode 100644
index 01bc1f291..000000000
Binary files a/res/drawable-xhdpi/route_bluetooth_off_default.png and /dev/null differ
diff --git a/res/drawable-xhdpi/route_bluetooth_off_disabled.png b/res/drawable-xhdpi/route_bluetooth_off_disabled.png
deleted file mode 100644
index 3d03f1cba..000000000
Binary files a/res/drawable-xhdpi/route_bluetooth_off_disabled.png and /dev/null differ
diff --git a/res/drawable-xhdpi/route_bluetooth_off_over.png b/res/drawable-xhdpi/route_bluetooth_off_over.png
deleted file mode 100644
index 66112a8d7..000000000
Binary files a/res/drawable-xhdpi/route_bluetooth_off_over.png and /dev/null differ
diff --git a/res/drawable-xhdpi/route_bluetooth_on_default.png b/res/drawable-xhdpi/route_bluetooth_on_default.png
deleted file mode 100644
index fe59fa42a..000000000
Binary files a/res/drawable-xhdpi/route_bluetooth_on_default.png and /dev/null differ
diff --git a/res/drawable-xhdpi/route_phone_off_default.png b/res/drawable-xhdpi/route_phone_off_default.png
deleted file mode 100644
index 4510f0bcb..000000000
Binary files a/res/drawable-xhdpi/route_phone_off_default.png and /dev/null differ
diff --git a/res/drawable-xhdpi/route_phone_off_disabled.png b/res/drawable-xhdpi/route_phone_off_disabled.png
deleted file mode 100644
index 8c9405533..000000000
Binary files a/res/drawable-xhdpi/route_phone_off_disabled.png and /dev/null differ
diff --git a/res/drawable-xhdpi/route_phone_off_over.png b/res/drawable-xhdpi/route_phone_off_over.png
deleted file mode 100644
index bc383167e..000000000
Binary files a/res/drawable-xhdpi/route_phone_off_over.png and /dev/null differ
diff --git a/res/drawable-xhdpi/route_phone_on_default.png b/res/drawable-xhdpi/route_phone_on_default.png
deleted file mode 100644
index 8485d5c0d..000000000
Binary files a/res/drawable-xhdpi/route_phone_on_default.png and /dev/null differ
diff --git a/res/drawable-xhdpi/route_speaker_off_default.png b/res/drawable-xhdpi/route_speaker_off_default.png
deleted file mode 100644
index 908031972..000000000
Binary files a/res/drawable-xhdpi/route_speaker_off_default.png and /dev/null differ
diff --git a/res/drawable-xhdpi/route_speaker_off_disabled.png b/res/drawable-xhdpi/route_speaker_off_disabled.png
deleted file mode 100644
index 8294f5251..000000000
Binary files a/res/drawable-xhdpi/route_speaker_off_disabled.png and /dev/null differ
diff --git a/res/drawable-xhdpi/route_speaker_off_over.png b/res/drawable-xhdpi/route_speaker_off_over.png
deleted file mode 100644
index f6c5ce9f6..000000000
Binary files a/res/drawable-xhdpi/route_speaker_off_over.png and /dev/null differ
diff --git a/res/drawable-xhdpi/route_speaker_on_default.png b/res/drawable-xhdpi/route_speaker_on_default.png
deleted file mode 100644
index 5601ecd8e..000000000
Binary files a/res/drawable-xhdpi/route_speaker_on_default.png and /dev/null differ
diff --git a/res/drawable-xhdpi/routes_bluetooth_off_default.png b/res/drawable-xhdpi/routes_bluetooth_off_default.png
new file mode 100644
index 000000000..fa4c9417e
Binary files /dev/null and b/res/drawable-xhdpi/routes_bluetooth_off_default.png differ
diff --git a/res/drawable-xhdpi/routes_bluetooth_off_disabled.png b/res/drawable-xhdpi/routes_bluetooth_off_disabled.png
new file mode 100644
index 000000000..67dedd040
Binary files /dev/null and b/res/drawable-xhdpi/routes_bluetooth_off_disabled.png differ
diff --git a/res/drawable-xhdpi/routes_bluetooth_off_over.png b/res/drawable-xhdpi/routes_bluetooth_off_over.png
new file mode 100644
index 000000000..a4c2eec95
Binary files /dev/null and b/res/drawable-xhdpi/routes_bluetooth_off_over.png differ
diff --git a/res/drawable-xhdpi/routes_bluetooth_on_default.png b/res/drawable-xhdpi/routes_bluetooth_on_default.png
new file mode 100644
index 000000000..346db2f9e
Binary files /dev/null and b/res/drawable-xhdpi/routes_bluetooth_on_default.png differ
diff --git a/res/drawable-xhdpi/routes_bluetooth_on_disabled.png b/res/drawable-xhdpi/routes_bluetooth_on_disabled.png
new file mode 100644
index 000000000..d230b127d
Binary files /dev/null and b/res/drawable-xhdpi/routes_bluetooth_on_disabled.png differ
diff --git a/res/drawable-xhdpi/routes_bluetooth_on_over.png b/res/drawable-xhdpi/routes_bluetooth_on_over.png
new file mode 100644
index 000000000..68a2ec19a
Binary files /dev/null and b/res/drawable-xhdpi/routes_bluetooth_on_over.png differ
diff --git a/res/drawable-xhdpi/routes_default.png b/res/drawable-xhdpi/routes_default.png
index 23fa7350f..a0502e293 100644
Binary files a/res/drawable-xhdpi/routes_default.png and b/res/drawable-xhdpi/routes_default.png differ
diff --git a/res/drawable-xhdpi/routes_phone_off_default.png b/res/drawable-xhdpi/routes_phone_off_default.png
new file mode 100644
index 000000000..dccec9086
Binary files /dev/null and b/res/drawable-xhdpi/routes_phone_off_default.png differ
diff --git a/res/drawable-xhdpi/routes_phone_off_disabled.png b/res/drawable-xhdpi/routes_phone_off_disabled.png
new file mode 100644
index 000000000..9aafeeca9
Binary files /dev/null and b/res/drawable-xhdpi/routes_phone_off_disabled.png differ
diff --git a/res/drawable-xhdpi/routes_phone_off_over.png b/res/drawable-xhdpi/routes_phone_off_over.png
new file mode 100644
index 000000000..72b5021f2
Binary files /dev/null and b/res/drawable-xhdpi/routes_phone_off_over.png differ
diff --git a/res/drawable-xhdpi/routes_phone_on_default.png b/res/drawable-xhdpi/routes_phone_on_default.png
new file mode 100644
index 000000000..c82423761
Binary files /dev/null and b/res/drawable-xhdpi/routes_phone_on_default.png differ
diff --git a/res/drawable-xhdpi/routes_phone_on_disabled.png b/res/drawable-xhdpi/routes_phone_on_disabled.png
new file mode 100644
index 000000000..a4787ecee
Binary files /dev/null and b/res/drawable-xhdpi/routes_phone_on_disabled.png differ
diff --git a/res/drawable-xhdpi/routes_phone_on_over.png b/res/drawable-xhdpi/routes_phone_on_over.png
new file mode 100644
index 000000000..c7e5ff1c8
Binary files /dev/null and b/res/drawable-xhdpi/routes_phone_on_over.png differ
diff --git a/res/drawable-xhdpi/routes_selected.png b/res/drawable-xhdpi/routes_selected.png
index 77546f8b2..88196d339 100644
Binary files a/res/drawable-xhdpi/routes_selected.png and b/res/drawable-xhdpi/routes_selected.png differ
diff --git a/res/drawable-xhdpi/routes_speaker_off_default.png b/res/drawable-xhdpi/routes_speaker_off_default.png
new file mode 100644
index 000000000..f641aca07
Binary files /dev/null and b/res/drawable-xhdpi/routes_speaker_off_default.png differ
diff --git a/res/drawable-xhdpi/routes_speaker_off_disabled.png b/res/drawable-xhdpi/routes_speaker_off_disabled.png
new file mode 100644
index 000000000..3565c0fe2
Binary files /dev/null and b/res/drawable-xhdpi/routes_speaker_off_disabled.png differ
diff --git a/res/drawable-xhdpi/routes_speaker_off_over.png b/res/drawable-xhdpi/routes_speaker_off_over.png
new file mode 100644
index 000000000..a3bd8ee47
Binary files /dev/null and b/res/drawable-xhdpi/routes_speaker_off_over.png differ
diff --git a/res/drawable-xhdpi/routes_speaker_on_default.png b/res/drawable-xhdpi/routes_speaker_on_default.png
new file mode 100644
index 000000000..194e34896
Binary files /dev/null and b/res/drawable-xhdpi/routes_speaker_on_default.png differ
diff --git a/res/drawable-xhdpi/routes_speaker_on_disabled.png b/res/drawable-xhdpi/routes_speaker_on_disabled.png
new file mode 100644
index 000000000..402b7de14
Binary files /dev/null and b/res/drawable-xhdpi/routes_speaker_on_disabled.png differ
diff --git a/res/drawable-xhdpi/routes_speaker_on_over.png b/res/drawable-xhdpi/routes_speaker_on_over.png
new file mode 100644
index 000000000..e32ad0941
Binary files /dev/null and b/res/drawable-xhdpi/routes_speaker_on_over.png differ
diff --git a/res/drawable/route_bluetooth_off.xml b/res/drawable/route_bluetooth_off.xml
index 56ca08591..50964a542 100644
--- a/res/drawable/route_bluetooth_off.xml
+++ b/res/drawable/route_bluetooth_off.xml
@@ -1,9 +1,9 @@
+ android:drawable="@drawable/routes_bluetooth_off_over" />
+ android:drawable="@drawable/routes_bluetooth_off_disabled" />
+ android:drawable="@drawable/routes_bluetooth_off_default" />
diff --git a/res/drawable/route_bluetooth_on.xml b/res/drawable/route_bluetooth_on.xml
index 14b68aa46..257dbd2c6 100644
--- a/res/drawable/route_bluetooth_on.xml
+++ b/res/drawable/route_bluetooth_on.xml
@@ -1,9 +1,9 @@
+ android:drawable="@drawable/routes_bluetooth_on_over" />
+ android:drawable="@drawable/routes_bluetooth_on_disabled" />
+ android:drawable="@drawable/routes_bluetooth_on_default" />
diff --git a/res/drawable/route_receiver_off.xml b/res/drawable/route_receiver_off.xml
index 534279dab..c850ff48e 100644
--- a/res/drawable/route_receiver_off.xml
+++ b/res/drawable/route_receiver_off.xml
@@ -1,9 +1,9 @@
+ android:drawable="@drawable/routes_phone_off_over" />
+ android:drawable="@drawable/routes_phone_off_disabled" />
+ android:drawable="@drawable/routes_phone_off_default" />
diff --git a/res/drawable/route_receiver_on.xml b/res/drawable/route_receiver_on.xml
index b8012f68e..7b6d830f9 100644
--- a/res/drawable/route_receiver_on.xml
+++ b/res/drawable/route_receiver_on.xml
@@ -1,9 +1,9 @@
+ android:drawable="@drawable/routes_phone_on_over" />
+ android:drawable="@drawable/routes_phone_on_disabled" />
+ android:drawable="@drawable/routes_phone_on_default" />
diff --git a/res/drawable/route_speaker_off.xml b/res/drawable/route_speaker_off.xml
index 0fdc55818..699fad44f 100644
--- a/res/drawable/route_speaker_off.xml
+++ b/res/drawable/route_speaker_off.xml
@@ -1,9 +1,9 @@
+ android:drawable="@drawable/routes_speaker_off_over" />
+ android:drawable="@drawable/routes_speaker_off_disabled" />
+ android:drawable="@drawable/routes_speaker_off_default" />
diff --git a/res/drawable/route_speaker_on.xml b/res/drawable/route_speaker_on.xml
index 578561c78..59f0124fb 100644
--- a/res/drawable/route_speaker_on.xml
+++ b/res/drawable/route_speaker_on.xml
@@ -1,9 +1,9 @@
+ android:drawable="@drawable/routes_speaker_on_over" />
+ android:drawable="@drawable/routes_speaker_on_disabled" />
+ android:drawable="@drawable/routes_speaker_on_default" />
diff --git a/res/raw/lpconfig.xsd b/res/raw/lpconfig.xsd
new file mode 100644
index 000000000..49bb56180
--- /dev/null
+++ b/res/raw/lpconfig.xsd
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/org/linphone/InCallActivity.java b/src/org/linphone/InCallActivity.java
index fc4892a19..c03ea1d24 100644
--- a/src/org/linphone/InCallActivity.java
+++ b/src/org/linphone/InCallActivity.java
@@ -407,6 +407,7 @@ public class InCallActivity extends FragmentActivity implements
}
else if (id == R.id.routeBluetooth) {
LinphoneManager.getInstance().routeAudioToBluetooth();
+ isSpeakerEnabled = false;
routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth_on);
routeReceiver.setBackgroundResource(R.drawable.route_receiver_off);
routeSpeaker.setBackgroundResource(R.drawable.route_speaker_off);
@@ -414,6 +415,7 @@ public class InCallActivity extends FragmentActivity implements
}
else if (id == R.id.routeReceiver) {
LinphoneManager.getInstance().routeAudioToReceiver();
+ isSpeakerEnabled = false;
routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth_off);
routeReceiver.setBackgroundResource(R.drawable.route_receiver_on);
routeSpeaker.setBackgroundResource(R.drawable.route_speaker_off);
@@ -421,6 +423,7 @@ public class InCallActivity extends FragmentActivity implements
}
else if (id == R.id.routeSpeaker) {
LinphoneManager.getInstance().routeAudioToSpeaker();
+ isSpeakerEnabled = true;
routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth_off);
routeReceiver.setBackgroundResource(R.drawable.route_receiver_off);
routeSpeaker.setBackgroundResource(R.drawable.route_speaker_on);
@@ -940,24 +943,7 @@ public class InCallActivity extends FragmentActivity implements
}
private void hideOrDisplayAudioRoutes()
- {
- if (isSpeakerEnabled) {
- speaker.setBackgroundResource(R.drawable.speaker_on);
- routeSpeaker.setBackgroundResource(R.drawable.route_speaker_on);
- routeReceiver.setBackgroundResource(R.drawable.route_receiver_off);
- routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth_off);
- } else {
- speaker.setBackgroundResource(R.drawable.speaker_off);
- routeSpeaker.setBackgroundResource(R.drawable.route_speaker_off);
- if (LinphoneManager.getInstance().isUsingBluetoothAudioRoute) {
- routeReceiver.setBackgroundResource(R.drawable.route_receiver_off);
- routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth_on);
- } else {
- routeReceiver.setBackgroundResource(R.drawable.route_receiver_on);
- routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth_off);
- }
- }
-
+ {
if (routeSpeaker.getVisibility() == View.VISIBLE) {
routeSpeaker.setVisibility(View.INVISIBLE);
routeBluetooth.setVisibility(View.INVISIBLE);
diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java
index c35e20966..04264d30d 100644
--- a/src/org/linphone/LinphoneManager.java
+++ b/src/org/linphone/LinphoneManager.java
@@ -954,7 +954,13 @@ public final class LinphoneManager implements LinphoneCoreListener {
mLc.enablePayloadType(videoCodec, enable);
}
+ @TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void doDestroy() {
+ try {
+ if (Version.sdkAboveOrEqual(Version.API11_HONEYCOMB_30))
+ mBluetoothAdapter.closeProfileProxy(BluetoothProfile.HEADSET, mBluetoothHeadset);
+ } catch (Exception e) {}
+
try {
mTimer.cancel();
mLc.destroy();