From bbe3e74457e7abeef4156380178ad1793ffe8c0e Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Fri, 28 Apr 2017 18:11:50 -0700 Subject: [PATCH] AudioService: send AUDIO_BECOMING_NOISY intent when disconnecting USB Bug: 37752052 Test: Verify music stops when removing USB headset Change-Id: I6efd9e0532ea0569cfcab941a93e32395845201f --- .../core/java/com/android/server/audio/AudioService.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index 623a6b6d9f8c..e9555f7870d7 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -5361,6 +5361,11 @@ public class AudioService extends IAudioService.Stub } } + private static final int DEVICE_OVERRIDE_A2DP_ROUTE_ON_PLUG = + AudioSystem.DEVICE_OUT_WIRED_HEADSET | AudioSystem.DEVICE_OUT_WIRED_HEADPHONE | + AudioSystem.DEVICE_OUT_LINE | + AudioSystem.DEVICE_OUT_ALL_USB; + private void onSetWiredDeviceConnectionState(int device, int state, String address, String deviceName, String caller) { if (DEBUG_DEVICES) { @@ -5372,9 +5377,7 @@ public class AudioService extends IAudioService.Stub } synchronized (mConnectedDevices) { - if ((state == 0) && ((device == AudioSystem.DEVICE_OUT_WIRED_HEADSET) || - (device == AudioSystem.DEVICE_OUT_WIRED_HEADPHONE) || - (device == AudioSystem.DEVICE_OUT_LINE))) { + if ((state == 0) && ((device & DEVICE_OVERRIDE_A2DP_ROUTE_ON_PLUG) != 0)) { setBluetoothA2dpOnInt(true); } boolean isUsb = ((device & ~AudioSystem.DEVICE_OUT_ALL_USB) == 0) || @@ -5385,9 +5388,7 @@ public class AudioService extends IAudioService.Stub return; } if (state != 0) { - if ((device == AudioSystem.DEVICE_OUT_WIRED_HEADSET) || - (device == AudioSystem.DEVICE_OUT_WIRED_HEADPHONE) || - (device == AudioSystem.DEVICE_OUT_LINE)) { + if ((device & DEVICE_OVERRIDE_A2DP_ROUTE_ON_PLUG) != 0) { setBluetoothA2dpOnInt(false); } if ((device & mSafeMediaVolumeDevices) != 0) { -- 2.11.0