Android: the form of an activity command #286
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of #277. Needs #283 (the outline records), and #284 for the entry from ⋮.
07-edit-command-activity.png, drawn in the app's Material 3 Expressive like the other forms.Goal
The form of an activity command in the configuration (
ConfigCommandForms.kt), opened from the Config screen and from ⋮ → Edit command of the activity screen.Plan
DescriptionEntry, as every form.#RRGGBBfield), the name, and delete;querywith the line "a shard matches if any line fits". Each table is a chip (sport = climbing; a table of several pairs readssport = run, place = park), removable. Chips are joined by "or", with a "+ or" button that opens aPlacementEntry(dimension and value, asexpectof the reminder form);ConnectedChoice).SwitchEntry,exclude_mixed), "Tracking starts" (DateEntry,start, clearable).saveConfig(ConfigDraft.commandSteps), so that a renamed key goes first, comments are kept, and the save goes through the Changes flow like every other save. Field errors (an empty name, a bad colour, no series) are reported throughLocalFieldErrors. Not on this screen (removed in the design): a TOML preview and "Pin to bottom bar".activityand its one line (commandText:2 series · count · split). "New command" offers the type, andnewCommandstarts with one empty series.Tests
Pure (
ConfigDraft): the steps of a new and of a changed activity command, the next default colour, reordering. Screenshot test of the form (@TallScreenshots) with two series and with one. Round trip on the emulator: edit, save, and see the commit in Changes.Docs
R35 (the app), README, AGENTS.md (the form).
Implemented in #312.
Time: about 25 minutes (19:10–19:35), most of it waiting on builds (Android bindings, screenshot tests,
nix flake check,nix build .#streamd-app).Tokens: about 215k.
Findings
tracked_dayincompute.rsnow goes throughdrawing, the one place for classification,drawnandlevel.example_daysuses it too. The facade (activity_examples,activity_palette,activity_color) and the bindings carry it. The app reaches these only throughConfiguring, soStreamSessionstays the only caller of the bindings.PALETTEor ofRgb::parse.movedSeries,removedSeries). Add leaves the colour empty, so the new series takes the next colour of the palette.DayCell, which the form reuses. The existing activity screenshots stayed pixel-identical.activityuntil this form existed. It is offered now.saveConfig/commandStepspath as every other form.