# Tasks: alarm-clock-module ## Phase 1: domain and tests - [ ] Add alarm domain models: alarm, vacation range, skip/exception, execution status. - [ ] Add recurrence calculator with tests for one-shot, weekdays, vacations, skip-next, snooze. - [ ] Add alarm persistence service with tests. ## Phase 2: Android scheduling bridge - [ ] Add MethodChannel scheduler interface in Flutter. - [ ] Add Kotlin scheduler using AlarmManager/setAlarmClock. - [ ] Add BroadcastReceiver for alarm firing and pre-alarm actions. - [ ] Add manifest permissions and receiver declarations. - [ ] Add diagnostics method for exact alarm permission. ## Phase 3: app state and UI - [ ] Add `EstadoAlarmas` or integrate alarm slice without bloating `EstadoRadio`. - [ ] Add alarms tab/entry point. - [ ] Add alarm list, editor, vacation ranges UI, and diagnostics panel. - [ ] Add ringing screen with stop/snooze 3/5/10. ## Phase 4: audio fallback - [ ] Add bundled internal alarm sounds under assets. - [ ] Implement fallback sequence with timeouts. - [ ] Add optional fallback station selection. - [ ] Add volume/fade-in behavior. ## Phase 5: verification - [ ] Run `dart format`. - [ ] Run `flutter analyze --no-fatal-infos`. - [ ] Run targeted tests if local runner does not hang. - [ ] Document Android limitations and permission flow.