Merge "Add developer menu entry to enable Bluetooth inband ringing" am: 3d08bedba2 am: 9e1e430f06
am: 336a7ccca7
Change-Id: I1a7ff476de330fbe0c0b48ce27c8dd363cd49c8f
diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml
index e870539..54eb878 100644
--- a/res/xml/development_prefs.xml
+++ b/res/xml/development_prefs.xml
@@ -209,6 +209,11 @@
android:title="@string/bluetooth_disable_absolute_volume"
android:summary="@string/bluetooth_disable_absolute_volume_summary"/>
+ <SwitchPreference
+ android:key="bluetooth_enable_inband_ringing"
+ android:title="@string/bluetooth_enable_inband_ringing"
+ android:summary="@string/bluetooth_enable_inband_ringing_summary"/>
+
<ListPreference
android:key="bluetooth_select_avrcp_version"
android:title="@string/bluetooth_select_avrcp_version_string"
diff --git a/src/com/android/settings/development/DevelopmentSettings.java b/src/com/android/settings/development/DevelopmentSettings.java
index 2bfb602..c6e9dfc 100644
--- a/src/com/android/settings/development/DevelopmentSettings.java
+++ b/src/com/android/settings/development/DevelopmentSettings.java
@@ -28,6 +28,7 @@
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothCodecConfig;
import android.bluetooth.BluetoothCodecStatus;
+import android.bluetooth.BluetoothHeadset;
import android.bluetooth.BluetoothProfile;
import android.content.BroadcastReceiver;
import android.content.ContentResolver;
@@ -205,7 +206,10 @@
"persist.bluetooth.disableabsvol";
private static final String BLUETOOTH_AVRCP_VERSION_PROPERTY =
"persist.bluetooth.avrcpversion";
+ private static final String BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY =
+ "persist.bluetooth.enableinbandringing";
+ private static final String BLUETOOTH_ENABLE_INBAND_RINGING_KEY = "bluetooth_enable_inband_ringing";
private static final String BLUETOOTH_SELECT_AVRCP_VERSION_KEY = "bluetooth_select_avrcp_version";
private static final String BLUETOOTH_SELECT_A2DP_CODEC_KEY = "bluetooth_select_a2dp_codec";
private static final String BLUETOOTH_SELECT_A2DP_SAMPLE_RATE_KEY = "bluetooth_select_a2dp_sample_rate";
@@ -278,6 +282,7 @@
private SwitchPreference mWifiAggressiveHandover;
private SwitchPreference mMobileDataAlwaysOn;
private SwitchPreference mBluetoothDisableAbsVolume;
+ private SwitchPreference mBluetoothEnableInbandRinging;
private BluetoothA2dp mBluetoothA2dp;
private final Object mBluetoothA2dpLock = new Object();
@@ -494,6 +499,11 @@
mUsbConfiguration = addListPreference(USB_CONFIGURATION_KEY);
mWebViewMultiprocess = findAndInitSwitchPref(WEBVIEW_MULTIPROCESS_KEY);
mBluetoothDisableAbsVolume = findAndInitSwitchPref(BLUETOOTH_DISABLE_ABSOLUTE_VOLUME_KEY);
+ mBluetoothEnableInbandRinging = findAndInitSwitchPref(BLUETOOTH_ENABLE_INBAND_RINGING_KEY);
+ if (!BluetoothHeadset.isInbandRingingSupported(getContext())) {
+ removePreference(mBluetoothEnableInbandRinging);
+ mBluetoothEnableInbandRinging = null;
+ }
mBluetoothSelectAvrcpVersion = addListPreference(BLUETOOTH_SELECT_AVRCP_VERSION_KEY);
mBluetoothSelectA2dpCodec = addListPreference(BLUETOOTH_SELECT_A2DP_CODEC_KEY);
@@ -810,6 +820,7 @@
updateColorTemperature();
}
updateBluetoothDisableAbsVolumeOptions();
+ updateBluetoothEnableInbandRingingOptions();
updateBluetoothA2dpConfigurationValues();
}
@@ -1503,6 +1514,20 @@
mBluetoothDisableAbsVolume.isChecked() ? "true" : "false");
}
+ private void updateBluetoothEnableInbandRingingOptions() {
+ if (mBluetoothEnableInbandRinging != null) {
+ updateSwitchPreference(mBluetoothEnableInbandRinging,
+ SystemProperties.getBoolean(BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY, false));
+ }
+ }
+
+ private void writeBluetoothEnableInbandRingingOptions() {
+ if (mBluetoothEnableInbandRinging != null) {
+ SystemProperties.set(BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY,
+ mBluetoothEnableInbandRinging.isChecked() ? "true" : "false");
+ }
+ }
+
private void updateMobileDataAlwaysOnOptions() {
updateSwitchPreference(mMobileDataAlwaysOn, Settings.Global.getInt(
getActivity().getContentResolver(),
@@ -2524,6 +2549,8 @@
writeForceResizableOptions();
} else if (preference == mBluetoothDisableAbsVolume) {
writeBluetoothDisableAbsVolumeOptions();
+ } else if (preference == mBluetoothEnableInbandRinging) {
+ writeBluetoothEnableInbandRingingOptions();
} else if (preference == mWebViewMultiprocess) {
writeWebViewMultiprocessOptions();
} else if (SHORTCUT_MANAGER_RESET_KEY.equals(preference.getKey())) {