After a user action in the app sets an alarm, a snackbar says how long until it rings: "Alarm set for 7 hours and 12 minutes from now". The row already said "in 7h 12m", but nothing drew the eye to it, so an AM/PM or wrong-day slip went unnoticed until the morning. It is raised by switching an alarm on in the list, and in the editor by picking a time (or keeping a new alarm's default one), arming or disarming the skip, and changing the repeat days. Day taps wait a second to settle, so Mon-Fri is one snackbar rather than five; a newer countdown always replaces the one on screen. Switching the announced alarm back off takes it back. A switched-off, ringing or snoozed alarm says nothing, and the AlarmClock intents never reach it, since those already get the status-bar icon. AlarmSetCountdown decides what it says, purely, with the row's rounding; the engine gains upcomingFor(), a read-only resolve of one alarm. Fixes #19
Clockula — documentation
Clockula is a Material 3 Expressive clock app for Android: alarms, timers,
stopwatch and world clock. Third floret of the bloom, after
Calendula (calendar) and
Agendula (tasks). See the top-level
../README.md for the pitch.
Unlike its siblings, Clockula owns its storage, because there is no open provider behind
a clock. What that costs and how the open-standards commitment is honoured anyway
is the first section of PLAN.md.
Index
| Doc | What it covers |
|---|---|
PLAN.md |
The spec. Thesis, locked decisions, the alarm engine, data model, system interop, identity, pipeline, and how ClockMaster is used. The "why". |
ROADMAP.md |
Status and the work queue: milestones M0–M11 and post-v1. What the build loop works through. |
ARCHITECTURE.md |
How Clockula is built today: layers, the data seam, the alarm engine, DI, build/tooling, manifest. Written from M2 onward. |
RELEASING.md |
How to cut a release. Written at M0 alongside the pipeline. |
PROVENANCE.md |
Third-party code and assets carried in-tree, and under what licence (PLAN.md §11). |
Also: ../CHANGELOG.md (Keep a Changelog format; tag sections
feed the release notes).
How the docs relate
- PLAN is the design decisions (stable; the "why").
- ARCHITECTURE is the current shape of the code (kept in sync as it grows).
- ROADMAP is the moving status layer (updated as milestones land).
- RELEASING is the operational runbook.