Ephyra can cast. The new proprietary variant of the phone app adds Google Cast: pick a
Chromecast or Google TV from the top bar and the phone becomes the remote. The libre variant
stays free of Google code, and the two install over each other. When the server doesn't answer,
Home now says so and takes you to your downloads.
Added
- Cast: a proprietary variant of the phone app with Google Cast. Pick a device from the Cast
button in the top bar and cast from any item; a mini player follows you while you browse and
the Cast player has seek, previous and next, volume, audio and subtitle tracks, chapters with
thumbnails and skip segments. On a tablet the Cast player sits beside the page. Servers on
plain HTTP can cast too (#626). - Releases and betas carry both phone variants:
-libre-without Google code and
-proprietary-with Cast. They share the application ID and signing key, so switching keeps
your login, settings and downloads (#641). - Home: while the server doesn't answer, a banner says so and leads to Downloads, which open and
play without it. It goes by itself when the server is back, and stays away in Offline Mode
(#281).
Fixed
- Phone: an episode's page shows the show's backdrop again (#630).
Maintenance
- Gradle 9.9.1 and kotlinx-serialization 1.13.0.
What's Changed
- chore(deps): update gradle to v9.9.1 by @renovate[bot] in #624
- fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.13.0 by @renovate[bot] in #625
- docs(tablet): the hero's height cap decides the backdrop crop in landscape (#432) by @midasvo in #623
- docs(tablet): say what sets the landscape hero crop at each size (#432) by @midasvo in #629
- fix(item): the phone episode page shows the show's backdrop (#630) by @midasvo in #634
- feat(home): show a banner that leads to Downloads while the server doesn't answer (#281) by @midasvo in #639
- feat(cast): proprietary app variant with Google Cast support (#626) by @midasvo in #628
- feat(cast): publish the proprietary build (#641) by @midasvo in #644
- ci: faster pipelines (cancel superseded runs, single Format run, one artifact upload, configuration cache) by @midasvo in #645
- fix(ci): cancel superseded runs by head commit (review of #645) by @midasvo in #646
- ci: parallel jobs for Build, Beta and Release; skip docs-only changes by @midasvo in #648
- chore(release): v2.5.0 by @midasvo in #649
Full Changelog: v2.4.5...v2.5.0
Which APK? ephyra-v<version>-libre-<abi>.apk is for phones and tablets and has no
Google code. ephyra-v<version>-proprietary-<abi>.apk is the same app with Google Cast
(Chromecast), which needs Google Play services to cast. The two install over each other
and keep the login. ephyra-v<version>-libre-tv-<abi>.apk is for Android TV. Most phones
need arm64-v8a; 32-bit TV boxes such as the Xiaomi Mi Box need armeabi-v7a. In
Obtainium, filter the phone APK with -libre-arm64-v8a\.apk$ or
-proprietary-arm64-v8a\.apk$, the TV APK with .*-tv-armeabi-v7a\.apk.