Merge "AS: use dock device for volume when dock device is selected." into udc-dev am: 4e942f0802

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22598858

Change-Id: I0b0b94c0ac6cc62ae2abc483437ae7b638e57de8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Jiabin Huang
2023-04-12 18:58:52 +00:00
committed by Automerger Merge Worker

View File

@@ -7053,13 +7053,16 @@ public class AudioService extends IAudioService.Stub
return deviceSet.iterator().next();
} else {
// Multiple device selection is either:
// - dock + one other device: give priority to dock in this case.
// - speaker + one other device: give priority to speaker in this case.
// - one A2DP device + another device: happens with duplicated output. In this case
// retain the device on the A2DP output as the other must not correspond to an active
// selection if not the speaker.
// - HDMI-CEC system audio mode only output: give priority to available item in order.
if (deviceSet.contains(AudioSystem.DEVICE_OUT_SPEAKER)) {
if (deviceSet.contains(AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET)) {
return AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET;
} else if (deviceSet.contains(AudioSystem.DEVICE_OUT_SPEAKER)) {
return AudioSystem.DEVICE_OUT_SPEAKER;
} else if (deviceSet.contains(AudioSystem.DEVICE_OUT_SPEAKER_SAFE)) {
// Note: DEVICE_OUT_SPEAKER_SAFE not present in getDeviceSetForStreamDirect