|
@@ -30,6 +30,7 @@ Also: [Home with top-right Settings](docs/screenshots/home-16.png) ·
|
|
|
[Settings · Media access](docs/screenshots/settings-media.png) ·
|
|
[Settings · Media access](docs/screenshots/settings-media.png) ·
|
|
|
[Now playing](docs/screenshots/home-now-playing.png) ·
|
|
[Now playing](docs/screenshots/home-now-playing.png) ·
|
|
|
[1280×720](docs/screenshots/home-1280x720.png) ·
|
|
[1280×720](docs/screenshots/home-1280x720.png) ·
|
|
|
|
|
+[GPS speed](docs/screenshots/home-gps-speed.png) ·
|
|
|
[Night mode](docs/screenshots/home-night-mode.png) ·
|
|
[Night mode](docs/screenshots/home-night-mode.png) ·
|
|
|
[Blue accent](docs/screenshots/settings-blue-accent.png) ·
|
|
[Blue accent](docs/screenshots/settings-blue-accent.png) ·
|
|
|
[user-app icon on Home](docs/screenshots/home-user-icon.png) ·
|
|
[user-app icon on Home](docs/screenshots/home-user-icon.png) ·
|
|
@@ -48,6 +49,10 @@ Also: [Home with top-right Settings](docs/screenshots/home-16.png) ·
|
|
|
- **OBD-II car data** — optional Bluetooth Classic ELM327 adapter. Shows digital
|
|
- **OBD-II car data** — optional Bluetooth Classic ELM327 adapter. Shows digital
|
|
|
speed, a throttle bar and rolling 5 km MAF economy, plus ambient temperature
|
|
speed, a throttle bar and rolling 5 km MAF economy, plus ambient temperature
|
|
|
when the adapter provides it.
|
|
when the adapter provides it.
|
|
|
|
|
+- **GPS speed fallback** — when no OBD adapter is connected and precise location
|
|
|
|
|
+ is already allowed, show speed from GPS; it reads 0 km/h when stationary.
|
|
|
|
|
+ CarDash never prompts for this; GPS must be enabled and location previously
|
|
|
|
|
+ allowed (for example through the weather toggle).
|
|
|
- **Location temperature fallback** — if OBD has no ambient value, an optional
|
|
- **Location temperature fallback** — if OBD has no ambient value, an optional
|
|
|
Settings toggle fetches the current temperature from Open-Meteo using the
|
|
Settings toggle fetches the current temperature from Open-Meteo using the
|
|
|
device location. The row reads `Outside, 7°C` for OBD or `Sofia, 7°C` for
|
|
device location. The row reads `Outside, 7°C` for OBD or `Sofia, 7°C` for
|
|
@@ -170,6 +175,7 @@ first run shows a one-time tip pointing to this setting.
|
|
|
| Long-press an added app on Home | Rename, Change icon or Remove |
|
|
| Long-press an added app on Home | Rename, Change icon or Remove |
|
|
|
| Settings → Car data | Pick a paired ELM327 or None |
|
|
| Settings → Car data | Pick a paired ELM327 or None |
|
|
|
| Settings → Car data → Location temperature | Enable GPS weather fallback |
|
|
| Settings → Car data → Location temperature | Enable GPS weather fallback |
|
|
|
|
|
+| No OBD + allowed location + GPS on | Shows GPS speed above the volume card; 0 when stopped |
|
|
|
| Temperature row | OBD ambient, or location weather when OBD has none |
|
|
| Temperature row | OBD ambient, or location weather when OBD has none |
|
|
|
| Settings | Theme, accent, media access, battery, home buttons, default-home role, PIN |
|
|
| Settings | Theme, accent, media access, battery, home buttons, default-home role, PIN |
|
|
|
| All apps | Search every launchable app; tap to open, hold to pin |
|
|
| All apps | Search every launchable app; tap to open, hold to pin |
|
|
@@ -256,12 +262,12 @@ flutter test
|
|
|
./tool/check.sh
|
|
./tool/check.sh
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-The 44 tests cover PIN hashing/persistence, settings persistence, theme/accent,
|
|
|
|
|
|
|
+The 47 tests cover PIN hashing/persistence, settings persistence, theme/accent,
|
|
|
dark accent tinting, battery visibility, first-run state, slot visibility,
|
|
dark accent tinting, battery visibility, first-run state, slot visibility,
|
|
|
pinned apps, custom labels/icons, the 16-button cap at 1280×800, 1280×720 and
|
|
pinned apps, custom labels/icons, the 16-button cap at 1280×800, 1280×720 and
|
|
|
1024×600, the dense shortcut grid, the equalizer animation, OBD economy, the OBD
|
|
1024×600, the dense shortcut grid, the equalizer animation, OBD economy, the OBD
|
|
|
card, media-key playback, media metadata/progress, the marquee, the play/pause
|
|
card, media-key playback, media metadata/progress, the marquee, the play/pause
|
|
|
-ring, the keep-awake preference and the night overlay. Native package
|
|
|
|
|
|
|
+ring, the keep-awake preference, the night overlay and GPS speed fallback. Native package
|
|
|
enumeration, the HOME role, volume, app launching and PIN flows were verified on
|
|
enumeration, the HOME role, volume, app launching and PIN flows were verified on
|
|
|
API 35 and API 29 emulators. Location permission, reverse geocoding and the
|
|
API 35 and API 29 emulators. Location permission, reverse geocoding and the
|
|
|
Open-Meteo fallback were verified live on the API 35 emulator. Now-playing
|
|
Open-Meteo fallback were verified live on the API 35 emulator. Now-playing
|
|
@@ -269,7 +275,7 @@ title, artist, progress and pause/resume were verified against a live Chrome
|
|
|
MediaSession. The OBD hardware path compiles and is covered by the parser/economy
|
|
MediaSession. 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
|
|
design, but no ELM327 adapter is available on this machine; socket behavior still
|
|
|
needs a car test. Release
|
|
needs a car test. Release
|
|
|
-0.9.1 is installed on the emulator and the physical Android 17 HyperOS tablet.
|
|
|
|
|
|
|
+0.10.0 is installed on the emulator and the physical Android 17 HyperOS tablet.
|
|
|
|
|
|
|
|
## Troubleshooting the emulator
|
|
## Troubleshooting the emulator
|
|
|
|
|
|
|
@@ -325,6 +331,9 @@ Android 15 AVD is left running headlessly after development; use
|
|
|
- **Song progress/title require notification access.** Without it, Android does
|
|
- **Song progress/title require notification access.** Without it, Android does
|
|
|
not expose MediaSession metadata to a normal launcher; the card still controls
|
|
not expose MediaSession metadata to a normal launcher; the card still controls
|
|
|
playback and shows Nothing playing or Playing.
|
|
playback and shows Nothing playing or Playing.
|
|
|
|
|
+- **GPS speed fallback** requires precise location already granted and the GPS
|
|
|
|
|
+ provider enabled; CarDash does not request permission from this path. OBD speed
|
|
|
|
|
+ wins whenever an adapter is connected, and stale/no-fix GPS values 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, MAF economy and ambient temperature are implemented;
|
|
read-only. Speed, throttle, MAF economy and ambient temperature are implemented;
|
|
|
RPM, coolant, voltage, MIL/DTCs, fuel level and BLE/Wi-Fi adapters are not.
|
|
RPM, coolant, voltage, MIL/DTCs, fuel level and BLE/Wi-Fi adapters are not.
|