Four milestones from the survey's remaining gaps

M17 - the mark of a change. A dot on the rows an operation produced, spent by the
next read of that folder: in memory, per folder, no timer and no watcher. Copy,
move, compress, extract, rename (single and batch) and new folders all mark what
they made, so "what did that 4 GB copy do?" has an answer even when the copy went
to a folder the user was not looking at. The dot is drawn by MarkOfChange in the
list and the grid, with a content description, and `changed` is set by the same
state update that announces the folder.

M18 - store-only archives. Compressing now asks for the name and whether to
compress, because the survey's most enthusiastic review is a bulk copy to a
computer and that file is better stored than squeezed. Deflater.NO_COMPRESSION
keeps it one pass; a STORED entry would need size and CRC before the header,
i.e. reading every file twice.

M19 - the trash says what it does. The screen states the 24-hour window, offers
Empty trash behind one question, and opening the trash sweeps what has expired -
the window used to run only after the next delete, so an old batch could stay on
the card indefinitely. Trash.emptyAll leaves anything in that folder that is not
one of ours alone.

M20 - launcher shortcuts. Images, Recent and Trash as static shortcuts carrying
a route extra; core/ShortcutRoute answers null for anything it does not know, so
an old shortcut cannot crash a new build. Favourites was dropped from the plan:
it is a section of the home screen, not a view, so a shortcut to it would promise
something that may not be there.

M21 (Android TV) is specified in the roadmap and deliberately not started: its
acceptance needs a TV device pass this machine cannot provide.

18 new tests (427 in total). Detekt's baseline was regenerated after two
signatures gained a parameter; the diff is three findings with new signatures and
their KDoc moved above the annotations so the baseline stays readable. Verified by
the gate only so far - the device pass for these four is next, and the terminal
here has been losing command output for the last hour.
This commit is contained in:
2026-10-18 00:15:03 +02:00
parent 17078bf613
commit 5d39f4b3fb
23 changed files with 924 additions and 38 deletions
+18
View File
@@ -12,6 +12,24 @@ upload needs a **higher `versionCode`** than every previous upload.
### Added
- **A dot marks what an operation just produced.** Copy something, extract an archive, rename a file or make a
folder, and the rows it created carry a small dot until you open that folder again — so "what did that 4 GB
copy do?" has an answer, including when the copy went to a folder you were not looking at. The mark lives in
memory and is spent by the next read of the folder: no timer, no watcher, nothing to switch off. It carries a
content description, so TalkBack says it too.
- **Compressing asks two things: the name, and whether to compress.** The second one is for the case the
survey's most enthusiastic review describes — moving a whole collection to a computer: off stores the files
as they are, so the archive is built in one pass instead of being squeezed first. It is still an ordinary
zip, and it still extracts to the same bytes.
- **The trash says how long it keeps things, and empties on request.** The screen now states the window
("Deleted files are kept for 24 hours") instead of leaving it to be discovered, **Empty trash** does what it
says after one question, and opening the trash sweeps what has expired — the 24-hour window used to run only
when you deleted something else, so an old batch could sit on the card indefinitely.
- **Long-press the app icon: Images, Recent, Trash.** Three shortcuts to the views that are otherwise two or
three taps deep, with no permission and no dynamic state. Favourites is deliberately not one: it is a
section of the home screen rather than a view, so a shortcut to it would promise something that may not be
there.
- **Copy to… and Move to… chose a destination instead of making you go there.** The selection bar's
overflow now offers both verbs: a folder picker opens — the volumes first, then folders one level at a
time, with the trail above and Up beside it — and confirming starts the copy (or the move) into that