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();