Releases: fenleon/audiobooks
Release list
Audiobooks 0.7.1 — platform relay: wheel/camera/haptics from LightOS, volume stays in-app
Platform relay inside the tool
Audiobooks now relays the hardware keys it doesn't consume to LightOS (the platform SDK server), so the platform's own handlers work inside the tool:
- Scroll wheel → brightness (rotary 317/318 → LightOS)
- Camera button → camera/flashlight
- Taps vibrate per the real haptics setting (haptics read from LightOS via
GetUserPreferences)
Volume rocker stays in-app
The volume rocker still controls the media stream with the in-app volume panel replica. LightOS's native volume panel is ringer-only for third-party tools, so relaying volume keys would leave playback volume uncontrollable (LP3-verified 2026-08-20). Design doc: PLATFORM-RELAY.md.
- R8 release APK ≈ 8.8 MB
- Version 0.7.1 (versionCode 22) — installs over 0.7.0 (same signature)
sha256: 0e2c26b1f58ed71d0db6f586a08353727943328c70946a31f08fcd960be8bdff
Audiobooks 0.7.0 — single-module build
Single-module build
The companion is merged into the tool APK. One APK to install — it hosts its own Light SDK server (library scan, progress/settings stores, media file provider, volume & Bluetooth methods) and binds to itself; no com.lightphone.audiobooks.server companion needed, and nothing depends on Light shipping the media methods in com.lightos.
:serveris now an Android library inside the tool APK (manifest components,ServerBootstrapProviderwiring,MediaPermissionActivity)- First launch asks for the audio permission, then scans the library automatically
- Old two-APK installs do not upgrade — uninstall
com.lightphone.audiobooks.serverfirst - R8 release APK ≈ 8.8 MB (was 2 × 56–77 MB debug; the debug build is still large)
sha256: 34a6b51edf6e670b28caa467ee57379a81887506c8480f582b32ba36087836c5
Audiobooks 0.6.1
More formats, rewind-on-resume, Bluetooth polish, and a library/settings layout round.
Changes
- Formats: .m4a/.aac/.ogg/.oga/.opus/.flac/.wav (platform codecs), per-format mime mapping for the media scanner, M4A reuses the MP4 chapter parser. Verified: AAC/OPUS/M4A/WAV play; mixed-format folder books flow across parts.
- Rewind-on-resume baked in: a resume after a >5-min pause jumps back 15 s (Settings toggle removed on LP3 feedback).
- Bluetooth: connected underline icon in the Library bar (BLUETOOTH_CONNECT), instant in-app volume panel for BT-device volume buttons (volume-change long-poll).
- Library: top spacer (side-gutter size) so the first row does not hug the status bar.
- Settings: Auto-Play toggle aligned with its label line instead of centered between label and caption.
Builds
- R8-shrunk release APKs (dev-signed): app 8.3 MB, server 6.1 MB.
Checksums (sha256)
- app-release.apk:
f9cc9801cf56738ebc8ede7b5b7816c1ad5aa5475031ad98ae69a412b9b80e66 - server-release.apk:
36fecef9999c2bcf060b82867f4cb6764e3a7102360d768c4ee89f4a2036d939
Audiobooks 0.6.0
Playback moved into the tool via the SDK's detached-audio model (newPlayer(playback = Detached), light-sdk #148): the tool owns the player (queue, seek, boundary pauses, progress reporting); the companion is scan + store + file server. Background listening, the media notification, and the system media surfaces (volume rocker, now-playing) key on the tool.
Changes
- Detached-audio refactor: playback runs tool-side; companion is scan + store + file server.
- In-app volume panel (native LightOS replica) on the volume rocker.
- Reopening the tool while a book plays lands back on the Player (exactly one Player on the stack).
- Folder-book ordering: disc/track tags used only when uniformly present, else natural filename order (Librivox partial-tag sets were split).
- "Chapter N of M" label opens the chapters picker.
- Restored the Library Bluetooth link (system Bluetooth settings).
Builds
- R8-shrunk release APKs (dev-signed): app 8.6 MB, server 6.4 MB (debug ~60 MB each).
Checksums (sha256)
- app-release.apk:
52e83c6b1ca9f7bc0106c349a2c4427f711abcf83026c67aae04968d60dfeb53 - server-release.apk:
6f99c7adeb6b9574cb0b04c5312a9e3db356fbb13c4701595bf0e9b417a3ca59
Audiobooks 0.5.7
Chapters and speed are now always available, even before a book has been played, and playback speed is a single global setting that persists across books.
Changes
- Player bottom bar always shows the current speed and the chapters button — a freshly opened (never-played) book no longer hides them.
- Setting speed never needs the book loaded: speed is global, applied to every book, and survives across books and sessions (0.5x–2x).
- Chapter jumps from a preview load that book paused at the chosen chapter — they never seek or interrupt whatever else is playing.
- Chapters list highlights the book's own saved position when it isn't the one playing.
Verification
- R8-shrunk release builds: app 6.4 MB, server 7.7 MB (debug ~55 MB each).
- Round-trip tested on the LightOS emulator with the release pair: library scan, never-played book shows speed + chapters, preview chapter jump loads paused, global speed verified across two books, background playback + media session + notification survive the tool closing, zero FATALs.
Checksums (sha256)
- app-release.apk:
39e159bf42a7fd604d0d0ffa24b9dc89c9a910d68f369b74d85abe62df1b0147 - server-release.apk:
adcf8087deb628647fe949934220f0258920548f5b8c0f8ae21af563d490ce1e
Audiobooks 0.5.6 (beta) — no-interruption
Audiobooks 0.5.6 — the no-interruption release. Beta: suitable for daily use; features and behavior may still evolve before a stable release.
What's new since v0.5.5
- Opening a book no longer stops what you're listening to. The companion keeps playing the current book until you explicitly press play on another one. Opening a book's screen is now a preview — title, author, saved position, and duration are shown while the audio you were listening to continues. (Once a book is actually playing, speed and chapters appear as before.)
- The play/pause icon no longer flickers during skips. A ±15 s skip on a real-size file re-buffers briefly, which used to flip the icon to "paused" for a second while audio kept playing. Playback state now reports intent, so the icon stays put through re-buffers and only changes on a real pause or the book ending.
- Faster position restore on load (1 s polling while the player screen is open; hidden screen still polls nothing).
(v0.5.5's slim build — R8-minified, ~6-7 MB per APK, ML Kit QR scanner excluded — and v0.5.0's scan cache + battery rework are unchanged.)
Known limitations
- Volume buttons are not wired to playback volume yet — on the roadmap. (The media session is registered and audio plays on the media stream; the rocker does not adjust it today.)
- Embedded chapters inside a folder book's individual files are not merged; folder books stay file-per-chapter.
- The dev signing key is for development only — not a production identity (anyone with the repo can sign builds with it; a real public release should use a private per-app keystore).
Install
Both APKs are required (the tool and its companion):
app-release.apk— the Audiobooks tool (com.lightphone.audiobooks)server-release.apk— the companion (com.lightphone.audiobooks.server)
Dev-signed with the Light SDK development key. On a real Light Phone 3 (via the community ADB route): install both, then set Developer options → External tools → All tools to see Audiobooks in the toolbox. The companion also appears as a toolbox entry on the real device — the row is a no-op to tap (it has no UI).
Checksums (SHA-256):
app-release.apk f543ce3e900856a2a364d668d6b16003dd510eec9ef7cc3cfa93da94f8ba87a2
server-release.apk bd465991fb7a9bf64d8f2e126f98935ad8237f1c2d7e4b5fbc873b974d65ace6
Audiobooks 0.5.5 (beta) — slim build
Audiobooks 0.5.5 — the slim build. Beta: suitable for daily use; features and behavior may still evolve before a stable release.
What's new
- APK size: ~67 MB → ~6 MB per app (both
app-release.apkandserver-release.apk). Release builds are now R8-minified (dead-code elimination + resource shrinking) and exclude the SDK UI module's unused ML Kit QR scanner, which alone was ~19.5 MB of native libraries. The SDK's generated entry-point registry is covered by its own consumer rules, so the tool↔companion surface survives shrinking — verified end-to-end on the emulator (launch, library scan, playback, part crossing, seek, restart). - Fix: frozen player screen after skip. Skipping ±15 s while playing could leave the screen showing paused with a frozen timeline (audio kept playing) until you left and re-entered the player. The tool now keeps a slow 5 s poll while paused, so a seek re-buffer can't freeze it; the foreground notification is also debounced so a brief re-buffer no longer tears it down.
(0.5.0's scan cache and battery rework are unchanged — see the v0.5.0 notes.)
Known limitations
- Volume buttons are not wired to playback volume yet — on the roadmap. (The media session is registered and audio plays on the media stream; the rocker does not adjust it today.)
- Embedded chapters inside a folder book's individual files are not merged; folder books stay file-per-chapter.
- The dev signing key is for development only — not a production identity.
Install
Both APKs are required (the tool and its companion):
app-release.apk— the Audiobooks tool (com.lightphone.audiobooks)server-release.apk— the companion (com.lightphone.audiobooks.server)
Dev-signed with the Light SDK development key. On a real Light Phone 3 (via the community ADB route): install both, then set Developer options → External tools → All tools to see Audiobooks in the toolbox. The companion also appears as a toolbox entry on the real device — the row is a no-op to tap (it has no UI).
Checksums (SHA-256):
app-release.apk df301d63d34cf4ef4c6190d5c780d30348b5ea22904ba2b343db5fd5f498610c
server-release.apk 00073e3ce753ecbc0c77b07db7d5e2958c18527904baf423773b6d533587436a
Audiobooks 0.5.0 (beta) — speed & simplicity
Audiobooks 0.5.0 — the speed & simplicity release. Beta: suitable for daily use; features and behavior may still evolve before a stable release.
What's new since v0.4.0
- Incremental library scan (the Bard fix). The library used to re-read every file on every scan — a full tree walk, a MediaStore re-index of every file, and a fresh metadata read per file, repeated on every cold start. Now a persistent metadata cache (keyed by file size + mtime) means unchanged books are never re-read — only new/changed files are scanned and indexed. Measured: a 97-file library dropped from ~8–9 s per scan to ~2 s cached, with zero metadata re-reads (and a cold scan is faster too, since files already known to MediaStore are no longer re-indexed).
- Event-driven playback (less battery). The server's 500 ms poll loop (which ran even while paused, pushing media-session updates 2×/s) is gone; playback state is driven by the player's own events with a 1 s ticker only while playing. The tool polls the binder at 1 s while playing and 5 s while paused. Measured paused CPU with the player open: ~19 ms/s → ~0.7 ms/s (~27× less).
- Fix: frozen player screen after skip. Skipping ±15 s while playing could leave the screen showing paused with a frozen timeline (audio kept playing) until you left and re-entered the player. The tool now keeps a slow 5 s poll while paused, so a seek re-buffer can't freeze it; the foreground notification is also debounced so a brief re-buffer no longer tears it down.
- Cleanup. Dead Bard-era code and fields removed, async preference writes, faster seek targeting.
Known limitations
- Volume buttons are not wired to playback volume yet — on the roadmap. (The media session is registered and audio plays on the media stream; the rocker does not adjust it today.)
- Embedded chapters inside a folder book's individual files are not merged; folder books stay file-per-chapter.
- The APK is large (media3 + SDK transitive deps); a minified release build would shrink it.
- The dev signing key is for development only — not a production identity.
(No cover art, ebook reading, or cloud sync is by design — Audiobooks is deliberately local-only.)
Install
Both APKs are required (the tool and its companion):
app-release.apk— the Audiobooks tool (com.lightphone.audiobooks)server-release.apk— the companion (com.lightphone.audiobooks.server)
Dev-signed with the Light SDK development key. On a real Light Phone 3 (via the community ADB route): install both, then set Developer options → External tools → All tools to see Audiobooks in the toolbox. The companion also appears as a toolbox entry on the real device — the row is a no-op to tap (it has no UI).
Checksums (SHA-256):
app-release.apk 715cdb7614b00c22ea411990a038fbb834ff17636484f48e603f9399c472f5fc
server-release.apk 8c5ca24e1876ae34a22c839a35969d9a30a2791b88e7bdd701fe4805a71902d2
Audiobooks 0.4.0 (beta)
Audiobooks 0.4.0 — the first tagged release of the Audiobooks LightOS tool. Beta: suitable for daily use; features and behavior may still evolve before a stable release.
What's new
- Real LightOS tool + companion architecture — a thin tool UI built on the Light SDK design system, with a companion app hosting the on-device library, scanning, and playback, so background listening survives the tool closing (the same model Light's own music/podcast tools use).
- Local-only player — scans the shared
Audiobooksfolder: single.mp3/.m4bfiles are standalone books; every folder is one book whose files play continuously. No accounts, no cloud. - Embedded chapters — MP3 CHAP frames and M4B bookmarks give single-file books chapter navigation, "Chapter N of M", and chapter-scoped time.
- Track ordering — multi-part books play in embedded track order (disc/track tags, fallback: natural filename order).
- Foreground playback — a playback notification, lockscreen/system media controls, and media-key support keep playback alive in the background.
- Settings — Auto-Play ("next chapter") toggle, "Scan Library Now", and speed control (0.5x–2x).
- Progress restored — listening position and speed are remembered per book; reopening restores the last book without autoplay.
Install
Both APKs are required (the tool and its companion):
app-release.apk— the Audiobooks tool (com.lightphone.audiobooks)server-release.apk— the companion (com.lightphone.audiobooks.server)
Dev-signed with the Light SDK development key. On a real Light Phone 3 (via the community ADB route): install both, then set Developer options → External tools → All tools to see Audiobooks in the toolbox. The companion also appears as a toolbox entry on the real device — the row is a no-op to tap (it has no UI).
Checksums (SHA-256):
app-release.apk 7311eb8ddcf432a12f629d085d96d6b832ad3ccbf27f73545d0fe5925f43dad7
server-release.apk 592a9d74ca15720afe5244e2780a2c42f9976780f65ee860360ef3b3117d1d75
Known limitations
- No cover art, ebook reading, or cloud sync — books must be on the device in
/sdcard/Audiobooks/. - Embedded chapters inside a folder book's individual files are not merged; folder books stay file-per-chapter.
- The APK is large (media3 + SDK transitive deps); a minified release build would shrink it.
- The dev signing key is for development only — not a production identity.