Merge "Fix NPE in AudioSwitchPreferenceController" into main

This commit is contained in:
Chris Antol
2024-05-09 17:46:53 +00:00
committed by Android (Google) Code Review
2 changed files with 13 additions and 0 deletions

View File

@@ -242,6 +242,10 @@ public abstract class AudioSwitchPreferenceController extends BasePreferenceCont
return connectedDevices; return connectedDevices;
} }
final List<BluetoothDevice> devices = leAudioProfile.getConnectedDevices(); final List<BluetoothDevice> devices = leAudioProfile.getConnectedDevices();
if (devices == null) {
Log.d(TAG, "No connected LeAudioProfile devices");
return connectedDevices;
}
for (BluetoothDevice device : devices) { for (BluetoothDevice device : devices) {
if (device.isConnected() && isDeviceInCachedList(device)) { if (device.isConnected() && isDeviceInCachedList(device)) {
connectedDevices.add(device); connectedDevices.add(device);

View File

@@ -516,6 +516,15 @@ public class AudioOutputSwitchPreferenceControllerTest {
assertThat(mEmptyDevices).containsExactly(connectedBtLeAduioDevice1); assertThat(mEmptyDevices).containsExactly(connectedBtLeAduioDevice1);
} }
@Test
public void getConnectedLeAudioDevices_nullConnectedDevices_returnEmptyList() {
when(mLeAudioProfile.getConnectedDevices()).thenReturn(null);
List<BluetoothDevice> connectedDevices = mController.getConnectedLeAudioDevices();
assertThat(connectedDevices.isEmpty()).isTrue();
}
@Test @Test
public void findActiveLeAudioDevice_noActiveDevice_returnNull() { public void findActiveLeAudioDevice_noActiveDevice_returnNull() {
mLeAudioActiveDevices.clear(); mLeAudioActiveDevices.clear();