CarDash 1.2.0 adds an optional, fully in-app Jellyfin music source.
- Package:
com.wasp.cardash_launcher
- Version: 1.2.0 (versionCode 20)
- ABIs: arm64-v8a, armeabi-v7a, x86_64 (universal APK)
- Signing: project debug key matching all prior releases
- SHA-256:
cd8e7de1225dc9caa04d7caffe0d254db79f1bb0af872d5437f90adeab784acf
Jellyfin
- New optional Jellyfin Home button after Music and before Radio. It is
enabled in Settings → General → Home buttons and stays disabled/off until the
integration is configured. It counts toward the 16-button cap and has no
long-press action.
- Jellyfin dashboard with Albums / Artists (Artists disabled for now):
- Recently played derived from played tracks across Jellyfin devices,
- Recently added albums,
- Random albums from up to five grouped genre families (Metal, Rock, Jazz,
Pop, Folk and so on; Cyrillic and variant tags are grouped), with a refresh
button and an automatic re-roll after you start a Random album.
- Six cards per row when they fit, five otherwise. Album names and artists
are aligned to the album art's left edge.
- Album page: top-aligned large cover, track list with the current track
highlighted, tap-to-play, previous/play-pause/next, and the volume/mute
controls.
- Home Jellyfin tile subtitle shows Artist — Album, clipped to the
rounded button width so long titles cannot break the shortcut grid.
- Music and Jellyfin equalizers are exclusive: Jellyfin animates its own tile
while it plays; the Music tile only animates for another app.
Playback
- Media3 1.11.1 playback inside CarDash, not a hand-off to the Jellyfin app.
- Background playback through a
mediaPlayback foreground service.
- Media notification (Android 13+ requires the optional Allow row in
Settings → Jellyfin; playback works without it).
- Hardware/Bluetooth media keys, play/pause from the Home ring and album page.
- Audio focus: pauses and keeps its position when another app takes over;
resumes after a short transient interruption only if it was playing; stops at
the end of the album.
- Reports start/progress/stop to Jellyfin so the server sees CarDash as the
player and recently played updates.
Compatibility
- Android 10+ (minSdk 29), landscape tablet-first.
- Jellyfin 12.x; verified against Jellyfin 12.2. Quick Connect is the only
sign-in path. The access token is stored in Keystore-backed storage and never
placed in a URL or log.
Verified
- 134 Dart unit/widget tests (
flutter analyze clean).
- Android 14 emulator at 1280×800 and 1024×600: Quick Connect, grouped genres,
6/5-card dashboard, album page, track tap, previous/next, background playback,
notification actions, hardware media keys, exclusive equalizers, audio-focus
handover with Chrome, Random re-shuffle, Home title/progress and the clipped
tile subtitle.
- Jellyfin 12.2 real server and a local 12.2 container. Testing against the real
account marked a few played tracks/albums, which is expected Jellyfin
playback-reporting behavior.
Not in 1.2.0
- Artists tab/artist browsing, offline library/downloads, data-aware streaming
quality and queue persistence across process death. See
docs/JELLYFIN_1.2.0_PLAN.md for the future work list.
Download cardash-android-1.2.0.apk
Devices with the in-app updater can use Settings → Updates to download this APK
and open Android's package installer. Android requires install confirmation and a
one-time unknown-apps allowance; no silent install is attempted. A yellow dot
appears on the Settings gear when this release is available.
This build is debug-signed for sideloading/testing, not Play Store distribution.
Gogs release attachments are limited to 32 MB, so the 59 MB universal APK is
linked directly from the repository.