Merge "TWSP-HFP: set active device to null if setHfpActive to peer earbud failed" into q-keystone-qcom-dev
diff --git a/src/com/android/bluetooth/btservice/ActiveDeviceManager.java b/src/com/android/bluetooth/btservice/ActiveDeviceManager.java
index 68a815e..1a356a8 100644
--- a/src/com/android/bluetooth/btservice/ActiveDeviceManager.java
+++ b/src/com/android/bluetooth/btservice/ActiveDeviceManager.java
@@ -318,12 +318,16 @@
                                 if (peerTwsDevice != null &&
                                     hfpService.getConnectionState(peerTwsDevice)
                                     == BluetoothProfile.STATE_CONNECTED) {
-                                   setHfpActiveDevice(peerTwsDevice);
                                    Log.d(TAG, "calling set Active dev: "
                                       + peerTwsDevice);
+                                   if (!setHfpActiveDevice(peerTwsDevice)) {
+                                       Log.w(TAG, "Set hfp active device failed");
+                                       setHfpActiveDevice(null);
+                                   }
                                 } else {
                                    Log.d(TAG, "No Active device Switch" +
                                           "as there is no Connected TWS+ peer");
+                                   setHfpActiveDevice(null);
                                 }
                             } else {
                                setHfpActiveDevice(null);
@@ -480,18 +484,19 @@
         return true;
     }
 
-    private void setHfpActiveDevice(BluetoothDevice device) {
+    private boolean setHfpActiveDevice(BluetoothDevice device) {
         if (DBG) {
             Log.d(TAG, "setHfpActiveDevice(" + device + ")");
         }
         final HeadsetService headsetService = mFactory.getHeadsetService();
         if (headsetService == null) {
-            return;
+            return false;
         }
         if (!headsetService.setActiveDevice(device)) {
-            return;
+            return false;
         }
         mHfpActiveDevice = device;
+        return true;
     }
 
     private void setHearingAidActiveDevice(BluetoothDevice device) {