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

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

Merge "Fix issue 4499450: Unknown Ringer Mode"

parents 67048842 72668b2c
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -297,6 +297,9 @@ public class AudioManager {
     */
    public static final int RINGER_MODE_NORMAL = 2;

    // maximum valid ringer mode value. Values must start from 0 and be contiguous.
    private static final int RINGER_MODE_MAX = RINGER_MODE_NORMAL;

    /**
     * Vibrate type that corresponds to the ringer.
     *
@@ -539,6 +542,21 @@ public class AudioManager {
        }
    }

    /**
     * Checks valid ringer mode values.
     *
     * @return true if the ringer mode indicated is valid, false otherwise.
     *
     * @see #setRingerMode(int)
     * @hide
     */
    public static boolean isValidRingerMode(int ringerMode) {
        if (ringerMode < 0 || ringerMode > RINGER_MODE_MAX) {
            return false;
        }
        return true;
    }

    /**
     * Returns the maximum volume index for a particular stream.
     *
@@ -601,6 +619,9 @@ public class AudioManager {
     * @see #getRingerMode()
     */
    public void setRingerMode(int ringerMode) {
        if (!isValidRingerMode(ringerMode)) {
            return;
        }
        IAudioService service = getService();
        try {
            service.setRingerMode(ringerMode);
+6 −0
Original line number Diff line number Diff line
@@ -424,6 +424,12 @@ public class AudioService extends IAudioService.Stub {
        final ContentResolver cr = mContentResolver;

        mRingerMode = System.getInt(cr, System.MODE_RINGER, AudioManager.RINGER_MODE_NORMAL);
        // sanity check in case the settings are restored from a device with incompatible
        // ringer modes
        if (!AudioManager.isValidRingerMode(mRingerMode)) {
            mRingerMode = AudioManager.RINGER_MODE_NORMAL;
            System.putInt(cr, System.MODE_RINGER, mRingerMode);
        }

        mVibrateSetting = System.getInt(cr, System.VIBRATE_ON, 0);