summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2015-09-24 18:41:48 -0700
committerEric Laurent <elaurent@google.com>2015-09-24 18:41:48 -0700
commit48221250ba8445b82dc9beaaf0853a37afffcdf6 (patch)
tree67514bbc2df75849aa9a3eb3dbf91d8776ed6ab9
parente1de9f674575df3b17e475c4f32dd93d33e596e3 (diff)
downloadbase-48221250ba8445b82dc9beaaf0853a37afffcdf6.tar.gz
AudioService: cleanup sco audio mode upon disconnection.
Clean up SCO forced usage and A2DP suspend state upon SCO device or profile disconnection. This is in case the Bluetooth Headset service does not do it. Bug: 24316765. Change-Id: Ifc0305607c186be49b2eb42b7868647292e56137
-rw-r--r--services/core/java/com/android/server/audio/AudioService.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java
index 7565e9d84395..2c6bafc70a94 100644
--- a/services/core/java/com/android/server/audio/AudioService.java
+++ b/services/core/java/com/android/server/audio/AudioService.java
@@ -2527,11 +2527,14 @@ public class AudioService extends IAudioService.Stub {
}
/** @see AudioManager#setBluetoothScoOn(boolean) */
- public void setBluetoothScoOn(boolean on){
+ public void setBluetoothScoOn(boolean on) {
if (!checkAudioSettingsPermission("setBluetoothScoOn()")) {
return;
}
+ setBluetoothScoOnInt(on);
+ }
+ public void setBluetoothScoOnInt(boolean on) {
if (on) {
mForcedUseForComm = AudioSystem.FORCE_BT_SCO;
} else if (mForcedUseForComm == AudioSystem.FORCE_BT_SCO) {
@@ -2892,6 +2895,8 @@ public class AudioService extends IAudioService.Stub {
mScoAudioState = SCO_STATE_INACTIVE;
broadcastScoConnectionState(AudioManager.SCO_AUDIO_STATE_DISCONNECTED);
}
+ AudioSystem.setParameters("A2dpSuspended=false");
+ setBluetoothScoOnInt(false);
}
private void broadcastScoConnectionState(int state) {