OSDN Git Service

Settings: Wire up new zen events config option.
authorJohn Spurlock <jspurlock@google.com>
Fri, 19 Sep 2014 19:31:12 +0000 (15:31 -0400)
committerJohn Spurlock <jspurlock@google.com>
Mon, 22 Sep 2014 20:45:06 +0000 (16:45 -0400)
Add a new switch to zen mode settings for the new
events config attribute.

Depends on frameworks/base:
  Iff10df385206ad73c3423ff118c79e94a10918d9

Bug:17580878
Change-Id: Ib6c74a871aa02f9379dce58dd5bca817dcd3929a

res/values/strings.xml
res/xml/zen_mode_settings.xml
src/com/android/settings/notification/ZenModeSettings.java

index e7a124e..139bacc 100644 (file)
     <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>
     <!-- [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>
index aea4291..8761d10 100644 (file)
         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"
index 091e121..7fd3aa1 100644 (file)
@@ -72,6 +72,7 @@ public class ZenModeSettings extends SettingsPreferenceFragment implements Index
     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 @@ public class ZenModeSettings extends SettingsPreferenceFragment implements Index
         }
         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 @@ public class ZenModeSettings extends SettingsPreferenceFragment implements Index
     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 @@ public class ZenModeSettings extends SettingsPreferenceFragment implements Index
         });
         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 @@ public class ZenModeSettings extends SettingsPreferenceFragment implements Index
         }
         mMessages.setChecked(mConfig.allowMessages);
         mStarred.setSelectedValue(mConfig.allowFrom);
+        mEvents.setChecked(mConfig.allowEvents);
         updateStarredEnabled();
         updateDays();
         mStart.setTime(mConfig.sleepStartHour, mConfig.sleepStartMinute);