1.2.0.md 3.9 KB

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.