From 67774522aaf5606b728c65810784111d3aed6515 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 10 Aug 2012 15:28:23 +0200 Subject: [PATCH 1/3] Better setup display using mark system --- res/drawable-hdpi/setup_mark.png | Bin 0 -> 531 bytes res/drawable-mdpi/setup_mark.png | Bin 0 -> 371 bytes res/layout/setup.xml | 40 +++++++++++++++++++++++++++---- 3 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 res/drawable-hdpi/setup_mark.png create mode 100644 res/drawable-mdpi/setup_mark.png diff --git a/res/drawable-hdpi/setup_mark.png b/res/drawable-hdpi/setup_mark.png new file mode 100644 index 0000000000000000000000000000000000000000..71504e74b682259642ecec32d05fe54ea7a00c10 GIT binary patch literal 531 zcmeAS@N?(olHy`uVBq!ia0y~yU~~Yo+d0^PWI9)a5RhUl4sv&5Sa(k5C6L3G|H(?D8gCb5n0T@z%2~Ij105pNB{-dOFVsD+3#?0@k(l+Y?O-v3Q3l@MwB?` z=jNv7l`uFLr6!i7rYMwWmSiZnd-?{1H}Z)Ct;+LsaSW-r_4bM(BLf4+;SG)T=NB|} zyEyfSP2xP@tjn0tz`({qF(IMQz{o@ef?|h&4UkyCGBD0z7yCVriTA>9zk|T&VeoYI Kb6Mw<&;$Us_iteU literal 0 HcmV?d00001 diff --git a/res/drawable-mdpi/setup_mark.png b/res/drawable-mdpi/setup_mark.png new file mode 100644 index 0000000000000000000000000000000000000000..5d63f854774a84607dec81afe97b0c0e8d7d486c GIT binary patch literal 371 zcmeAS@N?(olHy`uVBq!ia0vp^*MK;RgAGU?nYf}CNHG=%xjQkeJ16rJ$YD$Jc6VX; z4}uH!E}sk(;VkfoEM{Qf76xHPhFNnYfP(BLp1!W^cR09srBsT912}*}k|nMYCC>S| zxv6<249-QVi6yBi3gww484B*6z5(HleBwYw=R92;Ln>~)y==(Kz`((>k^TR?gDlL> z+7BnKRuO&>;>~c3DY-mszbH^0DW}wd)JYD@<);T3K0RTZ + + + + + + + + @@ -23,8 +50,9 @@ android:contentDescription="@string/content_description_cancel" android:id="@+id/setup_cancel" android:layout_width="match_parent" - android:layout_height="match_parent" + android:layout_height="wrap_content" android:src="@drawable/setup_cancel" + android:adjustViewBounds="true" android:scaleType="fitXY" android:layout_weight="0.5"/> @@ -32,8 +60,9 @@ android:contentDescription="@string/content_description_next" android:id="@+id/setup_next" android:layout_width="match_parent" - android:layout_height="match_parent" + android:layout_height="wrap_content" android:src="@drawable/setup_next" + android:adjustViewBounds="true" android:scaleType="fitXY" android:layout_weight="0.5"/> @@ -42,8 +71,9 @@ android:id="@+id/setup_back" android:visibility="gone" android:layout_width="match_parent" - android:layout_height="match_parent" + android:layout_height="wrap_content" android:src="@drawable/setup_back" + android:adjustViewBounds="true" android:scaleType="fitXY" android:layout_weight="0.5"/> From cdbd2b4d65eb7ff03f2a726abc630e97c833724a Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 10 Aug 2012 16:03:21 +0200 Subject: [PATCH 2/3] Fix some issues --- res/drawable/list_selector.xml | 3 ++- res/layout/chatlist.xml | 1 - res/layout/chatlist_cell.xml | 1 + res/layout/contact_cell.xml | 1 + res/layout/contacts_list.xml | 1 - res/layout/history.xml | 1 - res/layout/history_cell.xml | 1 + src/org/linphone/compatibility/Compatibility.java | 4 ++-- 8 files changed, 7 insertions(+), 6 deletions(-) diff --git a/res/drawable/list_selector.xml b/res/drawable/list_selector.xml index 6d70448b8..1cfc68647 100644 --- a/res/drawable/list_selector.xml +++ b/res/drawable/list_selector.xml @@ -1,6 +1,7 @@ - diff --git a/res/layout/chatlist.xml b/res/layout/chatlist.xml index c671c3a91..103f35762 100644 --- a/res/layout/chatlist.xml +++ b/res/layout/chatlist.xml @@ -45,7 +45,6 @@ Date: Mon, 13 Aug 2012 10:39:28 +0200 Subject: [PATCH 3/3] =?UTF-8?q?Revert=20"Bluetooth=20headset=20support=20t?= =?UTF-8?q?hanks=20to=20Do=C4=9Fancan=20Kefeli"=20(breaks=20speaker=20mode?= =?UTF-8?q?=20on=202.x=20phones)=20This=20reverts=20commit=200cee0e357b568?= =?UTF-8?q?a0692d425701c4abf6c0960191f.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Conflicts: src/org/linphone/compatibility/Compatibility.java --- AndroidManifest.xml | 3 -- res/values/non_localizable_strings.xml | 1 - res/values/strings.xml | 2 - res/xml-v14/preferences.xml | 8 ---- res/xml/preferences.xml | 6 +-- src/org/linphone/LinphoneManager.java | 45 +++++++++---------- src/org/linphone/PreferencesActivity.java | 5 --- .../linphone/compatibility/ApiEightPlus.java | 11 ----- .../linphone/compatibility/Compatibility.java | 7 +-- submodules/linphone | 2 +- 10 files changed, 23 insertions(+), 67 deletions(-) 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