فهرست منبع

chore: add 1.2.0 release APK

Universal arm/arm64/x86_64 release, versionCode 20, debug-signed with the existing project key. Includes the release notes and checksum.
Krasimir Kazakov 6 روز پیش
والد
کامیت
2715eebc8e
4فایلهای تغییر یافته به همراه94 افزوده شده و 1 حذف شده
  1. 73 0
      releases/1.2.0.md
  2. 20 1
      releases/README.md
  3. BIN
      releases/cardash-android-1.2.0.apk
  4. 1 0
      releases/cardash-android-1.2.0.apk.sha256

+ 73 - 0
releases/1.2.0.md

@@ -0,0 +1,73 @@
+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](https://git.krasi.net/kkazakov/car-interface-android/raw/main/releases/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.

+ 20 - 1
releases/README.md

@@ -1,5 +1,24 @@
 # CarDash releases
 # CarDash releases
 
 
+## 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
 ## 1.0.7 — Truly disable Impeller
 
 
 - **File:** `cardash-android-1.0.7.apk`
 - **File:** `cardash-android-1.0.7.apk`
@@ -97,7 +116,7 @@
 The release is published at:
 The release is published at:
 <https://git.krasi.net/kkazakov/car-interface-android/releases>
 <https://git.krasi.net/kkazakov/car-interface-android/releases>
 
 
-Gogs limits release attachments to 32 MB, so these 54 MB universal APKs are
+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.
 linked directly from the repository rather than attached to the release.
 
 
 This is a single universal APK containing all supported Android ABIs. It is
 This is a single universal APK containing all supported Android ABIs. It is

BIN
releases/cardash-android-1.2.0.apk


+ 1 - 0
releases/cardash-android-1.2.0.apk.sha256

@@ -0,0 +1 @@
+cd8e7de1225dc9caa04d7caffe0d254db79f1bb0af872d5437f90adeab784acf  releases/cardash-android-1.2.0.apk