An upstream sync to findroid 1.2.0, a download quality picker, and a batch of player fixes.
Added
- Download quality picker. Every download (movie, episode, season or whole show) now asks for a
quality: "Original quality" or a bitrate from 4K 120 Mbps down to 360p 720 kbps. Files above the
chosen bitrate are converted by the server; files already under it download as the original.
Retries and Smart Downloads keep the chosen quality, and subtitles are saved as separate files,
image-based ones (PGS, VobSub) included. Thanks @jorritsmit (#75, #74). - Permission requests, from upstream. On Android 17 the app asks for local network access, which it
needs to reach a server on your home network. New installs ask during setup, existing users get a
one-time prompt, and Settings has a new Permissions section. Phone and TV. - "Play next episode automatically" setting under Settings → Player, on phone and TV. By default
it follows the Jellyfin account's "Play next episode automatically" playback setting, which
Findroid used to ignore; "Always" and "Never" override it on this device. With autoplay off,
playback stops at the end of an episode and the episode is marked as watched; on the phone the
player closes. An outro set to skip automatically no longer starts the next episode either. The
next button, the outro "Next episode" button and remote controls still go to the next episode.
Offline, "Use server setting" keeps autoplaying (#66, upstream jarnedemeulemeester#1050).
Changed
- Android 10 is now the minimum; Android 9 is no longer supported. The app now targets
Android 17. From upstream. - The home screen asks the server for less. The Continue watching, Next up and Latest rows request
one poster and one backdrop per item instead of every image, and skip a count nobody uses, which
helps most on large libraries and slow servers. Thanks @DrHurt for the pointer (#77, #73). - Release APKs for phone are now named
findroid-ce-v<version>-libre-<abi>.apk.
Fixed
- Opening a movie, show or episode no longer crashes on Jellyfin 12 servers when an actor has more
than one role. Jellyfin 12 sends one entry per role; these are now merged into one cast card with
the roles joined by " / ", and writers and directors are no longer listed twice (#64). - With the mpv player, seeking now counts as activity for the "Are you still watching?" prompt, so
it no longer appears while you are skipping around. mpv was reporting seeks in a way the player
screen didn't listen for (#70). - The server now learns that an episode stopped whenever playback moves to another one, not only
on the automatic advance at the end. This covers the next and previous buttons, the chapter-skip
gesture, the outro "Next episode" button, and media-session or remote controls, on phone and TV
and with both ExoPlayer and mpv. Jellyfin no longer shows the old episode as still playing, and
plugins such as Trakt and Playback Reporting see the stop. Skipping the outro past 90 % of the
runtime now marks the episode as watched (#65, #31). - On TV, the player now closes when playback ends (after the last episode, or at the end of an
episode with autoplay off) instead of sitting paused on the last frame. - On TV, media-segment skip buttons and automatic skipping (intros, outros, recaps…) now work; the
TV player never checked the playback position against the segments. - The progress bar for a lower-quality download now estimates the converted file's size instead of
the original's. A 20 GB film capped at 3 Mbps used to show "2.7 GB / ~20 GB" and stall near 13 %
before jumping to done (#76). - The keyboard no longer covers text fields; the screen resizes around it instead. From upstream.
Maintenance
- From upstream: Jellyfin SDK 1.9.3, kotlinx-serialization 1.12.0, OkHttp 5.5.1, Gradle 9.8.2.
What's Changed
- fix(film): merge duplicate person roles from Jellyfin 12 by @midasvo in #67
- fix(player): emit 3-arg onPositionDiscontinuity from MPVPlayer by @midasvo in #72
- fix(player): report playback stop on every item transition by @midasvo in #68
- feat(player): respect the server's "play next episode automatically" setting by @midasvo in #69
- fix(tv): close player when playback ends and make segment skipping work by @midasvo in #71
- feat(downloads): per-download quality selection with server-side transcoding by @jorritsmit in #75
- fix(downloads): estimate capped transcode progress from the bitrate cap by @midasvo in #76
- perf(home): request only the images row cards render by @midasvo in #77
- chore: sync upstream findroid v1.2.0 + changelog for v1.2.0-ce.0 by @midasvo in #78
Full Changelog: v1.1.0-ce.5...v1.2.0-ce.0