Rilis

  • CarDash 1.2.0 — Jellyfin

    kkazakov 1 Minggu lalu | 25 melakukan main sejak rilis ini

    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.

     
  • CarDash 1.0.7 — Truly disable Impeller

    kkazakov 1 Minggu lalu | 33 melakukan main sejak rilis ini

    CarDash 1.0.7 fixes the emulator crash when opening Settings.

    • Package: com.wasp.cardash_launcher
    • Version: 1.0.7 (versionCode 19)
    • ABIs: arm64-v8a, armeabi-v7a, x86_64
    • Signing: project debug key matching all prior releases
    • SHA-256: 5b37116b38683ae5e9c42f36841ca509a417f21164902ffe0a93e7b5b29c61ae

    Root cause

    • The EnableImpeller=false opt-out was under <activity>. Flutter silently ignores that key there, so CarDash had actually been running Impeller.
    • On the 1024×600 SwiftShader emulator, opening Settings killed the emulator process.
    • 1.0.7 moves the key to <application>. The app now uses Skia as intended. The Flutter log reports the Impeller opt-out instead of “Using the Impeller rendering backend”.

    Verified on the Android 14 / 1024×600 SwiftShader emulator

    • Fresh install, open Settings: stays alive.
    • Grant Bluetooth permission: stays alive.
    • Bluetooth off → Open Bluetooth settings → enable Bluetooth → return to CarDash: stays alive.
    • Tap Find and reopen the card: stays responsive.

    Includes

    • All 1.0.6 Bluetooth/OBD hardening: binder calls off the main thread, adapter filtering, bounded retries and the Retry connection action.

    Download cardash-android-1.0.7.apk

    The installed 1.0.6 app can use Settings → Updates to download this APK and open Android 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 54 MB universal APK is linked directly from the repository.

     
  • CarDash 1.0.6 — Bluetooth/OBD freeze hardening

    kkazakov 1 Minggu lalu | 38 melakukan main sejak rilis ini

    CarDash 1.0.6 hardens the Bluetooth OBD-II path after a freeze that could occur after returning from Android Bluetooth settings.

    • Package: com.wasp.cardash_launcher
    • Version: 1.0.6 (versionCode 18)
    • ABIs: arm64-v8a, armeabi-v7a, x86_64
    • Signing: project debug key matching all prior releases
    • SHA-256: 180050ad7cb7db88b4e253d748e49dedb380f0ed11acad743c39b4f925e9afed

    What changed

    • All Bluetooth binder work now runs on a serialized native worker, never the Android main thread. Dart-side timeouts keep a wedged Bluetooth stack from freezing the UI.
    • The OBD-II picker defaults to devices that look like OBD-II adapters. Show all paired devices reveals phones, headsets and other bonded devices for unusual adapters.
    • Connection attempts are limited to three with a 12 s connect watchdog. After that the card shows Retry connection and does not auto-retry on every resume.
    • Returning from Bluetooth settings checks the adapter power state and reuses the cached paired-device list instead of querying it every time.
    • The OBD worker closes sockets off the main thread and cannot create a new socket after a stop.

    Please test

    • Turn Bluetooth off, open OBD-II → Open Bluetooth settings, turn Bluetooth on, then return to CarDash.
    • Open and close the OBD-II card, tap Find and Retry connection a few times.
    • If it freezes again, note whether it happened inside Android Settings or after returning to CarDash.

    Download cardash-android-1.0.6.apk

    The installed 1.0.5 app can use Settings → Updates to download this APK and open Android 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 54 MB universal APK is linked directly from the repository.

     
  • CarDash 1.0.5 — volume diagnostics

    kkazakov 1 Minggu lalu | 39 melakukan main sejak rilis ini

    CarDash 1.0.5 adds an on-screen volume diagnostic readout for car head units that ignore Android volume writes.

    • Package: com.wasp.cardash_launcher
    • Version: 1.0.5 (versionCode 17)
    • ABIs: arm64-v8a, armeabi-v7a, x86_64
    • Signing: project debug key matching all prior releases
    • SHA-256: d3fcd888d4b742a3c636d65126c9d0e4a9550a0d04db0eceef9cd6a18be0fcc2

    What it adds

    • Long-press the Media volume label on Home to toggle a small diagnostics panel.
    • The panel shows the raw index/max, the fixed-volume flag, every Android audio stream level, and the target/actual result of the last volume write.
    • The same values are written to logcat under the CarDashVolume tag.

    For the volume issue

    • If the panel shows fixed true, Android is delegating volume to the vehicle amplifier and an app cannot change it.
    • If it shows fixed false and write n -> 100, the head unit is rejecting the stream write. Please send a screenshot of the panel and, if possible, adb logcat -s CarDashVolume.

    Download cardash-android-1.0.5.apk

    The installed 1.0.4 app can use Settings → Updates to download this APK and open Android 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 54 MB universal APK is linked directly from the repository.

     
  • CarDash 1.0.4 — car volume fix

    kkazakov 1 Minggu lalu | 40 melakukan main sejak rilis ini

    CarDash 1.0.4 fixes volume control on car dashboards that report a fixed media volume.

    • Package: com.wasp.cardash_launcher
    • Version: 1.0.4 (versionCode 16)
    • ABIs: arm64-v8a, armeabi-v7a, x86_64
    • Signing: project debug key matching the 1.0.0–1.0.3 releases
    • SHA-256: d26e5a3bd98c38e639edebea92e0e165da8245eccaca14973eb549569e6b6a5e

    Changes

    • Detect Android's fixed-volume policy (AudioManager.isVolumeFixed). On these car units the vehicle amplifier owns the level, so CarDash disables the misleading 100% slider and shows Volume is controlled by the car.
    • On units that ignore absolute setStreamVolume writes but accept the hardware-key path, CarDash now retries with relative adjustStreamVolume steps.
    • Fixed-volume units no longer consume the hardware volume keys; they pass through to the car so its normal volume control keeps working.
    • Software volume changes are ignored when the system reports fixed volume, preventing the slider from snapping back to 100%.

    Download cardash-android-1.0.4.apk

    The installed 1.0.3 app can use Settings → Updates to download this APK and open Android 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 54 MB universal APK is linked directly from the repository.

     
  • CarDash 1.0.3 — speed and temperature cards

    kkazakov 1 Minggu lalu | 44 melakukan main sejak rilis ini

    CarDash 1.0.3 splits car-data settings into dedicated cards and adds independent speed/temperature controls.

    • Package: com.wasp.cardash_launcher
    • Version: 1.0.3 (versionCode 15)
    • ABIs: arm64-v8a, armeabi-v7a, x86_64
    • Signing: debug key matching the 1.0.0–1.0.2 releases
    • SHA-256: 3106540af2254b7eb7717bb95a5a61d8b7c9680fb2230711c624c5846e9bc209

    Changes

    • Settings now has separate OBD-II, Speed and Temperature cards. The OBD-II card contains adapter settings only.
    • Speed has a show/hide switch for the Home card. While an OBD-II adapter is selected, Use OBD-II for speed chooses OBD-II or GPS; off selects GPS.
    • Temperature has a show/hide switch for the row below the clock. While an OBD-II adapter is selected, Use OBD-II for temperature chooses OBD-II or GPS + Open-Meteo weather.
    • The long-press hint is visible only for the first ten minutes after a fresh installation and never returns. Upgraded installs are migrated to expired.
    • Fresh installs start with temperature off; existing OBD-II/weather installations keep their previous temperature choice.

    Download cardash-android-1.0.3.apk

    The installed 1.0.2 app can use Settings → Updates to download this APK and open Android 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 54 MB universal APK is linked directly from the repository.

     
  • CarDash 1.0.2 — Bluetooth settings action

    kkazakov 1 Minggu lalu | 46 melakukan main sejak rilis ini

    CarDash 1.0.2 adds a Bluetooth-off shortcut in Settings → Car data.

    • Package: com.wasp.cardash_launcher
    • Version: 1.0.2 (versionCode 14)
    • ABIs: arm64-v8a, armeabi-v7a, x86_64
    • SHA-256: 9cecb410c9d6af6e83f13c63d3c9839614f03505ccb47682b646a1e461da916c

    Changes

    • When Bluetooth is off, Settings → Car data shows Open Bluetooth settings. Turn Bluetooth on there, return to CarDash, and the paired-device list refreshes automatically.
    • Release/deployment runbook added to AGENTS.md.

    Download cardash-android-1.0.2.apk

    The installed 1.0.1 app can use Settings → Updates to download this APK and open Android 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 54 MB universal APK is linked directly from the repository.

     
  • CarDash 1.0.1 — update test

    kkazakov 1 Minggu lalu | 50 melakukan main sejak rilis ini

    Version-only update-test release. No functional changes from the 1.0.0 installer build.

    • Package: com.wasp.cardash_launcher
    • Version: 1.0.1 (versionCode 13)
    • ABIs: arm64-v8a, armeabi-v7a, x86_64
    • SHA-256: f229414c8c406a2f6754f9ee1ccc4763ba1742acd277765962b61ecaaf356329

    Download cardash-android-1.0.1.apk

    The installed app can use Settings → Updates to download this APK and open the Android package installer. A small yellow dot appears on the Settings gear when a release is available. Android requires install confirmation and a one-time unknown-apps allowance; no silent install is attempted.

    This build is debug-signed for sideloading/testing, not Play Store distribution. Gogs release attachments are limited to 32 MB, so the 54 MB universal APK is linked directly from the repository.

     
  • CarDash 1.0.0 — universal Android

    kkazakov 1 Minggu lalu | 52 melakukan main sejak rilis ini

    Universal Android release of CarDash, built with Flutter.

    • Package: com.wasp.cardash_launcher
    • Version: 1.0.0 (versionCode 12)
    • ABIs: arm64-v8a, armeabi-v7a, x86_64
    • SHA-256: 9a75258e14432d74eedb866ac4043179496234c252a877d25b709c2a2ff4d9a2

    Download cardash-android-1.0.0.apk

    Install with adb install -r cardash-android-1.0.0.apk.

    This build uses the project’s existing debug signing configuration. It is suitable for sideloading and testing, but is not Play Store/production-signed. Gogs release attachments are limited to 32 MB, so the 54 MB universal APK is linked directly from the repository.