Repository navigation
Reader 0.2.0: the reading controls
Reader 0.2.0: the reading controls (N5). Light builds and signs Tools from a public commit, so this release is the tagged commit. There is no APK here; a Light-signed build will follow when Light's developer portal opens.
versionName 0.2.0, versionCode 2. light-sdk stays at v0.1.2, still Light's newest tag.
Reading
- The Page fills the screen. The top line and footer are gone; a centre tap shows the controls over the Page, which stays as it is under them (#41).
- Tap zones are three full-height columns: the left 30% turns back, the middle 25% shows the controls, the right 45% turns forward. The volume keys turn as before, and every turn hides the controls (#41).
- The controls: back to the Shelf, the running head and the list icon for Contents at the top; A−, the minutes left in the Chapter and A+ in one row at the bottom (#41, #42).
- The running head names the Chapter the Page goes by, with its Part on a line above when the table of contents nests it ("I. A SCANDAL IN BOHEMIA" over "II."), and the Book's title in Front matter and on the end page (#40, #41).
- A sixth font size, 15 sp; 20 sp stays the default.
settings.fontSizeholds the size in sp, and every save still writes the oldfontStep, so an older build reads a size (#44). - The screen stays on while you read, until 10 minutes pass without a tap or key press; then the phone's own timeout applies (#45).
- A first-run walkthrough shows the three taps once: next page, back, then the controls. It never shows in dev-start, so CI is unaffected (#45).
Contents
- Parts appear as heading rows before their first Chapter, as a printed contents page sets them. Choosing one goes to its heading (#40).
- Contents has no Shelf button: back returns to the Page, with the controls still up. The controls' back is the way to the Shelf (#43, #45).
- "you’re here" takes a typographic apostrophe (#46).
About
- "Reader" in the Shelf's top bar opens About: the version, the no-network promise, the keep-awake rule, where to find Books without copy protection, the repository's address and the licenses. Static text, nothing fetched (#46).
Fixes
- A failed search on a Catalogue whose search template puts the terms in the URL path no longer logs them; search URLs are logged as the host plus "/…" (#46).
- A title of nobility is dropped from an author's name when it trails or leads it ("graf Leo Tolstoy" → "Leo Tolstoy"); capitalised pen names like "Baron Corvo" stay (#46).
Smaller APK
- Reader excludes ML Kit, CameraX, Play services, Firebase and Data Transport, which Light's
sdk:uipulls in only for its QR code scanner. The release APK drops from 27.1 MB to 5.2 MB, and ML Kit's native libraries, models and manifest entries are gone (#46;THIRD_PARTY_NOTICES.md).
Upgrading
- Your Shelf, every Place and your font size carry over from 0.1.0. The reading data gains
settings.fontSizeandsettings.readingHintDismissed;schemaVersionstays 1.
Next
- N6: measuring layout speed on the phone again after N3–N5. Then illustrations.
Release checks
- Unit and property tests: 555 passed (501 at 0.1.0). Domain drift: 0 unresolved.
mise run light-build(Light-builder simulation, SDK v0.1.2): OK.- Upgrade path on the emulator: 0.1.0 built from its tag, two Gutenberg Books downloaded and read to a Place at a larger font size, then this build installed over it. Both Books, their Places and the font size survived, and each Book reopened on the same Page.
- Minified release on the emulator (
scripts/emulator-build.sh ./gradlew :tool:assembleRelease, dev-signed, 5.2 MB): starts, opens a Book, turns pages, changes the font, opens Contents and About. No crash. signoff/emulatorandsignoff/lp3viamise run cion the release commit.