Alarm can end time-based rule.
Bug: 21069008 Change-Id: I83527f787b7daaf936029674202a27900550b652
This commit is contained in:
@@ -6094,6 +6094,12 @@
|
||||
<!-- [CHAR LIMIT=40] Zen mode settings: Downtime days option value, all days set -->
|
||||
<string name="zen_mode_schedule_rule_days_all">Every day</string>
|
||||
|
||||
<!-- [CHAR LIMIT=60] Zen mode settings: Downtime rule setting -->
|
||||
<string name="zen_mode_schedule_alarm_title">Alarm can override end time</string>
|
||||
|
||||
<!-- [CHAR LIMIT=NONE] Zen mode settings: Downtime rule setting -->
|
||||
<string name="zen_mode_schedule_alarm_summary">Stop at the end time or next alarm, whichever comes first</string>
|
||||
|
||||
<!-- [CHAR LIMIT=40] General divider text when concatenating multiple items in a text summary -->
|
||||
<string name="summary_divider_text">,\u0020</string>
|
||||
|
||||
|
@@ -32,6 +32,13 @@
|
||||
|
||||
<!-- Start time/End time added and removed here! :-) -->
|
||||
|
||||
<!-- Exit DND mode with alarm -->
|
||||
<SwitchPreference
|
||||
android:key="exit_at_alarm"
|
||||
android:title="@string/zen_mode_schedule_alarm_title"
|
||||
android:summary="@string/zen_mode_schedule_alarm_summary"
|
||||
android:order="99" />
|
||||
|
||||
<!-- Zen mode -->
|
||||
<DropDownPreference
|
||||
android:key="zen_mode"
|
||||
|
@@ -29,6 +29,7 @@ import android.os.Bundle;
|
||||
import android.provider.Settings;
|
||||
import android.service.notification.ZenModeConfig;
|
||||
import android.service.notification.ZenModeConfig.ScheduleInfo;
|
||||
import android.support.v14.preference.SwitchPreference;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.Preference.OnPreferenceClickListener;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
@@ -49,6 +50,7 @@ public class ZenModeScheduleRuleSettings extends ZenModeRuleSettingsBase {
|
||||
private static final String KEY_DAYS = "days";
|
||||
private static final String KEY_START_TIME = "start_time";
|
||||
private static final String KEY_END_TIME = "end_time";
|
||||
private static final String KEY_EXIT_AT_ALARM = "exit_at_alarm";
|
||||
|
||||
public static final String ACTION = Settings.ACTION_ZEN_MODE_SCHEDULE_RULE_SETTINGS;
|
||||
|
||||
@@ -58,6 +60,7 @@ public class ZenModeScheduleRuleSettings extends ZenModeRuleSettingsBase {
|
||||
private Preference mDays;
|
||||
private TimePickerPreference mStart;
|
||||
private TimePickerPreference mEnd;
|
||||
private SwitchPreference mExitAtAlarm;
|
||||
|
||||
private ScheduleInfo mSchedule;
|
||||
|
||||
@@ -137,6 +140,16 @@ public class ZenModeScheduleRuleSettings extends ZenModeRuleSettingsBase {
|
||||
});
|
||||
root.addPreference(mEnd);
|
||||
mEnd.setDependency(mDays.getKey());
|
||||
|
||||
mExitAtAlarm = (SwitchPreference) root.findPreference(KEY_EXIT_AT_ALARM);
|
||||
mExitAtAlarm.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object o) {
|
||||
mSchedule.exitAtAlarm = (Boolean) o;
|
||||
updateRule(ZenModeConfig.toScheduleConditionId(mSchedule));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void updateDays() {
|
||||
@@ -181,6 +194,7 @@ public class ZenModeScheduleRuleSettings extends ZenModeRuleSettingsBase {
|
||||
updateDays();
|
||||
mStart.setTime(mSchedule.startHour, mSchedule.startMinute);
|
||||
mEnd.setTime(mSchedule.endHour, mSchedule.endMinute);
|
||||
mExitAtAlarm.setChecked(mSchedule.exitAtAlarm);
|
||||
updateEndSummary();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user