Merge "Fix NPE in AudioSwitchPreferenceController" into 24D1-dev
diff --git a/src/com/android/settings/sound/AudioSwitchPreferenceController.java b/src/com/android/settings/sound/AudioSwitchPreferenceController.java
index b785210..5938362 100644
--- a/src/com/android/settings/sound/AudioSwitchPreferenceController.java
+++ b/src/com/android/settings/sound/AudioSwitchPreferenceController.java
@@ -242,6 +242,10 @@
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);
diff --git a/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java
index a272d9c..91fd33d 100644
--- a/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java
@@ -517,6 +517,15 @@
}
@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();
when(mLeAudioProfile.getActiveDevices()).thenReturn(mLeAudioActiveDevices);