Merge "DO NOT MERGE Add developer menu to select max number of connected audio devices"
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 5e1a468..3984c21 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -316,6 +316,24 @@
<item>Never time out</item>
</string-array>
+ <!-- Bluetooth developer settings: Titles for maximum number of connected audio devices -->
+ <string-array name="bluetooth_max_connected_audio_devices">
+ <item>1 (Default)</item>
+ <item>2</item>
+ <item>3</item>
+ <item>4</item>
+ <item>5</item>
+ </string-array>
+
+ <!-- Bluetooth developer settings: Values for maximum number of connected audio devices -->
+ <string-array name="bluetooth_max_connected_audio_devices_values">
+ <item>1</item>
+ <item>2</item>
+ <item>3</item>
+ <item>4</item>
+ <item>5</item>
+ </string-array>
+
<!-- Match this with drawable.wifi_signal. --> <skip />
<!-- Wi-Fi settings. The signal strength a Wi-Fi network has. -->
<string-array name="wifi_signal">
diff --git a/res/values/strings.xml b/res/values/strings.xml
index a05fbfc..8a685e6 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1606,6 +1606,11 @@
<!-- Summary of checkbox for disabling Bluetooth inband ringing in Development Settings -->
<string name="bluetooth_disable_inband_ringing_summary">Don’t play custom phone ringtones on Bluetooth headsets</string>
+ <!-- Bluetooth developer settings: Maximum number of connected audio devices -->
+ <string name="bluetooth_max_connected_audio_devices_string">Maximum number of connected Bluetooth audio devices</string>
+ <!-- Bluetooth developer settings: Maximum number of connected audio devices -->
+ <string name="bluetooth_max_connected_audio_devices_dialog_title">Select maximum number of connected Bluetooth audio devices</string>
+
<!-- Wifi Display settings. The title of the screen. [CHAR LIMIT=40] -->
<string name="wifi_display_settings_title">Cast</string>
<!-- Wifi Display settings. The title of a menu item to enable wireless display [CHAR LIMIT=40] -->
diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml
index bf83a5e..fb73ec4 100644
--- a/res/xml/development_prefs.xml
+++ b/res/xml/development_prefs.xml
@@ -270,6 +270,13 @@
android:entries="@array/bluetooth_a2dp_codec_ldac_playback_quality_titles"
android:entryValues="@array/bluetooth_a2dp_codec_ldac_playback_quality_values" />
+ <ListPreference
+ android:key="bluetooth_max_connected_audio_devices"
+ android:title="@string/bluetooth_max_connected_audio_devices_string"
+ android:dialogTitle="@string/bluetooth_max_connected_audio_devices_dialog_title"
+ android:entries="@array/bluetooth_max_connected_audio_devices"
+ android:entryValues="@array/bluetooth_max_connected_audio_devices_values" />
+
<com.android.settings.development.PrivateDnsModeDialogPreference
android:key="select_private_dns_configuration"
android:title="@string/select_private_dns_configuration_title"
diff --git a/src/com/android/settings/development/DevelopmentSettings.java b/src/com/android/settings/development/DevelopmentSettings.java
index ffe9db4..1ffee1b 100644
--- a/src/com/android/settings/development/DevelopmentSettings.java
+++ b/src/com/android/settings/development/DevelopmentSettings.java
@@ -215,6 +215,9 @@
private static final String BLUETOOTH_BTSNOOP_ENABLE_PROPERTY =
"persist.bluetooth.btsnoopenable";
+ static final String BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES_PROPERTY =
+ "persist.bluetooth.maxconnectedaudiodevices";
+
private static final String BLUETOOTH_DISABLE_INBAND_RINGING_KEY = "bluetooth_disable_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";
@@ -222,6 +225,8 @@
private static final String BLUETOOTH_SELECT_A2DP_BITS_PER_SAMPLE_KEY = "bluetooth_select_a2dp_bits_per_sample";
private static final String BLUETOOTH_SELECT_A2DP_CHANNEL_MODE_KEY = "bluetooth_select_a2dp_channel_mode";
private static final String BLUETOOTH_SELECT_A2DP_LDAC_PLAYBACK_QUALITY_KEY = "bluetooth_select_a2dp_ldac_playback_quality";
+ private static final String BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES_KEY =
+ "bluetooth_max_connected_audio_devices";
private static final String PRIVATE_DNS_PREF_KEY = "select_private_dns_configuration";
@@ -301,6 +306,7 @@
private ListPreference mBluetoothSelectA2dpBitsPerSample;
private ListPreference mBluetoothSelectA2dpChannelMode;
private ListPreference mBluetoothSelectA2dpLdacPlaybackQuality;
+ private ListPreference mBluetoothSelectMaxConnectedAudioDevices;
private SwitchPreference mOtaDisableAutomaticUpdate;
private SwitchPreference mWifiAllowScansWithTraffic;
@@ -525,6 +531,7 @@
mBluetoothSelectA2dpBitsPerSample = addListPreference(BLUETOOTH_SELECT_A2DP_BITS_PER_SAMPLE_KEY);
mBluetoothSelectA2dpChannelMode = addListPreference(BLUETOOTH_SELECT_A2DP_CHANNEL_MODE_KEY);
mBluetoothSelectA2dpLdacPlaybackQuality = addListPreference(BLUETOOTH_SELECT_A2DP_LDAC_PLAYBACK_QUALITY_KEY);
+ mBluetoothSelectMaxConnectedAudioDevices = addListPreference(BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES_KEY);
initBluetoothConfigurationValues();
updatePrivateDnsSummary();
@@ -1858,6 +1865,13 @@
index = 3;
mBluetoothSelectA2dpLdacPlaybackQuality.setValue(values[index]);
mBluetoothSelectA2dpLdacPlaybackQuality.setSummary(summaries[index]);
+
+ // Init the maximum connected devices - Default
+ values = getResources().getStringArray(R.array.bluetooth_max_connected_audio_devices_values);
+ summaries = getResources().getStringArray(R.array.bluetooth_max_connected_audio_devices);
+ index = 0;
+ mBluetoothSelectMaxConnectedAudioDevices.setValue(values[index]);
+ mBluetoothSelectMaxConnectedAudioDevices.setSummary(summaries[index]);
}
private void writeBluetoothAvrcpVersion(Object newValue) {
@@ -2026,6 +2040,15 @@
}
}
+ private void writeBluetoothMaxConnectedAudioDevices(Object newValue) {
+ SystemProperties.set(BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES_PROPERTY, newValue.toString());
+ int index = mBluetoothSelectMaxConnectedAudioDevices.findIndexOfValue(newValue.toString());
+ if (index >= 0) {
+ String[] titles = getResources().getStringArray(R.array.bluetooth_max_connected_audio_devices);
+ mBluetoothSelectMaxConnectedAudioDevices.setSummary(titles[index]);
+ }
+ }
+
private void writeBluetoothConfigurationOption(Preference preference,
Object newValue) {
String[] summaries;
@@ -2621,6 +2644,9 @@
(preference == mBluetoothSelectA2dpLdacPlaybackQuality)) {
writeBluetoothConfigurationOption(preference, newValue);
return true;
+ } else if (preference == mBluetoothSelectMaxConnectedAudioDevices) {
+ writeBluetoothMaxConnectedAudioDevices(newValue);
+ return true;
} else if (preference == mLogdSize) {
writeLogdSizeOption(newValue);
return true;