Merge "Avoid update the le audio mode as bluetooth turn off" into main

This commit is contained in:
Treehugger Robot
2024-05-20 22:36:48 +00:00
committed by Android (Google) Code Review
2 changed files with 21 additions and 4 deletions

View File

@@ -96,17 +96,17 @@ public class BluetoothLeAudioModePreferenceController
return;
}
String currentValue;
if (mBluetoothAdapter.isLeAudioBroadcastSourceSupported()
== BluetoothStatusCodes.FEATURE_SUPPORTED) {
SystemProperties.set(LE_AUDIO_DYNAMIC_SWITCHER_MODE_PROPERTY, "broadcast");
currentValue = "broadcast";
} else if (mBluetoothAdapter.isLeAudioSupported()
== BluetoothStatusCodes.FEATURE_SUPPORTED) {
SystemProperties.set(LE_AUDIO_DYNAMIC_SWITCHER_MODE_PROPERTY, "unicast");
currentValue = "unicast";
} else {
SystemProperties.set(LE_AUDIO_DYNAMIC_SWITCHER_MODE_PROPERTY, "disabled");
currentValue = "disabled";
}
final String currentValue = SystemProperties.get(LE_AUDIO_DYNAMIC_SWITCHER_MODE_PROPERTY);
int index = 0;
for (int i = 0; i < mListValues.length; i++) {
if (TextUtils.equals(currentValue, mListValues[i])) {
@@ -118,6 +118,11 @@ public class BluetoothLeAudioModePreferenceController
final ListPreference listPreference = (ListPreference) preference;
listPreference.setValue(mListValues[index]);
listPreference.setSummary(mListSummaries[index]);
if (!mBluetoothAdapter.isEnabled()) {
listPreference.setEnabled(false);
return;
}
}
/**

View File

@@ -105,4 +105,16 @@ public class BluetoothLeAudioModePreferenceControllerTest {
assertThat(SystemProperties.get(LE_AUDIO_DYNAMIC_SWITCHER_MODE_PROPERTY, mListValues[0])
.equals(mController.mNewMode)).isFalse();
}
@Test
public void onBluetoothTurnOff_shouldNotChangeLeAudioMode() {
SystemProperties.set(LE_AUDIO_DYNAMIC_SWITCHER_MODE_PROPERTY, mListValues[1]);
when(mBluetoothAdapter.isEnabled())
.thenReturn(false);
mController.updateState(mPreference);
final String mode = SystemProperties
.get(LE_AUDIO_DYNAMIC_SWITCHER_MODE_PROPERTY, mListValues[0]);
assertThat(mode.equals(mListValues[1])).isTrue();
}
}