Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ab52cdf0 authored by Jakub Tyszkowski's avatar Jakub Tyszkowski Committed by Automerger Merge Worker
Browse files

Merge "AudioService: Use proper stream context for Le Audio stream volume" am:...

Merge "AudioService: Use proper stream context for Le Audio stream volume" am: 1861c325 am: bff977a1

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



Change-Id: I08df5c9531535663444cfda544f36109d1a605b6
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 690d0acc bff977a1
Loading
Loading
Loading
Loading
+12 −8
Original line number Diff line number Diff line
@@ -4018,7 +4018,7 @@ public class AudioService extends IAudioService.Stub
        }
    }
    private void setLeAudioVolumeOnModeUpdate(int mode, int streamType, int device) {
    private void setLeAudioVolumeOnModeUpdate(int mode, int device) {
        switch (mode) {
            case AudioSystem.MODE_IN_COMMUNICATION:
            case AudioSystem.MODE_IN_CALL:
@@ -4032,10 +4032,16 @@ public class AudioService extends IAudioService.Stub
                return;
        }
        // Currently, DEVICE_OUT_BLE_HEADSET is the only output type for LE_AUDIO profile.
        // (See AudioDeviceBroker#createBtDeviceInfo())
        int index = mStreamStates[streamType].getIndex(AudioSystem.DEVICE_OUT_BLE_HEADSET);
        int maxIndex = mStreamStates[streamType].getMaxIndex();
        // 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.
        if (!AudioSystem.isLeAudioDeviceType(device)) {
            device = AudioSystem.DEVICE_OUT_BLE_HEADSET;
        }
        final int streamType = getBluetoothContextualVolumeStream(mode);
        final int index = mStreamStates[streamType].getIndex(device);
        final int maxIndex = mStreamStates[streamType].getMaxIndex();
        if (DEBUG_VOL) {
            Log.d(TAG, "setLeAudioVolumeOnModeUpdate postSetLeAudioVolumeIndex index="
@@ -5421,9 +5427,7 @@ public class AudioService extends IAudioService.Stub
                // change of mode may require volume to be re-applied on some devices
                updateAbsVolumeMultiModeDevices(previousMode, mode);
                // Forcefully set LE audio volume as a workaround, since the value of 'device'
                // is not DEVICE_OUT_BLE_* even when BLE is connected.
                setLeAudioVolumeOnModeUpdate(mode, streamType, device);
                setLeAudioVolumeOnModeUpdate(mode, device);
                // when entering RINGTONE, IN_CALL or IN_COMMUNICATION mode, clear all SCO
                // connections not started by the application changing the mode when pid changes