Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 810011d2 authored by Julia Reynolds's avatar Julia Reynolds Committed by Android (Google) Code Review
Browse files

Merge "Alarm can end time-based rule." into nyc-dev

parents 6ef09978 97d9100f
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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>
+7 −0
Original line number Diff line number Diff line
@@ -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"
+14 −0
Original line number Diff line number Diff line
@@ -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();
    }