Update SCO disconnection to MM audio early.
Update SCO disconnection to MM audio early.
This would help in quick switching between
SCO to A2DP.
CRs-Fixed: 2749595
Change-Id: I44d95bf8d90e652eff1eb6cbddf0accf78113551
diff --git a/src/com/android/bluetooth/hfp/HeadsetStateMachine.java b/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
index 9c0e9db..8f44525 100644
--- a/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
+++ b/src/com/android/bluetooth/hfp/HeadsetStateMachine.java
@@ -1372,6 +1372,7 @@
// devices that previously successfully connected.
removeDeferredMessages(CONNECT);
}
+ broadcastStateTransitions();
if ((mPrevState == mAudioOn) || (mPrevState == mAudioDisconnecting)||
(mPrevState == mAudioConnecting)) {
if (!(mSystemInterface.isInCall() || mSystemInterface.isRinging())) {
@@ -1380,7 +1381,6 @@
mHeadsetService.getHfpA2DPSyncInterface().releaseA2DP(mDevice);
}
}
- broadcastStateTransitions();
}
@Override
@@ -1739,6 +1739,7 @@
//any devices before letting Audio knowing about it
stateLogI("TWS+ device and other SCO is still Active, no BT_SCO=off");
} else {
+ mSystemInterface.getAudioManager().setBluetoothScoOn(false);
if(mSystemInterface.getAudioManager().isSpeakerphoneOn()) {
mSystemInterface.getAudioManager().setSpeakerphoneOn(true);
}
@@ -1822,6 +1823,7 @@
//any devices before letting Audio knowing about it
stateLogI("TWS+ device and other SCO is still Active, no BT_SCO=off");
} else {
+ mSystemInterface.getAudioManager().setBluetoothScoOn(false);
if(mSystemInterface.getAudioManager().isSpeakerphoneOn()) {
mSystemInterface.getAudioManager().setSpeakerphoneOn(true);
}