Support audience filtering in the Zen Mode settings.
Depends-On: I7c91dec1afeb54505426c4da59ec4d072a60c240 Change-Id: Idf5523e225c1368a43bf46338490c69ed9dffd09
This commit is contained in:
@@ -74,6 +74,7 @@ public class ZenModeSettings extends SettingsPreferenceFragment implements Index
|
|||||||
private static final String KEY_GENERAL = "general";
|
private static final String KEY_GENERAL = "general";
|
||||||
private static final String KEY_CALLS = "phone_calls";
|
private static final String KEY_CALLS = "phone_calls";
|
||||||
private static final String KEY_MESSAGES = "messages";
|
private static final String KEY_MESSAGES = "messages";
|
||||||
|
private static final String KEY_STARRED = "starred";
|
||||||
|
|
||||||
private static final String KEY_AUTOMATIC = "automatic";
|
private static final String KEY_AUTOMATIC = "automatic";
|
||||||
private static final String KEY_WHEN = "when";
|
private static final String KEY_WHEN = "when";
|
||||||
@@ -91,6 +92,7 @@ public class ZenModeSettings extends SettingsPreferenceFragment implements Index
|
|||||||
rt.put(R.string.zen_mode_phone_calls, KEY_CALLS);
|
rt.put(R.string.zen_mode_phone_calls, KEY_CALLS);
|
||||||
}
|
}
|
||||||
rt.put(R.string.zen_mode_messages, KEY_MESSAGES);
|
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_automatic_category, KEY_AUTOMATIC);
|
rt.put(R.string.zen_mode_automatic_category, KEY_AUTOMATIC);
|
||||||
rt.put(R.string.zen_mode_when, KEY_WHEN);
|
rt.put(R.string.zen_mode_when, KEY_WHEN);
|
||||||
rt.put(R.string.zen_mode_start_time, KEY_START_TIME);
|
rt.put(R.string.zen_mode_start_time, KEY_START_TIME);
|
||||||
@@ -194,12 +196,25 @@ public class ZenModeSettings extends SettingsPreferenceFragment implements Index
|
|||||||
});
|
});
|
||||||
|
|
||||||
mStarred = new DropDownPreference(mContext);
|
mStarred = new DropDownPreference(mContext);
|
||||||
mStarred.setEnabled(false);
|
mStarred.setKey(KEY_STARRED);
|
||||||
mStarred.setTitle(R.string.zen_mode_from);
|
mStarred.setTitle(R.string.zen_mode_from);
|
||||||
mStarred.setDropDownWidth(R.dimen.zen_mode_dropdown_width);
|
mStarred.setDropDownWidth(R.dimen.zen_mode_dropdown_width);
|
||||||
mStarred.addItem(R.string.zen_mode_from_anyone, null);
|
mStarred.addItem(R.string.zen_mode_from_anyone, ZenModeConfig.SOURCE_ANYONE);
|
||||||
mStarred.addItem(R.string.zen_mode_from_starred, null);
|
mStarred.addItem(R.string.zen_mode_from_starred, ZenModeConfig.SOURCE_STAR);
|
||||||
mStarred.addItem(R.string.zen_mode_from_contacts, null);
|
mStarred.addItem(R.string.zen_mode_from_contacts, ZenModeConfig.SOURCE_CONTACT);
|
||||||
|
mStarred.setCallback(new DropDownPreference.Callback() {
|
||||||
|
@Override
|
||||||
|
public boolean onItemSelected(int pos, Object newValue) {
|
||||||
|
if (mDisableListeners) return true;
|
||||||
|
final int val = (Integer) newValue;
|
||||||
|
if (val == mConfig.allowFrom) return true;
|
||||||
|
if (DEBUG) Log.d(TAG, "onPrefChange allowFrom=" +
|
||||||
|
ZenModeConfig.sourceToString(val));
|
||||||
|
final ZenModeConfig newConfig = mConfig.copy();
|
||||||
|
newConfig.allowFrom = val;
|
||||||
|
return setZenModeConfig(newConfig);
|
||||||
|
}
|
||||||
|
});
|
||||||
general.addPreference(mStarred);
|
general.addPreference(mStarred);
|
||||||
|
|
||||||
final Preference alarmInfo = new Preference(mContext) {
|
final Preference alarmInfo = new Preference(mContext) {
|
||||||
@@ -317,7 +332,7 @@ public class ZenModeSettings extends SettingsPreferenceFragment implements Index
|
|||||||
mCalls.setChecked(mConfig.allowCalls);
|
mCalls.setChecked(mConfig.allowCalls);
|
||||||
}
|
}
|
||||||
mMessages.setChecked(mConfig.allowMessages);
|
mMessages.setChecked(mConfig.allowMessages);
|
||||||
mStarred.setSelectedItem(0);
|
mStarred.setSelectedValue(mConfig.allowFrom);
|
||||||
mWhen.setSelectedValue(mConfig.sleepMode);
|
mWhen.setSelectedValue(mConfig.sleepMode);
|
||||||
mStart.setTime(mConfig.sleepStartHour, mConfig.sleepStartMinute);
|
mStart.setTime(mConfig.sleepStartHour, mConfig.sleepStartMinute);
|
||||||
mEnd.setTime(mConfig.sleepEndHour, mConfig.sleepEndMinute);
|
mEnd.setTime(mConfig.sleepEndHour, mConfig.sleepEndMinute);
|
||||||
|
Reference in New Issue
Block a user