Snap for 5130385 from 3f75c5b732e8cc200f3a5d7255ca06cf46e01108 to pi-qpr2-release

Change-Id: I4c1de53f26b7ec12b51f01cf3e548330ae3a3760
diff --git a/src/com/android/server/telecom/bluetooth/BluetoothRouteManager.java b/src/com/android/server/telecom/bluetooth/BluetoothRouteManager.java
index ba56145..f72c342 100644
--- a/src/com/android/server/telecom/bluetooth/BluetoothRouteManager.java
+++ b/src/com/android/server/telecom/bluetooth/BluetoothRouteManager.java
@@ -597,14 +597,20 @@
 
         String actualAddress = matchingDevice.isPresent()
                 ? address : getActiveDeviceAddress();
+        if (actualAddress == null) {
+            Log.i(this, "No device specified and BT stack has no active device."
+                    + " Using arbitrary device");
+            if (deviceList.size() > 0) {
+                actualAddress = deviceList.iterator().next().getAddress();
+            } else {
+                Log.i(this, "No devices available at all. Not connecting.");
+                return null;
+            }
+        }
         if (!matchingDevice.isPresent()) {
             Log.i(this, "No device with address %s available. Using %s instead.",
                     address, actualAddress);
         }
-        if (actualAddress == null) {
-            Log.i(this, "No device specified and BT stack has no active device. Not connecting.");
-            return null;
-        }
         if (!connectAudio(actualAddress)) {
             boolean shouldRetry = retryCount < MAX_CONNECTION_RETRIES;
             Log.w(LOG_TAG, "Could not connect to %s. Will %s", actualAddress,