feat(alarm): add musical alarm foundation
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user