Merge "AS: Fix sometimes invalid volume set to LE Audio devices" am: f38b225284 am: 61bf3ed932

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

Change-Id: If58acda252562c78c548df03b3ffa30fd39a9bdc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Jakub Tyszkowski
2023-03-29 09:26:07 +00:00
committed by Automerger Merge Worker

View File

@@ -4263,13 +4263,14 @@ public class AudioService extends IAudioService.Stub
return;
}
// Forcefully set LE audio volume as a workaround, since in some cases
// (like the outgoing call) the value of 'device' is not DEVICE_OUT_BLE_*
// even when BLE is connected.
// In some cases (like the outgoing or rejected call) the value of 'device' is not
// DEVICE_OUT_BLE_* even when BLE is connected. Changing the volume level in such case
// may cuase the other devices volume level leaking into the LeAudio device settings.
if (!AudioSystem.isLeAudioDeviceType(device)) {
Log.w(TAG, "setLeAudioVolumeOnModeUpdate got unexpected device=" + device
+ ", forcing to device=" + AudioSystem.DEVICE_OUT_BLE_HEADSET);
device = AudioSystem.DEVICE_OUT_BLE_HEADSET;
Log.w(TAG, "setLeAudioVolumeOnModeUpdate ignoring invalid device="
+ device + ", mode=" + mode + ", index=" + index + " maxIndex=" + maxIndex
+ " streamType=" + streamType);
return;
}
if (DEBUG_VOL) {