diff --git a/src/com/android/settings/sound/AudioSwitchPreferenceController.java b/src/com/android/settings/sound/AudioSwitchPreferenceController.java index b785210f973..5938362a14e 100644 --- a/src/com/android/settings/sound/AudioSwitchPreferenceController.java +++ b/src/com/android/settings/sound/AudioSwitchPreferenceController.java @@ -242,6 +242,10 @@ public abstract class AudioSwitchPreferenceController extends BasePreferenceCont return connectedDevices; } final List 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); diff --git a/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java index a272d9c8ac3..91fd33da7b0 100644 --- a/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java @@ -516,6 +516,15 @@ public class AudioOutputSwitchPreferenceControllerTest { assertThat(mEmptyDevices).containsExactly(connectedBtLeAduioDevice1); } + @Test + public void getConnectedLeAudioDevices_nullConnectedDevices_returnEmptyList() { + when(mLeAudioProfile.getConnectedDevices()).thenReturn(null); + + List connectedDevices = mController.getConnectedLeAudioDevices(); + + assertThat(connectedDevices.isEmpty()).isTrue(); + } + @Test public void findActiveLeAudioDevice_noActiveDevice_returnNull() { mLeAudioActiveDevices.clear();