|
@@ -159,11 +159,12 @@ Android (Kotlin)
|
|
|
| M20 | Fixed-volume car detection; relative volume fallback; 1.0.4 | Done |
|
|
| M20 | Fixed-volume car detection; relative volume fallback; 1.0.4 | Done |
|
|
|
| M21 | On-screen volume diagnostics and stream snapshots; 1.0.5 | Done |
|
|
| M21 | On-screen volume diagnostics and stream snapshots; 1.0.5 | Done |
|
|
|
| M22 | Bluetooth/OBD freeze hardening: UI-thread offload, device filtering, bounded retries, resume debounce; 1.0.6 | Done |
|
|
| M22 | Bluetooth/OBD freeze hardening: UI-thread offload, device filtering, bounded retries, resume debounce; 1.0.6 | Done |
|
|
|
|
|
+| M23 | Move the Impeller opt-out into `<application>` so Skia is actually used; 1.0.7 | Done |
|
|
|
|
|
|
|
|
## 5. Verification checklist
|
|
## 5. Verification checklist
|
|
|
|
|
|
|
|
- [x] `flutter analyze` clean.
|
|
- [x] `flutter analyze` clean.
|
|
|
-- [x] Unit/widget tests pass (76 tests, including OBD device filtering, bounded retries and resume debounce).
|
|
|
|
|
|
|
+- [x] Unit/widget tests pass (77 tests, including OBD device filtering, bounded retries, resume debounce and the application-scoped Impeller opt-out).
|
|
|
- [x] Debug APK builds with JDK 21.
|
|
- [x] Debug APK builds with JDK 21.
|
|
|
- [x] Installs on API 35 1280×800 tablet.
|
|
- [x] Installs on API 35 1280×800 tablet.
|
|
|
- [x] HOME role granted; Home opens CarDash.
|
|
- [x] HOME role granted; Home opens CarDash.
|
|
@@ -326,6 +327,10 @@ Android (Kotlin)
|
|
|
- 2026-10-30: Added fixed-volume detection and a relative volume-step fallback
|
|
- 2026-10-30: Added fixed-volume detection and a relative volume-step fallback
|
|
|
for car units that ignore absolute `setStreamVolume`; fixed-volume sliders now
|
|
for car units that ignore absolute `setStreamVolume`; fixed-volume sliders now
|
|
|
explain that the vehicle amplifier owns the level. Bumped to 1.0.4+16.
|
|
explain that the vehicle amplifier owns the level. Bumped to 1.0.4+16.
|
|
|
|
|
+- 2026-10-31: Found the emulator's Settings crash was Impeller, not the app's
|
|
|
|
|
+ layout. The `EnableImpeller=false` opt-out had been placed under `<activity>`,
|
|
|
|
|
+ where Flutter silently ignored it; moved it to `<application>`, so 1.0.7
|
|
|
|
|
+ actually uses Skia. Bumped to 1.0.7+19.
|
|
|
- 2026-10-31: Hardened the OBD-II/Bluetooth path after a freeze triggered by
|
|
- 2026-10-31: Hardened the OBD-II/Bluetooth path after a freeze triggered by
|
|
|
returning from Bluetooth settings. Bluetooth binder calls now run on a
|
|
returning from Bluetooth settings. Bluetooth binder calls now run on a
|
|
|
serialized native worker with timeouts; the picker filters to likely OBD-II
|
|
serialized native worker with timeouts; the picker filters to likely OBD-II
|