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

Commit 5452a0df authored by Julia Reynolds's avatar Julia Reynolds Committed by Android Git Automerger
Browse files

am 4b74d669: am 48d146c9: am c694ab32: am a3b5a612: Merge "Store ringer mode...

am 4b74d669: am 48d146c9: am c694ab32: am a3b5a612: Merge "Store ringer mode on entering DND mode so it can be restored on exit." into mnc-dev

* commit '4b74d669':
  Store ringer mode on entering DND mode so it can be restored on exit.
parents b84d6605 4b74d669
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -7553,6 +7553,13 @@ public final class Settings {
            }
            }
        }
        }


        /**
         * Value of the ringer before entering zen mode.
         *
         * @hide
         */
        public static final String ZEN_MODE_RINGER_LEVEL = "zen_mode_ringer_level";

        /**
        /**
         * Opaque value, changes when persisted zen mode configuration changes.
         * Opaque value, changes when persisted zen mode configuration changes.
         *
         *
+15 −7
Original line number Original line Diff line number Diff line
@@ -88,7 +88,6 @@ public class ZenModeHelper {
    private int mUser = UserHandle.USER_OWNER;
    private int mUser = UserHandle.USER_OWNER;
    private ZenModeConfig mConfig;
    private ZenModeConfig mConfig;
    private AudioManagerInternal mAudioManager;
    private AudioManagerInternal mAudioManager;
    private int mPreviousRingerMode = -1;
    private boolean mEffectsSuppressed;
    private boolean mEffectsSuppressed;


    public ZenModeHelper(Context context, Looper looper, ConditionProviders conditionProviders) {
    public ZenModeHelper(Context context, Looper looper, ConditionProviders conditionProviders) {
@@ -236,7 +235,6 @@ public class ZenModeHelper {
        }
        }
        pw.print(prefix); pw.print("mUser="); pw.println(mUser);
        pw.print(prefix); pw.print("mUser="); pw.println(mUser);
        dump(pw, prefix, "mConfig", mConfig);
        dump(pw, prefix, "mConfig", mConfig);
        pw.print(prefix); pw.print("mPreviousRingerMode="); pw.println(mPreviousRingerMode);
        pw.print(prefix); pw.print("mEffectsSuppressed="); pw.println(mEffectsSuppressed);
        pw.print(prefix); pw.print("mEffectsSuppressed="); pw.println(mEffectsSuppressed);
        mFiltering.dump(pw, prefix);
        mFiltering.dump(pw, prefix);
        mConditions.dump(pw, prefix);
        mConditions.dump(pw, prefix);
@@ -357,6 +355,17 @@ public class ZenModeHelper {
        Global.putInt(mContext.getContentResolver(), Global.ZEN_MODE, zen);
        Global.putInt(mContext.getContentResolver(), Global.ZEN_MODE, zen);
    }
    }


    private int getPreviousRingerModeSetting() {
        return Global.getInt(mContext.getContentResolver(),
                Global.ZEN_MODE_RINGER_LEVEL, AudioManager.RINGER_MODE_NORMAL);
    }

    private void setPreviousRingerModeSetting(Integer previousRingerLevel) {
        Global.putString(
                mContext.getContentResolver(), Global.ZEN_MODE_RINGER_LEVEL,
                previousRingerLevel == null ? null : Integer.toString(previousRingerLevel));
    }

    private boolean evaluateZenMode(String reason, boolean setRingerMode) {
    private boolean evaluateZenMode(String reason, boolean setRingerMode) {
        if (DEBUG) Log.d(TAG, "evaluateZenMode");
        if (DEBUG) Log.d(TAG, "evaluateZenMode");
        final ArraySet<ZenRule> automaticRules = new ArraySet<ZenRule>();
        final ArraySet<ZenRule> automaticRules = new ArraySet<ZenRule>();
@@ -430,16 +439,15 @@ public class ZenModeHelper {
            case Global.ZEN_MODE_NO_INTERRUPTIONS:
            case Global.ZEN_MODE_NO_INTERRUPTIONS:
            case Global.ZEN_MODE_ALARMS:
            case Global.ZEN_MODE_ALARMS:
                if (ringerModeInternal != AudioManager.RINGER_MODE_SILENT) {
                if (ringerModeInternal != AudioManager.RINGER_MODE_SILENT) {
                    mPreviousRingerMode = ringerModeInternal;
                    setPreviousRingerModeSetting(ringerModeInternal);
                    newRingerModeInternal = AudioManager.RINGER_MODE_SILENT;
                    newRingerModeInternal = AudioManager.RINGER_MODE_SILENT;
                }
                }
                break;
                break;
            case Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS:
            case Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS:
            case Global.ZEN_MODE_OFF:
            case Global.ZEN_MODE_OFF:
                if (ringerModeInternal == AudioManager.RINGER_MODE_SILENT) {
                if (ringerModeInternal == AudioManager.RINGER_MODE_SILENT) {
                    newRingerModeInternal = mPreviousRingerMode != -1 ? mPreviousRingerMode
                    newRingerModeInternal = getPreviousRingerModeSetting();
                            : AudioManager.RINGER_MODE_NORMAL;
                    setPreviousRingerModeSetting(null);
                    mPreviousRingerMode = -1;
                }
                }
                break;
                break;
        }
        }
@@ -593,7 +601,7 @@ public class ZenModeHelper {
                                && mZenMode != Global.ZEN_MODE_ALARMS) {
                                && mZenMode != Global.ZEN_MODE_ALARMS) {
                            newZen = Global.ZEN_MODE_ALARMS;
                            newZen = Global.ZEN_MODE_ALARMS;
                        }
                        }
                        mPreviousRingerMode = ringerModeOld;
                        setPreviousRingerModeSetting(ringerModeOld);
                    }
                    }
                    break;
                    break;
                case AudioManager.RINGER_MODE_VIBRATE:
                case AudioManager.RINGER_MODE_VIBRATE: