Support adding an automatic schedule to previously-manual system-owned modes

Bug: 342156843
Bug: 326442408
Flag: android.app.modes_ui
Test: atest com.android.settings.notification.modes
Change-Id: Ib7d15b8fc949fa73015537f03a882ef7eb6b4bcd
This commit is contained in:
Matías Hernández
2024-06-17 16:17:15 +02:00
parent c956160fe7
commit 0bf4899f3e
13 changed files with 430 additions and 88 deletions

View File

@@ -16,9 +16,7 @@
package com.android.settings.notification.modes;
import android.app.Flags;
import android.content.Context;
import android.service.notification.SystemZenRules;
import android.service.notification.ZenModeConfig;
import android.text.format.DateFormat;
import android.util.ArraySet;
@@ -116,16 +114,13 @@ class ZenModeSetSchedulePreferenceController extends AbstractZenModePreferenceCo
@VisibleForTesting
protected Function<ZenMode, ZenMode> updateScheduleMode(ZenModeConfig.ScheduleInfo schedule) {
return (zenMode) -> {
zenMode.getRule().setConditionId(ZenModeConfig.toScheduleConditionId(schedule));
if (Flags.modesApi() && Flags.modesUi()) {
zenMode.getRule().setTriggerDescription(
SystemZenRules.getTriggerDescriptionForScheduleTime(mContext, schedule));
}
zenMode.setCustomModeConditionId(mContext,
ZenModeConfig.toScheduleConditionId(schedule));
return zenMode;
};
}
private ZenModeTimePickerFragment.TimeSetter mStartSetter = (hour, minute) -> {
private final ZenModeTimePickerFragment.TimeSetter mStartSetter = (hour, minute) -> {
if (!isValidTime(hour, minute)) {
return;
}
@@ -137,7 +132,7 @@ class ZenModeSetSchedulePreferenceController extends AbstractZenModePreferenceCo
saveMode(updateScheduleMode(mSchedule));
};
private ZenModeTimePickerFragment.TimeSetter mEndSetter = (hour, minute) -> {
private final ZenModeTimePickerFragment.TimeSetter mEndSetter = (hour, minute) -> {
if (!isValidTime(hour, minute)) {
return;
}