|
|
@@ -4,14 +4,14 @@ A calm, configurable Android car dashboard launcher, built with Flutter.
|
|
|
|
|
|
CarDash replaces the tablet home screen with one landscape page: a large clock,
|
|
|
battery and Wi-Fi status, a now-playing media card, and up to 16 buttons —
|
|
|
-**Navigation**, **Music**, **Radio**, **Settings**, **All apps**, plus any apps
|
|
|
-you pin from All Apps. The first three can be shown, hidden and assigned to
|
|
|
-installed apps. External apps open full-screen using the normal Android launcher
|
|
|
-mechanism. No overlays, no root, no kiosk setup.
|
|
|
+**Navigation**, **Music**, **Radio**, **All apps**, plus any apps you pin from
|
|
|
+All Apps. The first three can be shown, hidden and assigned to installed apps;
|
|
|
+Settings opens from the gear next to Wi-Fi. External apps open full-screen using
|
|
|
+the normal Android launcher mechanism. No overlays, no root, no kiosk setup.
|
|
|
|
|
|
<p align="center">
|
|
|
- <em>Verified on Android 15 and Android 10 tablet emulators at 1280×800 and
|
|
|
- 1024×600. Runs on a physical Android 17 HyperOS tablet. OBD-II UI/parser is
|
|
|
+ <em>Verified on Android 15 and Android 10 tablet emulators at 1280×800,
|
|
|
+ 1280×720 and 1024×600. Runs on a physical Android 17 HyperOS tablet. OBD-II UI/parser is
|
|
|
implemented; the ELM327 socket path still needs a real-car test. Landscape only.</em>
|
|
|
</p>
|
|
|
|
|
|
@@ -29,6 +29,8 @@ Also: [Home with top-right Settings](docs/screenshots/home-16.png) ·
|
|
|
[Settings · Car data](docs/screenshots/settings-car-data.png) ·
|
|
|
[Settings · Media access](docs/screenshots/settings-media.png) ·
|
|
|
[Now playing](docs/screenshots/home-now-playing.png) ·
|
|
|
+[1280×720](docs/screenshots/home-1280x720.png) ·
|
|
|
+[Night mode](docs/screenshots/home-night-mode.png) ·
|
|
|
[Blue accent](docs/screenshots/settings-blue-accent.png) ·
|
|
|
[user-app icon on Home](docs/screenshots/home-user-icon.png) ·
|
|
|
[pinned-app menu](docs/screenshots/home-app-menu.png) ·
|
|
|
@@ -77,7 +79,8 @@ Also: [Home with top-right Settings](docs/screenshots/home-16.png) ·
|
|
|
normal launcher; see the limitation below.
|
|
|
- **Six accent colors** — Green, Blue, Amber, Rose, Violet or Teal, applied
|
|
|
across the whole interface.
|
|
|
-- **Screen stays awake** while CarDash is in the foreground.
|
|
|
+- **Prevent CarDash from sleeping** — a Settings switch, on by default. Turn it off to use the system display timeout.
|
|
|
+- **Night mode** — long-press an empty part of the Home background to go black with a very dim centered clock; tap anywhere to return. Long-presses on buttons and cards are unaffected.
|
|
|
- **A short onboarding hint** — the long-press hint fades away two minutes after
|
|
|
app start, then stays gone.
|
|
|
- **Light / Dark / Automatic** theme. Automatic uses a fixed local-time window
|
|
|
@@ -159,6 +162,9 @@ first run shows a one-time tip pointing to this setting.
|
|
|
| Tap an unassigned shortcut | Open the app picker |
|
|
|
| Settings → Accent | Pick Green, Blue, Amber, Rose, Violet or Teal |
|
|
|
| Settings → Battery & charging | Show or hide battery level and charging bolt |
|
|
|
+| Settings → Prevent CarDash from sleeping | Keep the display on, or use the system timeout |
|
|
|
+| Long-press an empty part of Home | Enter black night mode with a dim clock |
|
|
|
+| Tap the night screen | Return to the dashboard |
|
|
|
| Settings → Home buttons switches | Show or hide Navigation, Music, Radio |
|
|
|
| Long-press an app in All Apps | Add it to Home (up to 16 buttons) |
|
|
|
| Long-press an added app on Home | Rename, Change icon or Remove |
|
|
|
@@ -185,6 +191,7 @@ the app resumes.
|
|
|
- Light / Dark / Auto theme.
|
|
|
- Accent: Green, Blue, Amber, Rose, Violet or Teal.
|
|
|
- Battery & charging: one switch hides both the level and charging bolt.
|
|
|
+- Prevent CarDash from sleeping: keep the display on; on by default.
|
|
|
- Auto night window (default dark from 19:00, light from 07:00).
|
|
|
- Home buttons: show/hide Navigation, Music, Radio; live count out of 16.
|
|
|
- Assign the app for each slot; All apps is fixed and last.
|
|
|
@@ -249,11 +256,12 @@ flutter test
|
|
|
./tool/check.sh
|
|
|
```
|
|
|
|
|
|
-The 41 tests cover PIN hashing/persistence, settings persistence, theme/accent,
|
|
|
+The 44 tests cover PIN hashing/persistence, settings persistence, theme/accent,
|
|
|
dark accent tinting, battery visibility, first-run state, slot visibility,
|
|
|
-pinned apps, custom labels/icons, the 16-button cap, the dense shortcut grid,
|
|
|
-the equalizer animation, OBD economy, the OBD card, media-key playback, media
|
|
|
-metadata/progress, the marquee and the play/pause ring. Native package
|
|
|
+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
|
|
|
+card, media-key playback, media metadata/progress, the marquee, the play/pause
|
|
|
+ring, the keep-awake preference and the night overlay. Native package
|
|
|
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
|
|
|
Open-Meteo fallback were verified live on the API 35 emulator. Now-playing
|
|
|
@@ -261,7 +269,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
|
|
|
design, but no ELM327 adapter is available on this machine; socket behavior still
|
|
|
needs a car test. Release
|
|
|
-0.8.0 is installed on the emulator and the physical Android 17 HyperOS tablet.
|
|
|
+0.9.0 is installed on the emulator and the physical Android 17 HyperOS tablet.
|
|
|
|
|
|
## Troubleshooting the emulator
|
|
|
|
|
|
@@ -283,7 +291,7 @@ Android 15 AVD is left running headlessly after development; use
|
|
|
- **minSdk 29 (Android 10)**; compile/targetSdk 36. Nothing in the design
|
|
|
requires a newer Android release.
|
|
|
- **Landscape only** (`sensorLandscape`). The home page is designed for
|
|
|
- 1280×800 and remains usable at 1024×600.
|
|
|
+ 1280×800 and verified at 1280×720 and 1024×600; 16 buttons fit at all three.
|
|
|
- **16-button cap** includes All apps; Settings lives in the top-right status
|
|
|
area and does not consume a slot. Only apps pinned from All Apps show an
|
|
|
original app icon by default; the predefined slots, All apps and the Settings
|
|
|
@@ -297,8 +305,12 @@ Android 15 AVD is left running headlessly after development; use
|
|
|
- **Notification access is used only for media metadata.** CarDash does not read
|
|
|
notification text or store track history. Revoke it in Android settings at any
|
|
|
time; the ring and title then fall back to an empty/generic state.
|
|
|
-- **Screen-on** applies while CarDash is the foreground window. Android can
|
|
|
- still sleep while another app is in front.
|
|
|
+- **Screen-on** is controlled by Settings → Prevent CarDash from sleeping
|
|
|
+ (default on). It applies only while CarDash is the foreground window; with the
|
|
|
+ switch off, the normal Android display timeout applies.
|
|
|
+- **Night mode is a display overlay only.** It does not change panel brightness
|
|
|
+ or keep the screen awake by itself; the screen-on preference still applies.
|
|
|
+ Long-press on cards and buttons is reserved for their own actions.
|
|
|
- **Onboarding hint** is anchored to process start and disappears after two
|
|
|
minutes; it does not return until the next cold start.
|
|
|
- **No embedded third-party app UI.** Navigation/Music/Radio are launched in
|