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

Commit 47798291 authored by Zak Cohen's avatar Zak Cohen
Browse files

Make single volume devices more robust to ringer mode changes.

In single volume mode:
Make getNewRingerMode always return the existing one, as setRingerMode
does nothing when in single volume mode.
Check ringer mode change respects single volume mode.

Bug: 69814628
Test: flash to single volume mode device
Change-Id: I66ef173c97118fe471dec462d7a82ad2e62064b0
parent d27c9dab
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -1645,6 +1645,11 @@ public class AudioService extends IAudioService.Stub
    };

    private int getNewRingerMode(int stream, int index, int flags) {
        // setRingerMode does nothing if the device is single volume,so the value would be unchanged
        if (mIsSingleVolume) {
            return getRingerModeExternal();
        }

        // setting volume on ui sounds stream type also controls silent mode
        if (((flags & AudioManager.FLAG_ALLOW_RINGER_MODES) != 0) ||
                (stream == getUiSoundsStreamType())) {
@@ -3691,7 +3696,7 @@ public class AudioService extends IAudioService.Stub
    private int checkForRingerModeChange(int oldIndex, int direction, int step, boolean isMuted,
            String caller, int flags) {
        int result = FLAG_ADJUST_VOLUME;
        if (isPlatformTelevision()) {
        if (isPlatformTelevision() || mIsSingleVolume) {
            return result;
        }