Settings: Migrate calls & messages priority settings.
Bug: 18635172 Change-Id: Ib5fe3bc80590875bb4a1547013ac3444939ab6fd
This commit is contained in:
@@ -6160,17 +6160,17 @@
|
|||||||
<!-- [CHAR LIMIT=20] Zen mode settings: Messages option -->
|
<!-- [CHAR LIMIT=20] Zen mode settings: Messages option -->
|
||||||
<string name="zen_mode_messages">Messages</string>
|
<string name="zen_mode_messages">Messages</string>
|
||||||
|
|
||||||
<!-- [CHAR LIMIT=50] Zen mode settings: From option -->
|
<!-- [CHAR LIMIT=40] Zen mode settings: Calls or messages option value: From anyone -->
|
||||||
<string name="zen_mode_from">Calls/messages from</string>
|
<string name="zen_mode_from_anyone">From anyone</string>
|
||||||
|
|
||||||
<!-- [CHAR LIMIT=30] Zen mode settings: From option value: Anyone -->
|
<!-- [CHAR LIMIT=40] Zen mode settings: Calls or messages option value: From contacts only -->
|
||||||
<string name="zen_mode_from_anyone">Anyone</string>
|
<string name="zen_mode_from_contacts">From contacts only</string>
|
||||||
|
|
||||||
<!-- [CHAR LIMIT=30] Zen mode settings: From option value: Contacts -->
|
<!-- [CHAR LIMIT=40] Zen mode settings: Calls or messages option value: From starred contacts only -->
|
||||||
<string name="zen_mode_from_contacts">Contacts only</string>
|
<string name="zen_mode_from_starred">From starred contacts only</string>
|
||||||
|
|
||||||
<!-- [CHAR LIMIT=30] Zen mode settings: From option value: Starred contacts -->
|
<!-- [CHAR LIMIT=40] Zen mode settings: Calls or messages option value: None -->
|
||||||
<string name="zen_mode_from_starred">Starred contacts only</string>
|
<string name="zen_mode_from_none">None</string>
|
||||||
|
|
||||||
<!-- [CHAR LIMIT=50] Zen mode settings: Alarms option -->
|
<!-- [CHAR LIMIT=50] Zen mode settings: Alarms option -->
|
||||||
<string name="zen_mode_alarms">Alarms</string>
|
<string name="zen_mode_alarms">Alarms</string>
|
||||||
|
@@ -46,26 +46,16 @@
|
|||||||
android:switchTextOn="" />
|
android:switchTextOn="" />
|
||||||
|
|
||||||
<!-- Messages -->
|
<!-- Messages -->
|
||||||
<SwitchPreference
|
<com.android.settings.DropDownPreference
|
||||||
android:key="messages"
|
android:key="messages"
|
||||||
android:title="@string/zen_mode_messages"
|
android:title="@string/zen_mode_messages"
|
||||||
android:persistent="false"
|
android:persistent="false" />
|
||||||
android:switchTextOff=""
|
|
||||||
android:switchTextOn="" />
|
|
||||||
|
|
||||||
<!-- Calls -->
|
<!-- Calls -->
|
||||||
<SwitchPreference
|
<com.android.settings.DropDownPreference
|
||||||
android:key="calls"
|
android:key="calls"
|
||||||
android:title="@string/zen_mode_calls"
|
android:title="@string/zen_mode_calls"
|
||||||
android:persistent="false"
|
android:persistent="false" />
|
||||||
android:switchTextOff=""
|
|
||||||
android:switchTextOn="" />
|
|
||||||
|
|
||||||
<!-- Messages/calls from -->
|
|
||||||
<com.android.settings.DropDownPreference
|
|
||||||
android:key="starred"
|
|
||||||
android:title="@string/zen_mode_from"
|
|
||||||
android:persistent="false" />
|
|
||||||
|
|
||||||
<!-- Repeat callers -->
|
<!-- Repeat callers -->
|
||||||
<SwitchPreference
|
<SwitchPreference
|
||||||
|
@@ -34,15 +34,15 @@ public class ZenModePrioritySettings extends ZenModeSettingsBase implements Inde
|
|||||||
private static final String KEY_EVENTS = "events";
|
private static final String KEY_EVENTS = "events";
|
||||||
private static final String KEY_MESSAGES = "messages";
|
private static final String KEY_MESSAGES = "messages";
|
||||||
private static final String KEY_CALLS = "calls";
|
private static final String KEY_CALLS = "calls";
|
||||||
private static final String KEY_STARRED = "starred";
|
|
||||||
private static final String KEY_REPEAT_CALLERS = "repeat_callers";
|
private static final String KEY_REPEAT_CALLERS = "repeat_callers";
|
||||||
|
|
||||||
|
private static final int SOURCE_NONE = -1;
|
||||||
|
|
||||||
private boolean mDisableListeners;
|
private boolean mDisableListeners;
|
||||||
private SwitchPreference mReminders;
|
private SwitchPreference mReminders;
|
||||||
private SwitchPreference mEvents;
|
private SwitchPreference mEvents;
|
||||||
private SwitchPreference mMessages;
|
private DropDownPreference mMessages;
|
||||||
private SwitchPreference mCalls;
|
private DropDownPreference mCalls;
|
||||||
private DropDownPreference mStarred;
|
|
||||||
private SwitchPreference mRepeatCallers;
|
private SwitchPreference mRepeatCallers;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -79,48 +79,46 @@ public class ZenModePrioritySettings extends ZenModeSettingsBase implements Inde
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
mMessages = (SwitchPreference) root.findPreference(KEY_MESSAGES);
|
mMessages = (DropDownPreference) root.findPreference(KEY_MESSAGES);
|
||||||
mMessages.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
addSources(mMessages);
|
||||||
@Override
|
mMessages.setCallback(new DropDownPreference.Callback() {
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
|
||||||
if (mDisableListeners) return true;
|
|
||||||
final boolean val = (Boolean) newValue;
|
|
||||||
if (val == mConfig.allowMessages) return true;
|
|
||||||
if (DEBUG) Log.d(TAG, "onPrefChange allowMessages=" + val);
|
|
||||||
final ZenModeConfig newConfig = mConfig.copy();
|
|
||||||
newConfig.allowMessages = val;
|
|
||||||
return setZenModeConfig(newConfig);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
mCalls = (SwitchPreference) root.findPreference(KEY_CALLS);
|
|
||||||
mCalls.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
|
||||||
@Override
|
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
|
||||||
if (mDisableListeners) return true;
|
|
||||||
final boolean val = (Boolean) newValue;
|
|
||||||
if (val == mConfig.allowCalls) return true;
|
|
||||||
if (DEBUG) Log.d(TAG, "onPrefChange allowCalls=" + val);
|
|
||||||
final ZenModeConfig newConfig = mConfig.copy();
|
|
||||||
newConfig.allowCalls = val;
|
|
||||||
return setZenModeConfig(newConfig);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
mStarred = (DropDownPreference) root.findPreference(KEY_STARRED);
|
|
||||||
mStarred.addItem(R.string.zen_mode_from_anyone, ZenModeConfig.SOURCE_ANYONE);
|
|
||||||
mStarred.addItem(R.string.zen_mode_from_contacts, ZenModeConfig.SOURCE_CONTACT);
|
|
||||||
mStarred.addItem(R.string.zen_mode_from_starred, ZenModeConfig.SOURCE_STAR);
|
|
||||||
mStarred.setCallback(new DropDownPreference.Callback() {
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onItemSelected(int pos, Object newValue) {
|
public boolean onItemSelected(int pos, Object newValue) {
|
||||||
if (mDisableListeners) return true;
|
if (mDisableListeners) return true;
|
||||||
final int val = (Integer) newValue;
|
final int val = (Integer) newValue;
|
||||||
if (val == mConfig.allowFrom) return true;
|
final boolean allowMessages = val != SOURCE_NONE;
|
||||||
if (DEBUG) Log.d(TAG, "onPrefChange allowFrom=" +
|
final int allowMessagesFrom = val == SOURCE_NONE ? mConfig.allowMessagesFrom : val;
|
||||||
ZenModeConfig.sourceToString(val));
|
if (allowMessages == mConfig.allowMessages
|
||||||
|
&& allowMessagesFrom == mConfig.allowMessagesFrom) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (DEBUG) Log.d(TAG, "onPrefChange allowMessages=" + allowMessages
|
||||||
|
+ " allowMessagesFrom=" + ZenModeConfig.sourceToString(allowMessagesFrom));
|
||||||
final ZenModeConfig newConfig = mConfig.copy();
|
final ZenModeConfig newConfig = mConfig.copy();
|
||||||
newConfig.allowFrom = val;
|
newConfig.allowMessages = allowMessages;
|
||||||
|
newConfig.allowMessagesFrom = allowMessagesFrom;
|
||||||
|
return setZenModeConfig(newConfig);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
mCalls = (DropDownPreference) root.findPreference(KEY_CALLS);
|
||||||
|
addSources(mCalls);
|
||||||
|
mCalls.setCallback(new DropDownPreference.Callback() {
|
||||||
|
@Override
|
||||||
|
public boolean onItemSelected(int pos, Object newValue) {
|
||||||
|
if (mDisableListeners) return true;
|
||||||
|
final int val = (Integer) newValue;
|
||||||
|
final boolean allowCalls = val != SOURCE_NONE;
|
||||||
|
final int allowCallsFrom = val == SOURCE_NONE ? mConfig.allowCallsFrom : val;
|
||||||
|
if (allowCalls == mConfig.allowCalls
|
||||||
|
&& allowCallsFrom == mConfig.allowCallsFrom) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (DEBUG) Log.d(TAG, "onPrefChange allowCalls=" + allowCalls
|
||||||
|
+ " allowCallsFrom=" + ZenModeConfig.sourceToString(allowCallsFrom));
|
||||||
|
final ZenModeConfig newConfig = mConfig.copy();
|
||||||
|
newConfig.allowCalls = allowCalls;
|
||||||
|
newConfig.allowCallsFrom = allowCallsFrom;
|
||||||
return setZenModeConfig(newConfig);
|
return setZenModeConfig(newConfig);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -158,16 +156,14 @@ public class ZenModePrioritySettings extends ZenModeSettingsBase implements Inde
|
|||||||
private void updateControls() {
|
private void updateControls() {
|
||||||
mDisableListeners = true;
|
mDisableListeners = true;
|
||||||
if (mCalls != null) {
|
if (mCalls != null) {
|
||||||
mCalls.setChecked(mConfig.allowCalls);
|
mCalls.setSelectedValue(mConfig.allowCalls ? mConfig.allowCallsFrom : SOURCE_NONE);
|
||||||
}
|
}
|
||||||
mMessages.setChecked(mConfig.allowMessages);
|
mMessages.setSelectedValue(mConfig.allowMessages ? mConfig.allowMessagesFrom : SOURCE_NONE);
|
||||||
mStarred.setSelectedValue(mConfig.allowFrom);
|
|
||||||
mStarred.setEnabled(mConfig.allowCalls || mConfig.allowMessages);
|
|
||||||
mReminders.setChecked(mConfig.allowReminders);
|
mReminders.setChecked(mConfig.allowReminders);
|
||||||
mEvents.setChecked(mConfig.allowEvents);
|
mEvents.setChecked(mConfig.allowEvents);
|
||||||
mRepeatCallers.setChecked(mConfig.allowRepeatCallers);
|
mRepeatCallers.setChecked(mConfig.allowRepeatCallers);
|
||||||
mRepeatCallers.setEnabled(!mConfig.allowCalls
|
mRepeatCallers.setEnabled(!mConfig.allowCalls
|
||||||
|| mConfig.allowFrom != ZenModeConfig.SOURCE_ANYONE);
|
|| mConfig.allowCallsFrom != ZenModeConfig.SOURCE_ANYONE);
|
||||||
mDisableListeners = false;
|
mDisableListeners = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -176,4 +172,11 @@ public class ZenModePrioritySettings extends ZenModeSettingsBase implements Inde
|
|||||||
return MetricsLogger.NOTIFICATION_ZEN_MODE_PRIORITY;
|
return MetricsLogger.NOTIFICATION_ZEN_MODE_PRIORITY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void addSources(DropDownPreference pref) {
|
||||||
|
pref.addItem(R.string.zen_mode_from_anyone, ZenModeConfig.SOURCE_ANYONE);
|
||||||
|
pref.addItem(R.string.zen_mode_from_contacts, ZenModeConfig.SOURCE_CONTACT);
|
||||||
|
pref.addItem(R.string.zen_mode_from_starred, ZenModeConfig.SOURCE_STAR);
|
||||||
|
pref.addItem(R.string.zen_mode_from_none, SOURCE_NONE);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user