|
@@ -78,9 +78,10 @@ live vehicle data.
|
|
|
level and charging bolt.
|
|
level and charging bolt.
|
|
|
- **OBD-II car data** — optional Bluetooth Classic ELM327 adapter. A dedicated
|
|
- **OBD-II car data** — optional Bluetooth Classic ELM327 adapter. A dedicated
|
|
|
**OBD-II** Settings card holds the adapter status, paired-device picker and
|
|
**OBD-II** Settings card holds the adapter status, paired-device picker and
|
|
|
- Bluetooth actions. The live card shows speed, a throttle bar and rolling 5 km
|
|
|
|
|
- fuel economy from the ECU fuel rate (with a petrol MAF fallback), plus ambient
|
|
|
|
|
- temperature when the adapter provides it.
|
|
|
|
|
|
|
+ Bluetooth actions. The live card shows speed and a throttle bar, plus ambient
|
|
|
|
|
+ temperature when the adapter provides it. The adapter stays connected while
|
|
|
|
|
+ another app is in front, so returning from navigation does not drop OBD speed
|
|
|
|
|
+ to GPS.
|
|
|
- **Speed card with source choice** — Settings → **Speed** shows or hides the
|
|
- **Speed card with source choice** — Settings → **Speed** shows or hides the
|
|
|
speed card and, while an adapter is selected, chooses OBD-II or GPS. GPS is
|
|
speed card and, while an adapter is selected, chooses OBD-II or GPS. GPS is
|
|
|
the fallback when OBD speed is off or unavailable; it reads 0 km/h when
|
|
the fallback when OBD speed is off or unavailable; it reads 0 km/h when
|
|
@@ -439,11 +440,11 @@ flutter test
|
|
|
./tool/check.sh
|
|
./tool/check.sh
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-The 154 tests cover PIN hashing/persistence, settings persistence, theme/accent,
|
|
|
|
|
|
|
+The 146 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
|
|
|
-equalizer animation, OBD economy, the OBD card, media-key playback, media
|
|
|
|
|
|
|
+equalizer animation, the OBD card, media-key playback, media
|
|
|
metadata/progress, the marquee, the play/pause ring, fixed-volume handling,
|
|
metadata/progress, the marquee, the play/pause ring, fixed-volume handling,
|
|
|
volume-write diagnostics, the keep-awake preference, the night overlay, GPS
|
|
volume-write diagnostics, the keep-awake preference, the night overlay, GPS
|
|
|
speed fallback and its permission prompt, speed/temperature source persistence,
|
|
speed fallback and its permission prompt, speed/temperature source persistence,
|
|
@@ -465,24 +466,24 @@ live Chrome MediaSession. Jellyfin was verified end-to-end on API 34 against a
|
|
|
real 12.2 server (Quick Connect, grouped genres, 6/5-card dashboard, album page,
|
|
real 12.2 server (Quick Connect, grouped genres, 6/5-card dashboard, album page,
|
|
|
background playback, notification, media keys, exclusive equalizers, audio-focus
|
|
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
|
|
|
|
|
-is available on this machine; socket behavior still needs a car test. The 1.2.9
|
|
|
|
|
-universal APK is the current published release. It fixes the 1.2.7 economy
|
|
|
|
|
-regression that left the card at `—`: the ELM327 stream is warmed up after the
|
|
|
|
|
-`ATSP0` protocol search, stale input is drained before every command, and PID
|
|
|
|
|
-`5E` is probed in the poll loop. The ECU fuel-rate economy still fixes the high
|
|
|
|
|
-diesel reading, with the MAF fallback for vehicles without `5E`. The release
|
|
|
|
|
-also includes the 1.2.8 Jellyfin album navigation card — favorite heart in the
|
|
|
|
|
-left corner at 69 px, three separate 60 px volume buttons on the right, a 30%
|
|
|
|
|
-smaller cover with taller track rows, a larger back button on every page, and a
|
|
|
|
|
-transparent top-right time / speed / temperature / Home strip — plus the 1.2.6
|
|
|
|
|
-stacked album layout at every resolution, the 1.2.5 bottom alignment and larger
|
|
|
|
|
-controls, the 1.2.4 album redesign, the 1.2.3 recents/normal-app work, the
|
|
|
|
|
-FYT/Syu MCU volume bridge, the no-snap-back volume handling, the
|
|
|
|
|
-streaming-quality setting, Favorites, the playing-album Home shortcut and the
|
|
|
|
|
-Jellyfin progress-duration fallback. The emulator has verified the in-app update
|
|
|
|
|
-path, and the MCU volume path is verified on the car: the on-screen slider and
|
|
|
|
|
-the car's own volume control now agree.
|
|
|
|
|
|
|
+path compiles and is covered by the parser design, but no ELM327 adapter is
|
|
|
|
|
+available on this machine; socket behavior still needs a car test. The current
|
|
|
|
|
+source is 1.2.10; the last published APK is 1.2.9. The source removes the
|
|
|
|
|
+rolling fuel-economy estimate because `5E` is not reported by every vehicle and
|
|
|
|
|
+the MAF/AFR fallback was not accurate enough across petrol and diesel. The OBD
|
|
|
|
|
+card now shows speed and throttle, and the adapter stays connected while the
|
|
|
|
|
+app is backgrounded so returning from navigation does not drop to GPS. The
|
|
|
|
|
+published 1.2.9 APK still includes the 1.2.8 Jellyfin album navigation card —
|
|
|
|
|
+favorite heart in the left corner at 69 px, three separate 60 px volume buttons
|
|
|
|
|
+on the right, a 30% smaller cover with taller track rows, a larger back button
|
|
|
|
|
+on every page, and a transparent top-right time / speed / temperature / Home
|
|
|
|
|
+strip — plus the 1.2.6 stacked album layout at every resolution, the 1.2.5
|
|
|
|
|
+bottom alignment and larger controls, the 1.2.4 album redesign, the 1.2.3
|
|
|
|
|
+recents/normal-app work, the FYT/Syu MCU volume bridge, the no-snap-back volume
|
|
|
|
|
+handling, the streaming-quality setting, Favorites, the playing-album Home
|
|
|
|
|
+shortcut and the Jellyfin progress-duration fallback. The emulator has verified
|
|
|
|
|
+the in-app update path, and the MCU volume path is verified on the car: the
|
|
|
|
|
+on-screen slider and the car's own volume control now agree.
|
|
|
|
|
|
|
|
## Troubleshooting the emulator
|
|
## Troubleshooting the emulator
|
|
|
|
|
|
|
@@ -576,15 +577,14 @@ Android 15 AVD is left running headlessly after development; use
|
|
|
with GPS as the source asks for location permission. Stale/no-fix GPS values
|
|
with GPS as the source asks for location permission. Stale/no-fix GPS values
|
|
|
are hidden.
|
|
are hidden.
|
|
|
- **OBD-II is a subset**: Bluetooth Classic SPP only, paired devices only,
|
|
- **OBD-II is a subset**: Bluetooth Classic SPP only, paired devices only,
|
|
|
- read-only. Speed, throttle, ECU fuel rate, MAF economy and ambient temperature
|
|
|
|
|
- are implemented; RPM, coolant, voltage, MIL/DTCs, fuel level and BLE/Wi-Fi
|
|
|
|
|
- adapters are not. The adapter list is class/name filtered, and connections
|
|
|
|
|
- stop after three failures so an absent adapter cannot keep the Bluetooth stack
|
|
|
|
|
- busy.
|
|
|
|
|
-- **Fuel economy prefers the ECU fuel rate** (`5E`), which follows the car's own
|
|
|
|
|
- trip computer and works for diesel. A vehicle that does not report `5E` falls
|
|
|
|
|
- back to a petrol MAF/AFR estimate; that fallback is not suitable for a diesel
|
|
|
|
|
- engine.
|
|
|
|
|
|
|
+ read-only. Speed, throttle and ambient temperature are implemented; RPM,
|
|
|
|
|
+ coolant, voltage, MIL/DTCs, fuel economy, fuel level and BLE/Wi-Fi adapters are
|
|
|
|
|
+ not. The adapter list is class/name filtered, and connections stop after three
|
|
|
|
|
+ failures so an absent adapter cannot keep the Bluetooth stack busy.
|
|
|
|
|
+- **No fuel-economy estimate.** The rolling MAF/`5E` figure was removed because
|
|
|
|
|
+ `5E` is not reported by every vehicle and the MAF/AFR fallback was not
|
|
|
|
|
+ accurate enough across petrol and diesel. The dashboard shows speed and
|
|
|
|
|
+ throttle only.
|
|
|
- **Temperature source** is selectable only while an OBD adapter is selected.
|
|
- **Temperature source** is selectable only while an OBD adapter is selected.
|
|
|
Weather fallback uses Open-Meteo and the device location; it requires location
|
|
Weather fallback uses Open-Meteo and the device location; it requires location
|
|
|
permission and network access, and hides the row when unavailable.
|
|
permission and network access, and hides the row when unavailable.
|
|
@@ -615,7 +615,7 @@ numerals and quiet line icons. It is not a copy of that UI.
|
|
|
## Roadmap
|
|
## Roadmap
|
|
|
|
|
|
|
|
- Optional compact now-playing control beside the volume card.
|
|
- Optional compact now-playing control beside the volume card.
|
|
|
-- Real-car ELM327 soak test (speed/throttle/MAF/ambient).
|
|
|
|
|
|
|
+- Real-car ELM327 soak test (speed/throttle/ambient).
|
|
|
- Release signing configuration.
|
|
- Release signing configuration.
|
|
|
- Real-device soak test on an Android 10 car tablet.
|
|
- Real-device soak test on an Android 10 car tablet.
|
|
|
|
|
|