Create new list of BT devices when querying

Don't store a view of the available BT devices in CARSM's version of
CallAudioState. Create a new list instead.

Change-Id: Ib66706ca1844fdb2b7d6ba1a7713840d598722f3
Fixes: 79154559
Test: manual
diff --git a/src/com/android/server/telecom/CallAudioRouteStateMachine.java b/src/com/android/server/telecom/CallAudioRouteStateMachine.java
index b335d77..8ea35be 100644
--- a/src/com/android/server/telecom/CallAudioRouteStateMachine.java
+++ b/src/com/android/server/telecom/CallAudioRouteStateMachine.java
@@ -30,7 +30,6 @@
 import android.os.Binder;
 import android.os.Message;
 import android.os.RemoteException;
-import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.telecom.CallAudioState;
 import android.telecom.Log;
diff --git a/src/com/android/server/telecom/bluetooth/BluetoothRouteManager.java b/src/com/android/server/telecom/bluetooth/BluetoothRouteManager.java
index 5679522..8c3a694 100644
--- a/src/com/android/server/telecom/bluetooth/BluetoothRouteManager.java
+++ b/src/com/android/server/telecom/bluetooth/BluetoothRouteManager.java
@@ -32,7 +32,9 @@
 import com.android.server.telecom.TelecomSystem;
 import com.android.server.telecom.Timeouts;
 
+import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedHashSet;
@@ -563,7 +565,7 @@
         sendMessage(NEW_DEVICE_CONNECTED, args);
 
         mListener.onBluetoothDeviceListChanged();
-        if (getConnectedDevices().size() == 1) {
+        if (mDeviceManager.getConnectedDevices().size() == 1) {
             mListener.onBluetoothDeviceAvailable();
         }
     }
@@ -575,13 +577,14 @@
         sendMessage(LOST_DEVICE, args);
 
         mListener.onBluetoothDeviceListChanged();
-        if (getConnectedDevices().size() == 0) {
+        if (mDeviceManager.getConnectedDevices().size() == 0) {
             mListener.onBluetoothDeviceUnavailable();
         }
     }
 
     public Collection<BluetoothDevice> getConnectedDevices() {
-        return mDeviceManager.getConnectedDevices();
+        return Collections.unmodifiableCollection(
+                new ArrayList<>(mDeviceManager.getConnectedDevices()));
     }
 
     private String connectHfpAudio(String address) {