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]); + } } }