Merge "Store ringer mode on entering DND mode so it can be restored on exit." into mnc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
a3b5a61271
@@ -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.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user