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

Commit 2a1e42d1 authored by Jean-Michel Trivi's avatar Jean-Michel Trivi Committed by Automerger Merge Worker
Browse files

Merge "AudioService: fix NOTIFICATION unmuted while in silent/vibrate mode"...

Merge "AudioService: fix NOTIFICATION unmuted while in silent/vibrate mode" into udc-dev am: 2b9dbdfc

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



Change-Id: I434db5ba7fffe7e27bc2b79f5d84b5b930d11bb3
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents e8c531ed 2b9dbdfc
Loading
Loading
Loading
Loading
+15 −3
Original line number Diff line number Diff line
@@ -3373,8 +3373,13 @@ public class AudioService extends IAudioService.Stub
            return;
        }
        sVolumeLogger.enqueue(new VolumeEvent(VolumeEvent.VOL_ADJUST_STREAM_VOL, streamType,
                direction/*val1*/, flags/*val2*/, callingPackage));
        final VolumeEvent evt = new VolumeEvent(VolumeEvent.VOL_ADJUST_STREAM_VOL, streamType,
                direction/*val1*/, flags/*val2*/, callingPackage);
        sVolumeLogger.enqueue(evt);
        // also logging mute/unmute calls to the dedicated logger
        if (isMuteAdjust(direction)) {
            sMuteLogger.enqueue(evt);
        }
        adjustStreamVolume(streamType, direction, flags, callingPackage, callingPackage,
                Binder.getCallingUid(), Binder.getCallingPid(), attributionTag,
                callingHasAudioSettingsPermission(), AudioDeviceVolumeManager.ADJUST_MODE_NORMAL);
@@ -3475,7 +3480,7 @@ public class AudioService extends IAudioService.Stub
        }
        // If either the client forces allowing ringer modes for this adjustment,
        // or the stream type is one that is affected by ringer modes
        // or stream is used for UI sonification
        if (((flags & AudioManager.FLAG_ALLOW_RINGER_MODES) != 0) ||
                (isUiSoundsStreamType(streamTypeAlias))) {
            int ringerMode = getRingerModeInternal();
@@ -3496,6 +3501,13 @@ public class AudioService extends IAudioService.Stub
            if ((result & AudioManager.FLAG_SHOW_VIBRATE_HINT) != 0) {
                flags |= AudioManager.FLAG_SHOW_VIBRATE_HINT;
            }
        } else if (isStreamMutedByRingerOrZenMode(streamTypeAlias) && streamState.mIsMuted) {
            // if the stream is currently muted streams by ringer/zen mode
            // then it cannot be unmuted (without FLAG_ALLOW_RINGER_MODES)
            if (direction == AudioManager.ADJUST_TOGGLE_MUTE
                    || direction == AudioManager.ADJUST_UNMUTE) {
                adjustVolume = false;
            }
        }
        // If the ringer mode or zen is muting the stream, do not change stream unless
+1 −1
Original line number Diff line number Diff line
@@ -609,7 +609,7 @@ public class AudioServiceEvents {
                    (mStreamType <= AudioSystem.getNumStreamTypes() && mStreamType >= 0)
                            ? AudioSystem.STREAM_NAMES[mStreamType]
                            : ("stream " + mStreamType);
            return new StringBuilder("Error trying to unmute ")
            return new StringBuilder("Invalid call to unmute ")
                    .append(streamName)
                    .append(" despite muted streams 0x")
                    .append(Integer.toHexString(mRingerZenMutedStreams))