From 0234587b1172a11929d17b05ef73ba14425edd65 Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Fri, 29 Jul 2016 14:20:28 -0700 Subject: [PATCH] AudioService: remove deprecated forcing of A2DP off Forcing the policy to not use A2DP is not needed anymore now that the cast icon does not expose A2DP choice anymore. The corresponding AudioManager APIs have also been long deprecated. Removing support for this feature which is replaced by newer routing APIs. Bug: 30963785 Change-Id: If98572742a8cf6388c1408d015c86dd445c5660b (cherry picked from commit 0218f53108f578933c8d876364138d062b315a6b) --- .../com/android/server/audio/AudioService.java | 63 +++++----------------- 1 file changed, 14 insertions(+), 49 deletions(-) diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index 275870e3d4b0..da0c05eefb92 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -206,7 +206,6 @@ public class AudioService extends IAudioService.Stub { private static final int MSG_BT_HEADSET_CNCT_FAILED = 9; private static final int MSG_SET_ALL_VOLUMES = 10; private static final int MSG_REPORT_NEW_ROUTES = 12; - private static final int MSG_SET_FORCE_BT_A2DP_USE = 13; private static final int MSG_CHECK_MUSIC_ACTIVE = 14; private static final int MSG_BROADCAST_AUDIO_BECOMING_NOISY = 15; private static final int MSG_CONFIGURE_SAFE_MEDIA_VOLUME = 16; @@ -511,6 +510,7 @@ public class AudioService extends IAudioService.Stub { private int mDeviceOrientation = Configuration.ORIENTATION_UNDEFINED; // Request to override default use of A2DP for media. + // FIXME: remove when MediaRouter does not use setBluetoothA2dpOn() anymore private boolean mBluetoothA2dpEnabled; private final Object mBluetoothA2dpEnabledLock = new Object(); @@ -840,12 +840,6 @@ public class AudioService extends IAudioService.Stub { RotationHelper.updateOrientation(); } - synchronized (mBluetoothA2dpEnabledLock) { - AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, - mBluetoothA2dpEnabled ? - AudioSystem.FORCE_NONE : AudioSystem.FORCE_NO_BT_A2DP); - } - synchronized (mSettingsLock) { AudioSystem.setForceUse(AudioSystem.FOR_DOCK, mDockAudioMediaEnabled ? @@ -2706,22 +2700,23 @@ public class AudioService extends IAudioService.Stub { return (mForcedUseForComm == AudioSystem.FORCE_BT_SCO); } - /** @see AudioManager#setBluetoothA2dpOn(boolean) */ + /** + * Deprecated. + * Keep stub implementation until MediaRouter stops using it. + * @deprecated + * */ public void setBluetoothA2dpOn(boolean on) { - synchronized (mBluetoothA2dpEnabledLock) { - mBluetoothA2dpEnabled = on; - sendMsg(mAudioHandler, MSG_SET_FORCE_BT_A2DP_USE, SENDMSG_QUEUE, - AudioSystem.FOR_MEDIA, - mBluetoothA2dpEnabled ? AudioSystem.FORCE_NONE : AudioSystem.FORCE_NO_BT_A2DP, - null, 0); - } + mBluetoothA2dpEnabled = on; + Log.e(TAG, "setBluetoothA2dpOn() is deprecated, now a no-op", + new Exception("Deprecated use of setBluetoothA2dpOn()")); } - /** @see AudioManager#isBluetoothA2dpOn() */ + /** Deprecated. + * Keep stub implementation until MediaRouter stops using it + * @deprecated + * */ public boolean isBluetoothA2dpOn() { - synchronized (mBluetoothA2dpEnabledLock) { - return mBluetoothA2dpEnabled; - } + return mBluetoothA2dpEnabled; } /** @see AudioManager#startBluetoothSco() */ @@ -4603,7 +4598,6 @@ public class AudioService extends IAudioService.Stub { break; case MSG_SET_FORCE_USE: - case MSG_SET_FORCE_BT_A2DP_USE: setForceUse(msg.arg1, msg.arg2); break; @@ -4773,7 +4767,6 @@ public class AudioService extends IAudioService.Stub { VolumeStreamState streamState = mStreamStates[AudioSystem.STREAM_MUSIC]; sendMsg(mAudioHandler, MSG_SET_DEVICE_VOLUME, SENDMSG_QUEUE, AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, 0, streamState, 0); - setBluetoothA2dpOnInt(true); AudioSystem.setDeviceConnectionState(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, AudioSystem.DEVICE_STATE_AVAILABLE, address, name); // Reset A2DP suspend state each time a new sink is connected @@ -5106,11 +5099,6 @@ 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))) { - setBluetoothA2dpOnInt(true); - } boolean isUsb = ((device & ~AudioSystem.DEVICE_OUT_ALL_USB) == 0) || (((device & AudioSystem.DEVICE_BIT_IN) != 0) && ((device & ~AudioSystem.DEVICE_IN_ALL_USB) == 0)); @@ -5119,11 +5107,6 @@ 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)) { - setBluetoothA2dpOnInt(false); - } if ((device & mSafeMediaVolumeDevices) != 0) { sendMsg(mAudioHandler, MSG_CHECK_MUSIC_ACTIVE, @@ -5589,27 +5572,9 @@ public class AudioService extends IAudioService.Stub { } } - // Handles request to override default use of A2DP for media. - // Must be called synchronized on mConnectedDevices - public void setBluetoothA2dpOnInt(boolean on) { - synchronized (mBluetoothA2dpEnabledLock) { - mBluetoothA2dpEnabled = on; - mAudioHandler.removeMessages(MSG_SET_FORCE_BT_A2DP_USE); - setForceUseInt_SyncDevices(AudioSystem.FOR_MEDIA, - mBluetoothA2dpEnabled ? AudioSystem.FORCE_NONE : AudioSystem.FORCE_NO_BT_A2DP); - } - } - // Must be called synchronized on mConnectedDevices private void setForceUseInt_SyncDevices(int usage, int config) { switch (usage) { - case AudioSystem.FOR_MEDIA: - if (config == AudioSystem.FORCE_NO_BT_A2DP) { - mBecomingNoisyIntentDevices &= ~AudioSystem.DEVICE_OUT_ALL_A2DP; - } else { // config == AudioSystem.FORCE_NONE - mBecomingNoisyIntentDevices |= AudioSystem.DEVICE_OUT_ALL_A2DP; - } - break; case AudioSystem.FOR_DOCK: if (config == AudioSystem.FORCE_ANALOG_DOCK) { mBecomingNoisyIntentDevices |= AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET; -- 2.11.0