- Collapse a task row's supporting info (priority, due, subtask progress, list name) into one low-emphasis meta line instead of stacked filled chips: priority is a tinted flag, the list name carries its list colour, and dates are compact (formatDateTimeCompact). - Expand subtasks in smart lists too, by lazily fetching a parent's full child set on demand (TasksRepository.subtasks + the view model's live lazyChildren), while per-list views stay query-free. - animateItem on the rows so (un)expanding a group fades its subtasks in/out and slides the rows below — clean whether the children were already loaded or arrive a frame later. - Sit the undo chip beside the FAB at its height rather than overlapping or floating above it. Bumps the floret-kit submodule for formatDateTimeCompact. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Agendula
A modern Material 3 Expressive task app for Android.
Reads, writes, and reminds — on top of an existing tasks provider, with no own
sync stack.
Agendula is the task-list sibling to Calendula.
Where Calendula is a pure front-end over Android's CalendarContract, Agendula is
a pure front-end over the OpenTasks TaskContract provider — the store that
DAVx5 (and SmoothSync, DecSync, …) syncs your CalDAV VTODO tasks into. No own
database, no reinvented sync.
The name rhymes with its sibling on purpose: Agendula is agenda — Latin for
“things to be done” — given Calendula's -ula ending. Calendula keeps your days;
Agendula keeps your to-dos. (A Calendula flower head is botanically a cluster of
many small florets — so the two apps are florets of one bloom.)
Status: data layer done, UI in progress. The full non-visual stack over the
TaskContractprovider — provider resolution, live-updating reads, writes, smart-list filtering, and a self-scheduled reminder engine — is built and unit-tested. The Material 3 Expressive screens are now being built on top, one at a time. Seedocs/ROADMAP.mdfor status,docs/ARCHITECTURE.mdfor how it's built, anddocs/PLAN.mdfor the A-now-B-later design rationale.
Sync sources (by design)
Agendula works with anything that writes to the tasks provider — DAVx5 (CalDAV), SmoothSync, CalDAV-Sync, DecSync CC, or any Android sync adapter — because it builds on the provider, not on any one sync app. Google Tasks / Microsoft To Do are out of scope by design (proprietary; they would mean owning a sync stack). Open standards — CalDAV / iCalendar / DecSync — are the lane.
License
MIT — see LICENSE.