Settings opens a rule's configuration activity with no action, only the component and the rule id, so MainActivity now routes on the rule-id extras. Each engine pass reads the clock once, so the mode's state and the next slot can't disagree around a boundary, and non-edit passes switch the mode only when the schedule crossed a boundary since Clockula last set it (persisted), which also catches up a wake-up missed during a force stop while leaving a mode switched on by hand alone. A reminder fire that also ends a window now turns the mode off, and a reminder the schedule moved away from is withdrawn. The rule is only rewritten when a field it carries changes, and a rewrite keeps the existing policy if it still allows alarms, so Android 10-14 no longer loses the user's Do Not Disturb edits. The bedtime receiver, screen and fallback alarm call are guarded, the boot-path resync runs even if an earlier engine failed, and a backup with no nights restores every night. Refs #1
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.