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
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);