34 lines
1.5 KiB
Markdown
34 lines
1.5 KiB
Markdown
# 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.
|