# Tasks: alarm-clock-module ## Phase 1: domain and tests - [x] Add alarm domain models: alarm, vacation range, skip/exception, execution status. - [x] Add recurrence calculator for one-shot dates, weekdays, vacations, skip-next, snooze. - [x] Add alarm persistence service. ## Phase 2: Android scheduling bridge - [x] Add MethodChannel scheduler interface in Flutter. - [x] Add Kotlin scheduler using AlarmManager/setAlarmClock. - [x] Add BroadcastReceiver foundation for alarm firing and pre-alarm actions. - [x] Add manifest permissions and receiver declarations. - [x] Add diagnostics method for exact alarm permission. ## Phase 3: app state and UI - [x] Add `EstadoAlarmas` or integrate alarm slice without bloating `EstadoRadio`. - [x] Add alarms tab/entry point. - [x] Add alarm list, editor, automatic refresh, next execution/skip indication, and compact diagnostics access. - [x] Add vacation ranges UI. - [x] Add ringing screen with stop/snooze 3/5/10. ## Phase 4: audio fallback - [x] Add premium generated alarm icon assets under assets. - [x] Add bundled internal alarm sounds under assets. - [x] Implement fallback sequence with timeouts. - [x] Add optional fallback station selection. - [x] Add volume behavior. ## Phase 5: verification - [x] Run `dart format` attempt; local formatter timed out in this environment. - [x] Run `flutter analyze --no-fatal-infos`. - [x] Run targeted static verification through analyzer; no build executed. - [x] Document Android limitations and permission flow.