App 2.19.6: remove the CarPlay full-screen switch and the export button

CarPlay's 1920x640 is fixed in Allgo's system app. On start the car
build removes the CarPlay entry from policy_control if the switch was
left on.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LhzAVaUyqcw5PkGjz4mWW6
This commit is contained in:
2026-10-23 22:02:15 +02:00
co-authored by Claude Opus 5.5
parent 4c224dcb3b
commit e6f8258203
13 changed files with 37 additions and 382 deletions
+8 -4
View File
@@ -35,9 +35,9 @@ Repository: `ssh://git@git.stinnesbeck.com:2222/nils/mg4.git` (remote `origin`),
`secrets.example.yaml` holds `CHANGE-ME` placeholders only. Stage files explicitly, check the
index for changes that are not yours (the owner works in parallel), and scan the staged diff
for secrets before every commit. Never print a token.
3. **Telemetry is read-only.** The app never writes a vehicle setting. The one system setting it
writes is `policy_control` (CarPlay full screen), only when the driver switches it on, and only
its own entry.
3. **Telemetry is read-only.** The app never writes a vehicle setting. The only system setting it
touches is `policy_control`, and only to remove the CarPlay entry the withdrawn full-screen
experiment (2.19.2–2.19.5) may have left.
4. **A failed read is not a zero.** Unreadable values are `null`, omitted from payloads and
shown as "—". Sending 0 for SOC tells ABRP the battery is empty.
5. **Fail closed.** Updates (origin, SHA-256, package, signature), credentials, unknown state.
@@ -59,6 +59,10 @@ Repository: `ssh://git@git.stinnesbeck.com:2222/nils/mg4.git` (remote `origin`),
paint colour (only `ro.build.mtk2712.vehicle_type = AS28`). See `SPECS.md`, `FIRMWARE.md`.
- No third-party apps in the MG launcher: the app opens by a double press of the voice key.
- Its internet comes from the car itself (no Wi-Fi needed).
- CarPlay is Allgo's `com.allgo.carplay.service` (`/system/app/AllgoCarplay_EH32`). Its picture
is hard-coded at 1920×640, 80 px below the top (constants in its code and layout), so it cannot
be made full screen from an app. Installs from an app's own session are refused ("Not allowed
to install non-system apps on internal storage"): updates end on the installer screen.
## The app
@@ -68,7 +72,7 @@ Repository: `ssh://git@git.stinnesbeck.com:2222/nils/mg4.git` (remote `origin`),
| Consumption / Charging | period totals, daily log, charging sessions and curve |
| Live data | on/off, ABRP API key and user token, upload frequency |
| Server | URL, pairing by QR, ingest token, installation ID (read-only), config import |
| Settings | full screen, voice key, CarPlay full screen (experiment), tyre unit, accent colour, battery, charging price, version, update check, install from USB, About |
| Settings | full screen, voice key, tyre unit, accent colour, battery, charging price, version, update check, install from USB, About |
| Logs | upload log |
Key classes (`app/src/main/java/com/evsuite/abrp/`): `AbrpUploadService` (foreground service,