feat: 重构 Reminder Notification 系统并更新应用包名

This commit is contained in:
qzl
2026-03-30 18:36:57 +08:00
parent 9fb2a6857b
commit 91bf3c3f96
90 changed files with 5133 additions and 3017 deletions
@@ -16,12 +16,14 @@ class AppPrewarmOrchestrator extends ChangeNotifier {
this.bootBudget = const Duration(milliseconds: 1200),
Future<void> Function()? prewarmChatHistory,
Future<void> Function()? prewarmCalendarToday,
Future<void> Function()? prewarmCalendarReminderWindow,
Future<void> Function()? prewarmUnreadInbox,
}) : _calendarRepository = calendarRepository,
_inboxRepository = inboxRepository,
_chatHistoryRepository = chatHistoryRepository,
_prewarmChatHistory = prewarmChatHistory,
_prewarmCalendarToday = prewarmCalendarToday,
_prewarmCalendarReminderWindow = prewarmCalendarReminderWindow,
_prewarmUnreadInbox = prewarmUnreadInbox;
final CalendarRepository _calendarRepository;
@@ -30,6 +32,7 @@ class AppPrewarmOrchestrator extends ChangeNotifier {
final Duration bootBudget;
final Future<void> Function()? _prewarmChatHistory;
final Future<void> Function()? _prewarmCalendarToday;
final Future<void> Function()? _prewarmCalendarReminderWindow;
final Future<void> Function()? _prewarmUnreadInbox;
AppPrewarmStatus _status = AppPrewarmStatus.idle;
@@ -59,6 +62,7 @@ class AppPrewarmOrchestrator extends ChangeNotifier {
final tasks = Future.wait<void>([
_runPrewarmChatHistory(),
_runPrewarmCalendarToday(),
_runPrewarmCalendarReminderWindow(),
_runPrewarmUnreadInbox(),
]);
@@ -95,6 +99,21 @@ class AppPrewarmOrchestrator extends ChangeNotifier {
return _inboxRepository.getMessages(isRead: false);
}
Future<void> _runPrewarmCalendarReminderWindow() {
final override = _prewarmCalendarReminderWindow;
if (override != null) {
return override();
}
final now = DateTime.now();
final start = DateTime(
now.year,
now.month,
now.day,
).subtract(const Duration(days: 1));
final end = start.add(const Duration(days: 90));
return _calendarRepository.listByRange(startAt: start, endAt: end);
}
Future<void> _runWithBudget(
Future<void> tasks, {
required String userId,