diff options
| -rw-r--r-- | services/core/java/com/android/server/audio/AudioDeviceBroker.java | 17 | ||||
| -rw-r--r-- | services/core/java/com/android/server/audio/AudioService.java | 4 |
2 files changed, 19 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/audio/AudioDeviceBroker.java b/services/core/java/com/android/server/audio/AudioDeviceBroker.java index 13c42eb66b69..ada92f5545c2 100644 --- a/services/core/java/com/android/server/audio/AudioDeviceBroker.java +++ b/services/core/java/com/android/server/audio/AudioDeviceBroker.java @@ -957,6 +957,10 @@ import java.util.concurrent.atomic.AtomicBoolean; } } + /*package*/ void postSetA2dpSuspended(boolean enable, String eventSource) { + sendILMsgNoDelay(MSG_IL_SET_A2DP_SUSPENDED, SENDMSG_QUEUE, (enable ? 1 : 0), eventSource); + } + /*package*/ void setA2dpSuspended(boolean enable, boolean internal, String eventSource) { if (AudioService.DEBUG_COMM_RTE) { Log.v(TAG, "setA2dpSuspended source: " + eventSource + ", enable: " @@ -985,6 +989,11 @@ import java.util.concurrent.atomic.AtomicBoolean; } } + /*package*/ void postSetLeAudioSuspended(boolean enable, String eventSource) { + sendILMsgNoDelay( + MSG_IL_SET_LEAUDIO_SUSPENDED, SENDMSG_QUEUE, (enable ? 1 : 0), eventSource); + } + /*package*/ void setLeAudioSuspended(boolean enable, boolean internal, String eventSource) { if (AudioService.DEBUG_COMM_RTE) { Log.v(TAG, "setLeAudioSuspended source: " + eventSource + ", enable: " @@ -1795,6 +1804,12 @@ import java.util.concurrent.atomic.AtomicBoolean; final int capturePreset = msg.arg1; mDeviceInventory.onSaveClearPreferredDevicesForCapturePreset(capturePreset); } break; + case MSG_IL_SET_A2DP_SUSPENDED: { + setA2dpSuspended((msg.arg1 == 1), false /*internal*/, (String) msg.obj); + } break; + case MSG_IL_SET_LEAUDIO_SUSPENDED: { + setLeAudioSuspended((msg.arg1 == 1), false /*internal*/, (String) msg.obj); + } break; default: Log.wtf(TAG, "Invalid message " + msg.what); } @@ -1869,6 +1884,8 @@ import java.util.concurrent.atomic.AtomicBoolean; private static final int MSG_IL_SAVE_NDEF_DEVICE_FOR_STRATEGY = 47; private static final int MSG_IL_SAVE_REMOVE_NDEF_DEVICE_FOR_STRATEGY = 48; private static final int MSG_IL_BTLEAUDIO_TIMEOUT = 49; + private static final int MSG_IL_SET_A2DP_SUSPENDED = 50; + private static final int MSG_IL_SET_LEAUDIO_SUSPENDED = 51; private static boolean isMessageHandledUnderWakelock(int msgId) { switch(msgId) { diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index 3487fc2c14be..20393250b5b7 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -6412,7 +6412,7 @@ public class AudioService extends IAudioService.Stub final String eventSource = new StringBuilder("setA2dpSuspended(").append(enable) .append(") from u/pid:").append(Binder.getCallingUid()).append("/") .append(Binder.getCallingPid()).toString(); - mDeviceBroker.setA2dpSuspended(enable, false /*internal*/, eventSource); + mDeviceBroker.postSetA2dpSuspended(enable, eventSource); } /** @see AudioManager#setA2dpSuspended(boolean) */ @@ -6422,7 +6422,7 @@ public class AudioService extends IAudioService.Stub final String eventSource = new StringBuilder("setLeAudioSuspended(").append(enable) .append(") from u/pid:").append(Binder.getCallingUid()).append("/") .append(Binder.getCallingPid()).toString(); - mDeviceBroker.setLeAudioSuspended(enable, false /*internal*/, eventSource); + mDeviceBroker.postSetLeAudioSuspended(enable, eventSource); } /** @see AudioManager#isBluetoothScoOn() |