diff --git a/res/values/strings.xml b/res/values/strings.xml
index a1ff0be30a5..50eb21d0ea7 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1630,7 +1630,7 @@
Remember settings
- Maximum number of connected Bluetooth audio devices
+ Maximum connected Bluetooth audio devices
Select maximum number of connected Bluetooth audio devices
diff --git a/src/com/android/settings/development/BluetoothMaxConnectedAudioDevicesPreferenceController.java b/src/com/android/settings/development/BluetoothMaxConnectedAudioDevicesPreferenceController.java
index 4d571ecee0d..5512685a138 100644
--- a/src/com/android/settings/development/BluetoothMaxConnectedAudioDevicesPreferenceController.java
+++ b/src/com/android/settings/development/BluetoothMaxConnectedAudioDevicesPreferenceController.java
@@ -67,6 +67,7 @@ public class BluetoothMaxConnectedAudioDevicesPreferenceController extends
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
SystemProperties.set(BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES_PROPERTY, newValue.toString());
+ updateState(preference);
return true;
}
@@ -88,13 +89,13 @@ public class BluetoothMaxConnectedAudioDevicesPreferenceController extends
@Override
protected void onDeveloperOptionsSwitchEnabled() {
mPreference.setEnabled(true);
- mPreference.setValue(mListValues[0]);
- mPreference.setSummary(mListSummaries[0]);
+ updateState(mPreference);
}
@Override
protected void onDeveloperOptionsSwitchDisabled() {
mPreference.setEnabled(false);
+ SystemProperties.set(BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES_PROPERTY, mListValues[0]);
mPreference.setValue(mListValues[0]);
mPreference.setSummary(mListSummaries[0]);
}
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothMaxConnectedAudioDevicesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothMaxConnectedAudioDevicesPreferenceControllerTest.java
index a75e296ed16..cf892f8c255 100644
--- a/tests/robotests/src/com/android/settings/development/BluetoothMaxConnectedAudioDevicesPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/BluetoothMaxConnectedAudioDevicesPreferenceControllerTest.java
@@ -94,6 +94,8 @@ public class BluetoothMaxConnectedAudioDevicesPreferenceControllerTest {
BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES_PROPERTY);
assertThat(currentValue).isEqualTo(mListValues[numberOfDevices]);
+ assertThat(mPreference.getValue()).isEqualTo(mListValues[numberOfDevices]);
+ assertThat(mPreference.getSummary()).isEqualTo(mListSummaries[numberOfDevices]);
}
}
@@ -122,20 +124,28 @@ public class BluetoothMaxConnectedAudioDevicesPreferenceControllerTest {
@Test
public void onDeveloperOptionsSwitchDisabled_shouldDisablePreference() {
mController.onDeveloperOptionsSwitchDisabled();
- mController.updateState(mPreference);
assertThat(mPreference.isEnabled()).isFalse();
assertThat(mPreference.getValue()).isEqualTo(mListValues[0]);
assertThat(mPreference.getSummary()).isEqualTo(mListSummaries[0]);
+ final String currentValue = SystemProperties.get(
+ BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES_PROPERTY);
+ assertThat(currentValue).isEqualTo(mListValues[0]);
}
@Test
public void onDeveloperOptionsSwitchEnabled_shouldEnablePreference() {
- mController.onDeveloperOptionsSwitchEnabled();
- mController.updateState(mPreference);
+ for (int numberOfDevices = 0; numberOfDevices < mListValues.length; numberOfDevices++) {
+ mController.onDeveloperOptionsSwitchDisabled();
+ assertThat(mPreference.isEnabled()).isFalse();
- assertThat(mPreference.isEnabled()).isTrue();
- assertThat(mPreference.getValue()).isEqualTo(mListValues[0]);
- assertThat(mPreference.getSummary()).isEqualTo(mListSummaries[0]);
+ SystemProperties.set(BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES_PROPERTY,
+ mListValues[numberOfDevices]);
+ mController.onDeveloperOptionsSwitchEnabled();
+
+ assertThat(mPreference.isEnabled()).isTrue();
+ assertThat(mPreference.getValue()).isEqualTo(mListValues[numberOfDevices]);
+ assertThat(mPreference.getSummary()).isEqualTo(mListSummaries[numberOfDevices]);
+ }
}
}