|
@@ -106,9 +106,12 @@ live vehicle data.
|
|
|
Jellyfin. Selecting a Random album re-rolls the row. The home equalizer is
|
|
Jellyfin. Selecting a Random album re-rolls the row. The home equalizer is
|
|
|
exclusive: Jellyfin while it plays, Music only for another app. A rejected
|
|
exclusive: Jellyfin while it plays, Music only for another app. A rejected
|
|
|
token is cleared and asks for pairing again; an unreachable server keeps the
|
|
token is cleared and asks for pairing again; an unreachable server keeps the
|
|
|
- token and retries with backoff. A **Streaming quality** setting (next build)
|
|
|
|
|
- selects Direct or 320/256/192/128 kbps MP3 transcoding; see Settings →
|
|
|
|
|
- Jellyfin.
|
|
|
|
|
|
|
+ token and retries with backoff. The dashboard also has a **Favorites** tab
|
|
|
|
|
+ backed by Jellyfin favorites (a scrollable 5/6-column grid), with a heart on
|
|
|
|
|
+ the album page to add or remove the album. If an album is playing, tapping the
|
|
|
|
|
+ Jellyfin Home tile opens that album directly; Back returns to Albums. A
|
|
|
|
|
+ **Streaming quality** setting (next build) selects Direct or 320/256/192/128
|
|
|
|
|
+ kbps MP3 transcoding; see Settings → Jellyfin.
|
|
|
- **Update check** — on startup, CarDash queries the public Gogs release list
|
|
- **Update check** — on startup, CarDash queries the public Gogs release list
|
|
|
without blocking the dashboard. Settings → Updates shows the current version,
|
|
without blocking the dashboard. Settings → Updates shows the current version,
|
|
|
a Check button, and an Update action that downloads the APK and opens Android’s
|
|
a Check button, and an Update action that downloads the APK and opens Android’s
|
|
@@ -224,7 +227,9 @@ first run shows a one-time tip pointing to this setting.
|
|
|
| Action | Result |
|
|
| Action | Result |
|
|
|
|---|---|
|
|
|---|---|
|
|
|
| Tap Navigation / Music / Radio | Open the assigned app full-screen |
|
|
| Tap Navigation / Music / Radio | Open the assigned app full-screen |
|
|
|
-| Tap Jellyfin | Open the Jellyfin dashboard (Albums) |
|
|
|
|
|
|
|
+| Tap Jellyfin | Open the playing album if one is active; otherwise the dashboard (Albums) |
|
|
|
|
|
+| Tap Jellyfin → Favorites | Browse favorited albums from Jellyfin |
|
|
|
|
|
+| Album page heart | Add or remove the album from Jellyfin favorites |
|
|
|
| Long-press Navigation / Music / Radio | Pick a different installed app |
|
|
| Long-press Navigation / Music / Radio | Pick a different installed app |
|
|
|
| Long-press Jellyfin | Nothing; Jellyfin is a built-in source |
|
|
| Long-press Jellyfin | Nothing; Jellyfin is a built-in source |
|
|
|
| Tap an unassigned shortcut | Open the app picker |
|
|
| Tap an unassigned shortcut | Open the app picker |
|
|
@@ -301,11 +306,16 @@ the app resumes.
|
|
|
- **Home button**: after pairing, turn on **Jellyfin** in Settings → General →
|
|
- **Home button**: after pairing, turn on **Jellyfin** in Settings → General →
|
|
|
Home buttons. The tile sits after Music and before Radio and opens the
|
|
Home buttons. The tile sits after Music and before Radio and opens the
|
|
|
dashboard.
|
|
dashboard.
|
|
|
-- **Dashboard**: Recently played (derived from played tracks across your Jellyfin
|
|
|
|
|
- devices), Recently added, and Random. Artists is shown but disabled for a
|
|
|
|
|
- later release. Six albums per row when they fit, otherwise five.
|
|
|
|
|
|
|
+- **Dashboard**: **Favorites**, **Recently played** (derived from played tracks
|
|
|
|
|
+ across your Jellyfin devices), Recently added, and Random. The Favorites tab
|
|
|
|
|
+ shows the server-side favorites in a scrollable grid, six columns when they fit
|
|
|
|
|
+ and five otherwise; an empty list shows **No favorites**. Artists is shown but
|
|
|
|
|
+ disabled for a later release.
|
|
|
- **Album page**: large cover, track list, previous / play-pause / next, current
|
|
- **Album page**: large cover, track list, previous / play-pause / next, current
|
|
|
- track and the same volume/mute controls as Home.
|
|
|
|
|
|
|
+ track and the same volume/mute controls as Home. The heart adds or removes the
|
|
|
|
|
+ album through the Jellyfin API; the Favorites tab refreshes when you return.
|
|
|
|
|
+- **Home tile**: if a Jellyfin album is active, the Home tile opens that album's
|
|
|
|
|
+ page with the dashboard underneath, so Back returns to the Albums tab.
|
|
|
- **Playback**: in-app Media3 with background playback, a media notification on
|
|
- **Playback**: in-app Media3 with background playback, a media notification on
|
|
|
Android 13+ when allowed, audio-focus pause/resume, and playback reporting to
|
|
Android 13+ when allowed, audio-focus pause/resume, and playback reporting to
|
|
|
Jellyfin. Stops at the end of the album; no autoplay or repeat.
|
|
Jellyfin. Stops at the end of the album; no autoplay or repeat.
|
|
@@ -398,7 +408,7 @@ flutter test
|
|
|
./tool/check.sh
|
|
./tool/check.sh
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-The 142 tests cover PIN hashing/persistence, settings persistence, theme/accent,
|
|
|
|
|
|
|
+The 149 tests cover PIN hashing/persistence, settings persistence, theme/accent,
|
|
|
dark accent tinting, battery visibility, first-run state, the ten-minute
|
|
dark accent tinting, battery visibility, first-run state, the ten-minute
|
|
|
onboarding hint, slot visibility, pinned apps, custom labels/icons, the
|
|
onboarding hint, slot visibility, pinned apps, custom labels/icons, the
|
|
|
16-button cap at 1280×800, 1280×720 and 1024×600, the dense shortcut grid, the
|
|
16-button cap at 1280×800, 1280×720 and 1024×600, the dense shortcut grid, the
|
|
@@ -411,8 +421,9 @@ dot. Jellyfin coverage includes genre grouping, recent-played dedupe, the
|
|
|
12.2 request contract, the dashboard controller and widget states, the genre
|
|
12.2 request contract, the dashboard controller and widget states, the genre
|
|
|
picker and five-family cap, album page/track list/transport, playback queue and
|
|
picker and five-family cap, album page/track list/transport, playback queue and
|
|
|
state mapping, the settings gating, the Home tile width clipping, the
|
|
state mapping, the settings gating, the Home tile width clipping, the
|
|
|
-equalizer's stale-session guard, the streaming-quality persistence and the
|
|
|
|
|
-direct/MP3 transcode URL parameters. Native
|
|
|
|
|
|
|
+equalizer's stale-session guard, the streaming-quality persistence, the
|
|
|
|
|
+direct/MP3 transcode URL parameters, Jellyfin favorite toggling, the Favorites
|
|
|
|
|
+tab/grid/empty state and the playing-album Home shortcut. Native
|
|
|
package enumeration, the HOME role, volume, app launching and PIN flows were
|
|
package enumeration, the HOME role, volume, app launching and PIN flows were
|
|
|
verified on API 35 and API 29 emulators. Location permission, reverse geocoding
|
|
verified on API 35 and API 29 emulators. Location permission, reverse geocoding
|
|
|
and the Open-Meteo fallback were verified live on the API 35 emulator.
|
|
and the Open-Meteo fallback were verified live on the API 35 emulator.
|
|
@@ -423,8 +434,9 @@ background playback, notification, media keys, exclusive equalizers, audio-focus
|
|
|
handover, Random re-shuffle) and against a local 12.2 container. The OBD hardware
|
|
handover, Random re-shuffle) and against a local 12.2 container. The OBD hardware
|
|
|
path compiles and is covered by the parser/economy design, but no ELM327 adapter
|
|
path compiles and is covered by the parser/economy design, but no ELM327 adapter
|
|
|
is available on this machine; socket behavior still needs a car test. The 1.2.1
|
|
is available on this machine; socket behavior still needs a car test. The 1.2.1
|
|
|
-universal APK is the current published release; the streaming-quality setting is
|
|
|
|
|
-staged for the next build. The emulator has verified the in-app update path.
|
|
|
|
|
|
|
+universal APK is the current published release; the streaming-quality setting,
|
|
|
|
|
+Favorites and the playing-album Home shortcut are staged for the next build. The
|
|
|
|
|
+emulator has verified the in-app update path.
|
|
|
|
|
|
|
|
## Troubleshooting the emulator
|
|
## Troubleshooting the emulator
|
|
|
|
|
|