- Per-account lists now render inside rounded surfaceContainer cards (grouped-list pattern) with inset dividers and transparent rows, instead of bare ListItems on the background — surfaces-first per design feedback. - Add debug-only DemoSeeder (local, non-syncing 'Floret Demo' list) behind BuildConfig.DEBUG + an intent extra, to populate the UI for design review. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Floret
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.
Floret is the task-list sibling to Calendula.
Where Calendula is a pure front-end over Android's CalendarContract, Floret 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.
A Calendula flower head is botanically made of many small florets — the individual items that make up the bloom. Floret is those items: your tasks.
Status: M0 — skeleton. Builds and shows a themed placeholder. The
TaskContractdata layer, task screens, and reminder engine are the next milestones. Seedocs/PLAN.mdfor the full roadmap and the A-now-B-later architecture (front-end first; bundle the provider later).
Sync sources (by design)
Floret 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.