Settings: Wire up new zen events config option.
Add a new switch to zen mode settings for the new
events config attribute.
Depends on frameworks/base:
Iff10df385206ad73c3423ff118c79e94a10918d9
Bug:17580878
Change-Id: Ib6c74a871aa02f9379dce58dd5bca817dcd3929a
diff --git a/res/values/strings.xml b/res/values/strings.xml
index e7a124e..139bacc 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -5823,13 +5823,13 @@
<string name="zen_mode_entry_conditions_summary_none">Never</string>
<!-- [CHAR LIMIT=20] Zen mode settings: Phone calls option -->
- <string name="zen_mode_phone_calls">Phone calls</string>
+ <string name="zen_mode_phone_calls">Calls</string>
<!-- [CHAR LIMIT=20] Zen mode settings: Messages option -->
<string name="zen_mode_messages">Messages</string>
- <!-- [CHAR LIMIT=20] Zen mode settings: From option -->
- <string name="zen_mode_from">From</string>
+ <!-- [CHAR LIMIT=50] Zen mode settings: From option -->
+ <string name="zen_mode_from">Calls/messages from</string>
<!-- [CHAR LIMIT=30] Zen mode settings: From option value: Anyone -->
<string name="zen_mode_from_anyone">Anyone</string>
@@ -5840,8 +5840,11 @@
<!-- [CHAR LIMIT=30] Zen mode settings: From option value: Starred contacts -->
<string name="zen_mode_from_starred">Starred contacts only</string>
+ <!-- [CHAR LIMIT=50] Zen mode settings: Events option -->
+ <string name="zen_mode_events">Events and reminders</string>
+
<!-- [CHAR LIMIT=80] Zen mode settings: Reminder text about alarms -->
- <string name="zen_mode_alarm_info">Alarms and other personal reminders are always priority</string>
+ <string name="zen_mode_alarm_info">Alarms are always priority interruptions</string>
<!-- [CHAR LIMIT=20] Zen mode settings: When option -->
<string name="zen_mode_when">Automatically turn on</string>
diff --git a/res/xml/zen_mode_settings.xml b/res/xml/zen_mode_settings.xml
index aea4291..8761d10 100644
--- a/res/xml/zen_mode_settings.xml
+++ b/res/xml/zen_mode_settings.xml
@@ -30,6 +30,13 @@
android:title="@string/zen_mode_important_category" >
<SwitchPreference
+ android:key="events"
+ android:title="@string/zen_mode_events"
+ android:persistent="false"
+ android:switchTextOff=""
+ android:switchTextOn="" />
+
+ <SwitchPreference
android:key="phone_calls"
android:title="@string/zen_mode_phone_calls"
android:persistent="false"
diff --git a/src/com/android/settings/notification/ZenModeSettings.java b/src/com/android/settings/notification/ZenModeSettings.java
index 091e121..7fd3aa1 100644
--- a/src/com/android/settings/notification/ZenModeSettings.java
+++ b/src/com/android/settings/notification/ZenModeSettings.java
@@ -72,6 +72,7 @@
private static final String KEY_CALLS = "phone_calls";
private static final String KEY_MESSAGES = "messages";
private static final String KEY_STARRED = "starred";
+ private static final String KEY_EVENTS = "events";
private static final String KEY_ALARM_INFO = "alarm_info";
private static final String KEY_DOWNTIME = "downtime";
@@ -112,6 +113,7 @@
}
rt.put(R.string.zen_mode_messages, KEY_MESSAGES);
rt.put(R.string.zen_mode_from_starred, KEY_STARRED);
+ rt.put(R.string.zen_mode_events, KEY_EVENTS);
rt.put(R.string.zen_mode_alarm_info, KEY_ALARM_INFO);
rt.put(R.string.zen_mode_downtime_category, KEY_DOWNTIME);
rt.put(R.string.zen_mode_downtime_days, KEY_DAYS);
@@ -132,6 +134,7 @@
private SwitchPreference mCalls;
private SwitchPreference mMessages;
private DropDownPreference mStarred;
+ private SwitchPreference mEvents;
private Preference mDays;
private TimePickerPreference mStart;
private TimePickerPreference mEnd;
@@ -220,6 +223,20 @@
});
important.addPreference(mStarred);
+ mEvents = (SwitchPreference) important.findPreference(KEY_EVENTS);
+ mEvents.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ if (mDisableListeners) return true;
+ final boolean val = (Boolean) newValue;
+ if (val == mConfig.allowEvents) return true;
+ if (DEBUG) Log.d(TAG, "onPrefChange allowEvents=" + val);
+ final ZenModeConfig newConfig = mConfig.copy();
+ newConfig.allowEvents = val;
+ return setZenModeConfig(newConfig);
+ }
+ });
+
final PreferenceCategory downtime = (PreferenceCategory) root.findPreference(KEY_DOWNTIME);
mDays = downtime.findPreference(KEY_DAYS);
@@ -365,6 +382,7 @@
}
mMessages.setChecked(mConfig.allowMessages);
mStarred.setSelectedValue(mConfig.allowFrom);
+ mEvents.setChecked(mConfig.allowEvents);
updateStarredEnabled();
updateDays();
mStart.setTime(mConfig.sleepStartHour, mConfig.sleepStartMinute);