AS: use dock device for volume when dock device is selected.

Bug: 262415494
Test: make
Change-Id: I91447fbea6fbfe0e7f290f8832ac44dc71b60042
This commit is contained in:
jiabin
2023-04-12 16:27:48 +00:00
parent 7ee8af55c9
commit a2a208e6ee

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