checkAlarm static method

Future<void> checkAlarm()

Checks if some alarms were set on previous session. If it's the case then reschedules them.

Implementation

static Future<void> checkAlarm() async {
  final alarms = AlarmStorage.getSavedAlarms();

  if (iOS) await stopAll();

  for (final alarm in alarms) {
    final now = DateTime.now();
    if (alarm.dateTime.isAfter(now)) {
      await set(alarmSettings: alarm);
    } else {
      final isRinging = await Alarm.isRinging(alarm.id);
      isRinging ? ringStream.add(alarm) : await stop(alarm.id);
    }
  }
}