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

Commit 16b241a5 authored by Eric Laurent's avatar Eric Laurent Committed by Android (Google) Code Review
Browse files

Merge "Change condition to enter silent mode."

parents 528e382f 3d4c06f9
Loading
Loading
Loading
Loading
+16 −15
Original line number Original line Diff line number Diff line
@@ -1558,21 +1558,29 @@ public class AudioService extends IAudioService.Stub {
    private boolean checkForRingerModeChange(int oldIndex, int direction) {
    private boolean checkForRingerModeChange(int oldIndex, int direction) {
        boolean adjustVolumeIndex = true;
        boolean adjustVolumeIndex = true;
        int newRingerMode = mRingerMode;
        int newRingerMode = mRingerMode;
        int uiIndex = (oldIndex + 5) / 10;


        if (mRingerMode == AudioManager.RINGER_MODE_NORMAL) {
        if (mRingerMode == AudioManager.RINGER_MODE_NORMAL) {
            // audible mode, at the bottom of the scale
            if ((direction == AudioManager.ADJUST_LOWER) && (uiIndex <= 1)) {
            if ((direction == AudioManager.ADJUST_LOWER &&
                // enter silent mode if current index is the last audible one and not repeating a
                 mPrevVolDirection != AudioManager.ADJUST_LOWER) &&
                // volume key down
                ((oldIndex + 5) / 10 == 0)) {
                if (mPrevVolDirection != AudioManager.ADJUST_LOWER) {
                    // "silent mode", but which one?
                    // "silent mode", but which one?
                    newRingerMode = System.getInt(mContentResolver, System.VIBRATE_IN_SILENT, 1) == 1
                    newRingerMode = System.getInt(mContentResolver, System.VIBRATE_IN_SILENT, 1) == 1
                        ? AudioManager.RINGER_MODE_VIBRATE
                        ? AudioManager.RINGER_MODE_VIBRATE
                        : AudioManager.RINGER_MODE_SILENT;
                        : AudioManager.RINGER_MODE_SILENT;
                }
                }
                if (uiIndex == 0) {
                    adjustVolumeIndex = false;
                }
            }
        } else {
        } else {
            if (direction == AudioManager.ADJUST_RAISE) {
            if (direction == AudioManager.ADJUST_RAISE) {
                // exiting silent mode
                // exiting silent mode
                newRingerMode = AudioManager.RINGER_MODE_NORMAL;
                newRingerMode = AudioManager.RINGER_MODE_NORMAL;
                if (uiIndex != 0) {
                    adjustVolumeIndex = false;
                }
            } else {
            } else {
                // prevent last audible index to reach 0
                // prevent last audible index to reach 0
                adjustVolumeIndex = false;
                adjustVolumeIndex = false;
@@ -1581,13 +1589,6 @@ public class AudioService extends IAudioService.Stub {


        if (newRingerMode != mRingerMode) {
        if (newRingerMode != mRingerMode) {
            setRingerMode(newRingerMode);
            setRingerMode(newRingerMode);

            /*
             * If we are changing ringer modes, do not increment/decrement the
             * volume index. Instead, the handler for the message above will
             * take care of changing the index.
             */
            adjustVolumeIndex = false;
        }
        }


        mPrevVolDirection = direction;
        mPrevVolDirection = direction;