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

Commit db3a82a1 authored by Betty Chang's avatar Betty Chang Committed by Automerger Merge Worker
Browse files

Merge "[LE Audio] Add BT LE headset check for voice call to update the icon"...

Merge "[LE Audio] Add BT LE headset check for voice call to update the icon" into tm-qpr-dev am: e094dfde am: 5bbb106c

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



Change-Id: Ie63a19802f9d6a7dc70ec2a86eb77ca043eb1c7d
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 70de08a6 5bbb106c
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -432,6 +432,11 @@ public class VolumeDialogControllerImpl implements VolumeDialogController, Dumpa
                            AudioManager.DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER |
                            AudioManager.DEVICE_OUT_BLE_HEADSET)) != 0;
            changed |= updateStreamRoutedToBluetoothW(stream, routedToBluetooth);
        } else if (stream == AudioManager.STREAM_VOICE_CALL) {
            final boolean routedToBluetooth =
                    (mAudio.getDevicesForStream(AudioManager.STREAM_VOICE_CALL)
                            & AudioManager.DEVICE_OUT_BLE_HEADSET) != 0;
            changed |= updateStreamRoutedToBluetoothW(stream, routedToBluetooth);
        }
        return changed;
    }
+7 −2
Original line number Diff line number Diff line
@@ -1771,6 +1771,7 @@ public class VolumeDialogImpl implements VolumeDialog,
        if (ss.level == row.requestedLevel) {
            row.requestedLevel = -1;
        }
        final boolean isVoiceCallStream = row.stream == AudioManager.STREAM_VOICE_CALL;
        final boolean isA11yStream = row.stream == STREAM_ACCESSIBILITY;
        final boolean isRingStream = row.stream == AudioManager.STREAM_RING;
        final boolean isSystemStream = row.stream == AudioManager.STREAM_SYSTEM;
@@ -1815,8 +1816,12 @@ public class VolumeDialogImpl implements VolumeDialog,
        } else if (isRingSilent || zenMuted) {
            iconRes = row.iconMuteRes;
        } else if (ss.routedToBluetooth) {
            if (isVoiceCallStream) {
                iconRes = R.drawable.ic_volume_bt_sco;
            } else {
                iconRes = isStreamMuted(ss) ? R.drawable.ic_volume_media_bt_mute
                                            : R.drawable.ic_volume_media_bt;
            }
        } else if (isStreamMuted(ss)) {
            iconRes = ss.muted ? R.drawable.ic_volume_media_off : row.iconMuteRes;
        } else {
+28 −0
Original line number Diff line number Diff line
@@ -169,6 +169,34 @@ public class VolumeDialogControllerImplTest extends SysuiTestCase {
                LOCK_TASK_MODE_NONE);
    }

    @Test
    public void testVolumeChangeW_deviceOutFromBLEHeadset_doStateChanged() {
        mVolumeController.setDeviceInteractive(false);
        when(mWakefullnessLifcycle.getWakefulness()).thenReturn(
                WakefulnessLifecycle.WAKEFULNESS_AWAKE);
        when(mAudioManager.getDevicesForStream(AudioManager.STREAM_VOICE_CALL)).thenReturn(
                AudioManager.DEVICE_OUT_BLE_HEADSET);

        mVolumeController.onVolumeChangedW(
                AudioManager.STREAM_VOICE_CALL, AudioManager.FLAG_SHOW_UI);

        verify(mCallback, times(1)).onStateChanged(any());
    }

    @Test
    public void testVolumeChangeW_deviceOutFromA2DP_doStateChanged() {
        mVolumeController.setDeviceInteractive(false);
        when(mWakefullnessLifcycle.getWakefulness()).thenReturn(
                WakefulnessLifecycle.WAKEFULNESS_AWAKE);
        when(mAudioManager.getDevicesForStream(AudioManager.STREAM_VOICE_CALL)).thenReturn(
                AudioManager.DEVICE_OUT_BLUETOOTH_A2DP);

        mVolumeController.onVolumeChangedW(
                AudioManager.STREAM_VOICE_CALL, AudioManager.FLAG_SHOW_UI);

        verify(mCallback, never()).onStateChanged(any());
    }

    @Test
    public void testOnRemoteVolumeChanged_newStream_noNullPointer() {
        MediaSession.Token token = new MediaSession.Token(Process.myUid(), null);