Parcourir la source

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 il y a 6 jours
Parent
commit
2715eebc8e

+ 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
 
+## 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`
@@ -97,7 +116,7 @@
 The release is published at:
 <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.
 
 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