Fix NPE in AudioSwitchPreferenceController

Test: Unit Test to verify nullness
Bug: 338892614
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:7ac80f0a0a69e99ec3603e9157cd5a2b20509e85)
Merged-In: Ic97d1a6269a6d98ffd15a9b512f6ae24ff1c5b5e
Change-Id: Ic97d1a6269a6d98ffd15a9b512f6ae24ff1c5b5e
This commit is contained in:
Chris Antol
2024-05-09 01:25:24 +00:00
committed by Cherrypicker Worker
parent b9a0722d20
commit f5cc663a8a
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();