Krasimir Kazakov 85e15bb893 fix: control car volume through the FYT/Syu MCU 5 päivää sitten
..
1.0.7.md 5a63ef9553 feat: publish Gogs releases through the web form 6 päivää sitten
1.2.0.md 2715eebc8e chore: add 1.2.0 release APK 6 päivää sitten
1.2.1.md aef4581bc0 chore: add 1.2.1 release APK 6 päivää sitten
1.2.2.md 85e15bb893 fix: control car volume through the FYT/Syu MCU 5 päivää sitten
README.md 85e15bb893 fix: control car volume through the FYT/Syu MCU 5 päivää sitten
cardash-android-1.0.0.apk 77a43a67e5 release: add universal 1.0.0 APK 1 viikko sitten
cardash-android-1.0.0.apk.sha256 77a43a67e5 release: add universal 1.0.0 APK 1 viikko sitten
cardash-android-1.0.1.apk 920278a9cc feat: show update dot on settings gear 1 viikko sitten
cardash-android-1.0.1.apk.sha256 920278a9cc feat: show update dot on settings gear 1 viikko sitten
cardash-android-1.0.2.apk a6e692d0b7 feat: open Bluetooth settings when off and release 1.0.2 1 viikko sitten
cardash-android-1.0.2.apk.sha256 a6e692d0b7 feat: open Bluetooth settings when off and release 1.0.2 1 viikko sitten
cardash-android-1.0.3.apk 836f08b359 fix: re-sign 1.0.3 release with the project keystore 1 viikko sitten
cardash-android-1.0.3.apk.sha256 836f08b359 fix: re-sign 1.0.3 release with the project keystore 1 viikko sitten
cardash-android-1.0.4.apk 9a1ad4b9ab fix: handle fixed-volume car units and relative volume fallback 1 viikko sitten
cardash-android-1.0.4.apk.sha256 9a1ad4b9ab fix: handle fixed-volume car units and relative volume fallback 1 viikko sitten
cardash-android-1.0.5.apk d9c8e697bd feat: add on-screen volume diagnostics 1 viikko sitten
cardash-android-1.0.5.apk.sha256 d9c8e697bd feat: add on-screen volume diagnostics 1 viikko sitten
cardash-android-1.0.6.apk 2eac7d1d67 fix: harden Bluetooth OBD path against freezes 6 päivää sitten
cardash-android-1.0.6.apk.sha256 2eac7d1d67 fix: harden Bluetooth OBD path against freezes 6 päivää sitten
cardash-android-1.0.7.apk d83bb26eec fix: actually disable Impeller on Android 6 päivää sitten
cardash-android-1.0.7.apk.sha256 d83bb26eec fix: actually disable Impeller on Android 6 päivää sitten
cardash-android-1.2.0.apk 2715eebc8e chore: add 1.2.0 release APK 6 päivää sitten
cardash-android-1.2.0.apk.sha256 2715eebc8e chore: add 1.2.0 release APK 6 päivää sitten
cardash-android-1.2.1.apk aef4581bc0 chore: add 1.2.1 release APK 6 päivää sitten
cardash-android-1.2.1.apk.sha256 aef4581bc0 chore: add 1.2.1 release APK 6 päivää sitten
cardash-android-1.2.2.apk 85e15bb893 fix: control car volume through the FYT/Syu MCU 5 päivää sitten
cardash-android-1.2.2.apk.sha256 85e15bb893 fix: control car volume through the FYT/Syu MCU 5 päivää sitten

README.md

CarDash releases

1.2.2 — car volume on FYT/Syu units

  • File: cardash-android-1.2.2.apk
  • Version: 1.2.2 (versionCode 22)
  • ABIs: arm64-v8a, armeabi-v7a, x86_64
  • SHA-256: fed6d1818cfd28b19c0e568652ad14f44ce4bf15291a635f73fd97efe1ef5a35
  • Signing: project debug key matching all releases.
  • Changes: the volume card now drives the FYT/Syu MCU master volume through com.syu.ms (sound module, C_VOL 0–36), follows the level the car reports, and keeps an unconfirmed write instead of snapping back to 100%. Non-Syu units keep the Android path with an extra UI-panel write. Diagnostics show the control source and vendor state. Includes the Jellyfin Favorites tab, the playing-album Home shortcut and the streaming-quality setting.
  • Verified: 149 tests, flutter analyze, formatting, debug and release builds. The MCU volume path still needs the real-car test.

1.2.1 — Jellyfin pause equalizer fix

  • File: cardash-android-1.2.1.apk
  • Version: 1.2.1 (versionCode 21)
  • ABIs: arm64-v8a, armeabi-v7a, x86_64
  • SHA-256: 8fc6de444c2811dfe8269b21a7ad7b1f927cdde6b97d4f2f9fadd7cf0ea9b97e
  • Signing: project debug key matching all releases.
  • Changes: the Music equalizer only animates for an external system media session, so pausing Jellyfin from Home cannot briefly light it up while CarDash's own stale MediaSession snapshot catches up. The Home card stays on the paused Jellyfin queue during that gap. No playback changes. Includes all 1.2.0 Jellyfin features.
  • Verified: 139 tests; Android 14 emulator pause sequence leaves the Music tile quiet and the Jellyfin tile stopped immediately.

1.2.0 — Jellyfin

  • File: cardash-android-1.2.0.apk
  • Version: 1.2.0 (versionCode 20)
  • ABIs: arm64-v8a, armeabi-v7a, x86_64
  • SHA-256: cd8e7de1225dc9caa04d7caffe0d254db79f1bb0af872d5437f90adeab784acf
  • Signing: project debug key matching all releases.
  • Changes: adds the optional full Jellyfin music source: a Home button after Music, dashboard with recently played/added and grouped-genre Random rows (six cards when they fit, five otherwise), album page with track list and previous/next, in-app Media3 playback with background/notification/audio focus, Jellyfin playback reporting, exclusive Music/Jellyfin equalizers and a clipped Home subtitle. Artists, offline caching and data-aware streaming are deferred. See releases/1.2.0.md.
  • Verified: 134 tests; Android 14 emulator at 1280×800 and 1024×600 against Jellyfin 12.2 (Quick Connect, genre grouping, album/transport, notification, media keys, audio focus, Random re-shuffle). Testing against the real account marked a few played tracks, as expected from playback reporting.

1.0.7 — Truly disable Impeller

  • File: cardash-android-1.0.7.apk
  • Version: 1.0.7 (versionCode 19)
  • ABIs: arm64-v8a, armeabi-v7a, x86_64
  • SHA-256: 5b37116b38683ae5e9c42f36841ca509a417f21164902ffe0a93e7b5b29c61ae
  • Signing: project debug key matching all releases.
  • Changes: moves the EnableImpeller=false manifest entry from <activity> to <application>. Flutter ignores the activity-scoped key, so 1.0.6 and earlier silently ran Impeller. That caused the host emulator's SwiftShader process to segfault when Settings opened. 1.0.7 uses Skia as originally intended. Includes all 1.0.6 Bluetooth/OBD hardening.
  • Verified: on the 1024×600 Android 14 SwiftShader emulator, opening Settings, granting Bluetooth permission, and the Bluetooth-off → Android settings → Bluetooth-on → return flow all stay alive.

1.0.6 — Bluetooth/OBD freeze hardening

  • File: cardash-android-1.0.6.apk
  • Version: 1.0.6 (versionCode 18)
  • ABIs: arm64-v8a, armeabi-v7a, x86_64
  • SHA-256: 180050ad7cb7db88b4e253d748e49dedb380f0ed11acad743c39b4f925e9afed
  • Signing: project debug key matching all releases.
  • Changes: moves every Bluetooth binder call off the Android main thread, filters the OBD-II picker to likely OBD-II adapters, adds a bounded three-attempt connection limit with a Retry connection action, stops re-querying bonded devices on every resume, and adds timeouts around the telemetry bridge. Intended to remove the freeze that could occur after returning from Bluetooth settings with the OBD-II card open.

1.0.5 — Volume diagnostics

  • File: cardash-android-1.0.5.apk
  • Version: 1.0.5 (versionCode 17)
  • ABIs: arm64-v8a, armeabi-v7a, x86_64
  • SHA-256: d3fcd888d4b742a3c636d65126c9d0e4a9550a0d04db0eceef9cd6a18be0fcc2
  • Signing: project debug key matching all releases.
  • Changes: adds a long-press Media volume diagnostics panel showing the raw index/max, fixed-volume flag, every audio stream level, and the last target/actual volume write. The same data is logged under CarDashVolume. This release is for identifying car units that ignore both absolute and relative volume writes.

1.0.4 — Car volume fix

  • File: cardash-android-1.0.4.apk
  • Version: 1.0.4 (versionCode 16)
  • ABIs: arm64-v8a, armeabi-v7a, x86_64
  • SHA-256: d26e5a3bd98c38e639edebea92e0e165da8245eccaca14973eb549569e6b6a5e
  • Signing: project debug key (SHA-256 C2:8E:5B:0B:E0:F8:27:EE:12:22:B0:62:9F:EE:1C:F2:7E:14:3F:78:95:86:1E:3F:34:15:A6:E5:3A:06:BE:ED).
  • Changes: detects Android's fixed-volume car policy, disables the misleading volume slider and explains that the vehicle amplifier owns the level. On units that ignore absolute volume writes, CarDash now retries with the same relative steps used by the hardware volume keys. Fixed-volume units also pass the hardware keys through to the car instead of consuming them.

1.0.3 — Speed and temperature cards

  • File: cardash-android-1.0.3.apk
  • Version: 1.0.3 (versionCode 15)
  • ABIs: arm64-v8a, armeabi-v7a, x86_64
  • SHA-256: 3106540af2254b7eb7717bb95a5a61d8b7c9680fb2230711c624c5846e9bc209
  • Signing: debug key matching the 1.0.0–1.0.2 releases.
  • Changes: splits Settings into OBD-II, Speed and Temperature cards; adds independent show/hide switches plus OBD-II/GPS and OBD-II/weather source switches; limits the long-press hint to the first ten minutes after a fresh installation and never shows it again after an upgrade.

1.0.2 — Bluetooth settings action

  • File: cardash-android-1.0.2.apk
  • Version: 1.0.2 (versionCode 14)
  • ABIs: arm64-v8a, armeabi-v7a, x86_64
  • SHA-256: 9cecb410c9d6af6e83f13c63d3c9839614f03505ccb47682b646a1e461da916c
  • Changes: adds Open Bluetooth settings when Bluetooth is off; no changes to the update installer.

1.0.1 — update-test release

  • File: cardash-android-1.0.1.apk
  • Version: 1.0.1 (versionCode 13)
  • ABIs: arm64-v8a, armeabi-v7a, x86_64
  • SHA-256: f229414c8c406a2f6754f9ee1ccc4763ba1742acd277765962b61ecaaf356329
  • Changes: version bump only; no functional changes from the 1.0.0 updater build.
  • The in-app Updates action downloads this APK and opens Android’s installer; the user still confirms the installation and allows unknown-app installs once.

1.0.0 — first universal release

  • File: cardash-android-1.0.0.apk
  • Version: 1.0.0 (versionCode 12)
  • SHA-256: 9a75258e14432d74eedb866ac4043179496234c252a877d25b709c2a2ff4d9a2
  • Source: commit d28bfea

The release is published at: https://git.krasi.net/kkazakov/car-interface-android/releases

Gogs limits release attachments to 32 MB, so the universal APKs (59 MB for 1.2.0) are linked directly from the repository rather than attached to the release.

This is a single universal APK containing all supported Android ABIs. It is signed with the project's existing debug signing configuration, so it is suitable for sideloading and local testing but is not a Play Store/production-signed artifact.

Install with:

adb install -r cardash-android-1.0.0.apk

Verify the download with:

sha256sum -c cardash-android-1.0.0.apk.sha256