Fix release notification resource and add multiple advance reminders

This commit is contained in:
Codex
2026-10-14 11:30:37 +08:00
parent caf7abe0c0
commit 4d86db3dd5
16 changed files with 350 additions and 58 deletions
+5 -2
View File
@@ -92,7 +92,10 @@ class AppController extends ChangeNotifier {
) => _run(() async {
final previous = snapshot.settings;
final value = change(previous);
if (![5, 10, 15, 30, 60].contains(value.reminderMinutes)) {
if (value.reminderOffsets.isEmpty ||
value.reminderOffsets.any(
(v) => !AppSettings.allowedReminderMinutes.contains(v),
)) {
throw ArgumentError('提醒时间无效');
}
if (!value.courseHeightScale.isFinite ||
@@ -111,7 +114,7 @@ class AppController extends ChangeNotifier {
final scheduleChanged =
previous.semester != value.semester ||
previous.remindersEnabled != value.remindersEnabled ||
previous.reminderMinutes != value.reminderMinutes ||
!listEquals(previous.reminderOffsets, value.reminderOffsets) ||
previous.calendarEnabled != value.calendarEnabled ||
previous.calendarId != value.calendarId;
if (scheduleChanged) await _reconcile();