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