Fix NPE in AudioSwitchPreferenceController

Change-Id: Ic97d1a6269a6d98ffd15a9b512f6ae24ff1c5b5e
Test: Unit Test to verify nullness
Bug: 338892614
This commit is contained in:
Chris Antol
2024-05-09 01:25:24 +00:00
parent 9e4b73a2fa
commit 7ac80f0a0a
2 changed files with 13 additions and 0 deletions

View File

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

View File

@@ -516,6 +516,15 @@ public class AudioOutputSwitchPreferenceControllerTest {
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
public void findActiveLeAudioDevice_noActiveDevice_returnNull() {
mLeAudioActiveDevices.clear();