Lumora v6.7
Films & Series
- The Films/Series landing shelves survive a restart. Category rows were already cached on disk, but the shelf previews were rebuilt from Room on every process start - one grouped query per category, which is the slow part on a large panel. A gzipped snapshot of the screen model now restores first, keyed to the catalogue and the prefs that shape it; it only rebuilds when the catalogue or a filter actually changed.
- Returning to Films/Series lands on the category you left. The last category or shelf is remembered per tab, and its row id survives a restart; the filter ids are re-resolved against the fresh sidebar so a removed category cannot restore an empty grid.
- Live refreshes no longer invalidate the Films/Series cache. The key now counts only in-memory VOD entries instead of every live channel, so a live load or a multiview pane appearing no longer rebuilds all VOD shelves.
- Films no longer offer Skip Intro. IntroDB can carry an opening-titles window for a movie, which read as a bug over a film; films now keep only credits/preview segments, while episodes keep the full intro/recap/credits set.
Catalogue
- A background refresh no longer puts an Importing card over a usable cached catalogue. When the start paints from the stored catalogue, the ingest card stays hidden for the TTL refresh; it still appears for a first import, a manual refresh, or a Films/Series tab with no cached rows.
Live TV
- A live playlist group called “Cinema” no longer lands in Films.
cinemawas treated as a movie keyword, and the group match is case-insensitive, so an entire live bouquet namedCINEMAwas classified as VOD during import. “Cinema” is now an ambiguous name: it only means films when the stream itself is a stored video file, while live transports (udp,rtp,rtsp,rtmp,srt) always stay live. Re-importing or refreshing the playlist reclassifies the existing rows.
Detail
- Loading states visibly animate. The status row's spinner accepted only three dots while most loading strings end in the single ellipsis character, so it stayed hidden; both forms now count. The detail page's own “Loading…” line also carries an indeterminate spinner while metadata, versions and episodes are fetched.
- The “Resume playback?” prompt focuses Resume. The player’s own focus work could race the dialog’s initial-focus pass; OK now lands on Resume instead of Start Over or the controls behind the prompt.
Popups
- Dialog choice rows keep their full focus ring. The 1.06x focused row was clipped by the list frame at the left and right edges, leaving two horizontal white lines instead of a rounded outline. The shared dialog list now has side padding for that scale and lets the ring draw into it, so the quality, audio, track and picker popups all show the complete ring.
Backup
- Backup and restore work when the TV has no document picker. Android TV 9 resolves the document intents to the framework's
DocumentsStub, so the old exception-based fallback never fired and the picker opened to “No application can handle this action”. Stub handlers are now rejected; if a real picker is present it is launched instead, and otherwise the backup is written tolumora_backup.jsonunder the app external files folder with the path shown in a dialog. Restore reads that file and explains where to put a backup when it is missing.
Installation
Download the APK below and install on your Android TV, Fire TV Stick, or phone.