Avoid update the le audio mode as bluetooth turn off
1. Fix the wrong "disable" setting as bluetooth state is off 2. disable the switcher as bluetooth state is disabled Bug: 336448875 Test: atest Change-Id: I34d9f6aef11712cad16ff105c5859a694f1fe9c9
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -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();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user