Add feedback service, reminder diagnostics and smooth week transitions
This commit is contained in:
@@ -12,6 +12,7 @@ class AlarmGateway extends ReminderGateway {
|
||||
ReminderPermissions permission = const ReminderPermissions(true, true);
|
||||
final alarms = <int, ReminderRequest>{};
|
||||
int permissionRequests = 0;
|
||||
bool dropWrites = false;
|
||||
@override
|
||||
Future<ReminderPermissions> permissions({required bool request}) async {
|
||||
if (request) permissionRequests++;
|
||||
@@ -22,7 +23,7 @@ class AlarmGateway extends ReminderGateway {
|
||||
Future<Set<int>> pendingIds() async => alarms.keys.toSet();
|
||||
@override
|
||||
Future<void> schedule(ReminderRequest value) async {
|
||||
alarms[value.id] = value;
|
||||
if (!dropWrites) alarms[value.id] = value;
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -47,6 +48,23 @@ void main() {
|
||||
return AppSnapshot.fromJson(json).settings;
|
||||
}
|
||||
|
||||
test(
|
||||
'does not report success when native scheduling did not persist',
|
||||
() async {
|
||||
gateway.dropWrites = true;
|
||||
final events = ScheduleEngine.occurrences([course()], term);
|
||||
await expectLater(
|
||||
service.reconcile(events, settings, DateTime.utc(2026, 9, 9)),
|
||||
throwsA(
|
||||
isA<ReminderSetupException>().having(
|
||||
(e) => e.code,
|
||||
'code',
|
||||
'schedule_not_saved',
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
test(
|
||||
'selected advance times produce independent alarms and survive refresh',
|
||||
() async {
|
||||
|
||||
Reference in New Issue
Block a user