|
@@ -17,14 +17,15 @@ compatibility:
|
|
|
assigned, changed and cleared. Settings and All apps are always present.
|
|
assigned, changed and cleared. Settings and All apps are always present.
|
|
|
- Pinned apps are added by long-pressing an app in All Apps and removed by
|
|
- Pinned apps are added by long-pressing an app in All Apps and removed by
|
|
|
long-pressing the added button on Home. Settings and All apps are always last.
|
|
long-pressing the added button on Home. Settings and All apps are always last.
|
|
|
- User-installed apps show their own icon; system/unassigned slots keep generic.
|
|
|
|
|
|
|
+ Only pinned apps show their own icon by default; the fixed buttons and
|
|
|
|
|
+ predefined slots stay stylized.
|
|
|
- The grid adapts from 2 to 6 columns and shrinks its tiles as the count grows.
|
|
- The grid adapts from 2 to 6 columns and shrinks its tiles as the count grows.
|
|
|
- Every external app opens full-screen through a normal Android `Intent`.
|
|
- Every external app opens full-screen through a normal Android `Intent`.
|
|
|
- Settings: light/dark/automatic theme, six accent colors, battery visibility,
|
|
- Settings: light/dark/automatic theme, six accent colors, battery visibility,
|
|
|
fixed night window, home-button switches, slot assignment, HOME-role setup,
|
|
fixed night window, home-button switches, slot assignment, HOME-role setup,
|
|
|
four-digit PIN.
|
|
four-digit PIN.
|
|
|
-- The Music tile shows the selected app icon with an animated equalizer while
|
|
|
|
|
- media audio is active.
|
|
|
|
|
|
|
+- The stylized Music tile shows an animated equalizer while media audio is
|
|
|
|
|
+ active.
|
|
|
- The long-press hint fades away two minutes after app start.
|
|
- The long-press hint fades away two minutes after app start.
|
|
|
- The Home-role banner is gone; a one-time first-run tip points to Settings.
|
|
- The Home-role banner is gone; a one-time first-run tip points to Settings.
|
|
|
- Long-pressing a pinned app opens Rename, Change icon and Remove. Rename/icon
|
|
- Long-pressing a pinned app opens Rename, Change icon and Remove. Rename/icon
|
|
@@ -44,14 +45,14 @@ compatibility:
|
|
|
| App slots | Navigation, Music, Radio with visibility switches | Kept from the original brief; Settings and All apps are fixed. |
|
|
| App slots | Navigation, Music, Radio with visibility switches | Kept from the original brief; Settings and All apps are fixed. |
|
|
|
| Pinned apps | All Apps long-press adds, Home long-press removes | Makes any installed app reachable from Home without editing a separate layout screen. |
|
|
| Pinned apps | All Apps long-press adds, Home long-press removes | Makes any installed app reachable from Home without editing a separate layout screen. |
|
|
|
| Home cap | 16 buttons total, including Settings and All apps | Keeps the single page legible at tablet resolutions; enforced in `LauncherController`. |
|
|
| Home cap | 16 buttons total, including Settings and All apps | Keeps the single page legible at tablet resolutions; enforced in `LauncherController`. |
|
|
|
-| Icons | User-installed apps use their own icon; system/unassigned slots stay generic | Identification without losing the calm fixed-button language. |
|
|
|
|
|
|
|
+| Icons | Only pinned apps show their own icon by default; fixed slots stay stylized | Keeps the dashboard consistent while making added apps recognizable. |
|
|
|
| Accent | Six curated choices, persisted in Settings | Changes the whole theme without a color picker or arbitrary contrast failures. |
|
|
| Accent | Six curated choices, persisted in Settings | Changes the whole theme without a color picker or arbitrary contrast failures. |
|
|
|
| Battery visibility | One switch hides level and charging bolt | One control for both indicators, as requested. |
|
|
| Battery visibility | One switch hides level and charging bolt | One control for both indicators, as requested. |
|
|
|
-| Media feedback | Music tile shows the selected app icon + animated bars while media is active | Compact visual feedback without adding a media control surface. |
|
|
|
|
|
|
|
+| Media feedback | Stylized Music tile + animated bars while media is active | Compact visual feedback without adding a media control surface. |
|
|
|
| Hint lifetime | Two minutes from process start, then fade out | Avoids permanent onboarding chrome; survives widget rebuilds via `AppClock`. |
|
|
| Hint lifetime | Two minutes from process start, then fade out | Avoids permanent onboarding chrome; survives widget rebuilds via `AppClock`. |
|
|
|
| Home role | Settings row only; one-time first-run tip | Removes permanent dashboard chrome while keeping discovery. |
|
|
| Home role | Settings row only; one-time first-run tip | Removes permanent dashboard chrome while keeping discovery. |
|
|
|
| Pinned editing | Long-press menu: Rename / Change icon / Remove | Keeps the home page clean; removal remains immediate. |
|
|
| Pinned editing | Long-press menu: Rename / Change icon / Remove | Keeps the home page clean; removal remains immediate. |
|
|
|
-| Custom icon source | The app icon first, then up to 24 installed app icons | Gives a large, recognizable grid without inventing generic art. |
|
|
|
|
|
|
|
+| Custom icon source | Default app icon plus 29 bundled monochrome line icons | Matches the stylized dashboard and follows light/dark theme colors. |
|
|
|
| Screen | `FLAG_KEEP_SCREEN_ON` while foreground | The dashboard is the car display; no wake-lock permission needed. |
|
|
| Screen | `FLAG_KEEP_SCREEN_ON` while foreground | The dashboard is the car display; no wake-lock permission needed. |
|
|
|
| Theme | Light / Dark / Automatic with fixed 19:00–07:00 window | No location permission or network; time pickers make the window adjustable. |
|
|
| Theme | Light / Dark / Automatic with fixed 19:00–07:00 window | No location permission or network; time pickers make the window adjustable. |
|
|
|
| PIN | Four digits, salted PBKDF2 hash, cold start only | Matches the explicit instruction; no re-lock while running. |
|
|
| PIN | Four digits, salted PBKDF2 hash, cold start only | Matches the explicit instruction; no re-lock while running. |
|
|
@@ -104,6 +105,7 @@ Android (Kotlin)
|
|
|
| M8 | Home-button visibility switches, All Apps pinning, 16-button adaptive grid, keep-awake | Done |
|
|
| M8 | Home-button visibility switches, All Apps pinning, 16-button adaptive grid, keep-awake | Done |
|
|
|
| M9 | Accent colors, battery toggle, fading hint, user icons, Media equalizer, install rule | Done |
|
|
| M9 | Accent colors, battery toggle, fading hint, user icons, Media equalizer, install rule | Done |
|
|
|
| M10 | Remove Home-role banner, one-time first-run tip, pinned Rename/icon/remove menu | Done |
|
|
| M10 | Remove Home-role banner, one-time first-run tip, pinned Rename/icon/remove menu | Done |
|
|
|
|
|
+| M11 | Restore stylized fixed icons; pinned apps show own icons by default; 29-icon selector | Done |
|
|
|
|
|
|
|
|
## 5. Verification checklist
|
|
## 5. Verification checklist
|
|
|
|
|
|
|
@@ -136,8 +138,10 @@ Android (Kotlin)
|
|
|
- [x] All Apps search icon is visibly smaller.
|
|
- [x] All Apps search icon is visibly smaller.
|
|
|
- [x] No Home-role banner; the first-run tip appears once, then never again.
|
|
- [x] No Home-role banner; the first-run tip appears once, then never again.
|
|
|
- [x] Long-press pinned app shows Rename, Change icon and Remove.
|
|
- [x] Long-press pinned app shows Rename, Change icon and Remove.
|
|
|
-- [x] Rename updates the Home label; Change icon persists an installed app icon; Remove is immediate.
|
|
|
|
|
-- [x] Release 0.4.0 installed on the emulator and physical Android 17 tablet.
|
|
|
|
|
|
|
+- [x] Rename updates the Home label; Change icon persists a stylized icon; Remove is immediate.
|
|
|
|
|
+- [x] Fixed buttons stay stylized; pinned apps show their own icons by default.
|
|
|
|
|
+- [x] Change icon offers Default plus 29 monochrome icons and applies the chosen icon.
|
|
|
|
|
+- [x] Release 0.5.0 installed on the emulator and physical Android 17 tablet.
|
|
|
- [x] Screenshots in `docs/screenshots/`; README/AGENTS/plan updated.
|
|
- [x] Screenshots in `docs/screenshots/`; README/AGENTS/plan updated.
|
|
|
|
|
|
|
|
## 6. Known risks and mitigations
|
|
## 6. Known risks and mitigations
|
|
@@ -154,15 +158,16 @@ Android (Kotlin)
|
|
|
5. **Flutter 3.47 / AGP 9.1 / JDK 21**: works on this machine; Java 27 is not the
|
|
5. **Flutter 3.47 / AGP 9.1 / JDK 21**: works on this machine; Java 27 is not the
|
|
|
validated toolchain. The emulator uses the host GPU; SwiftShader segfaulted
|
|
validated toolchain. The emulator uses the host GPU; SwiftShader segfaulted
|
|
|
on the API 35 image, so the helper script defaults to `-gpu host`.
|
|
on the API 35 image, so the helper script defaults to `-gpu host`.
|
|
|
-6. **16-button density**: small labels and generic system-app icons are the
|
|
|
|
|
|
|
+6. **16-button density**: small labels and mixed pinned-app icons are the
|
|
|
trade-off for a single page. The Settings count and grid scaling make the
|
|
trade-off for a single page. The Settings count and grid scaling make the
|
|
|
limit explicit.
|
|
limit explicit.
|
|
|
7. **Screen-on battery use**: the flag applies only while the dashboard is
|
|
7. **Screen-on battery use**: the flag applies only while the dashboard is
|
|
|
foreground; it is not a background wake lock.
|
|
foreground; it is not a background wake lock.
|
|
|
8. **Media attribution**: the equalizer follows `AudioManager.isMusicActive`,
|
|
8. **Media attribution**: the equalizer follows `AudioManager.isMusicActive`,
|
|
|
not a specific package. Exact attribution would require notification access.
|
|
not a specific package. Exact attribution would require notification access.
|
|
|
-9. **Pinned customizations**: Rename affects only the Home label; a custom icon
|
|
|
|
|
- falls back to the app/generic icon if its source app is uninstalled.
|
|
|
|
|
|
|
+9. **Pinned customizations**: Rename affects only the Home label. Default
|
|
|
|
|
+ restores the app icon; a chosen stylized icon is a bundled asset and cannot
|
|
|
|
|
+ become unavailable.
|
|
|
10. **Uninstall/reinstall** may drop the HOME role; Settings and the installer
|
|
10. **Uninstall/reinstall** may drop the HOME role; Settings and the installer
|
|
|
script can restore it.
|
|
script can restore it.
|
|
|
|
|
|
|
@@ -196,3 +201,7 @@ Android (Kotlin)
|
|
|
Replaced immediate removal with a pinned-app menu (Rename, Change icon,
|
|
Replaced immediate removal with a pinned-app menu (Rename, Change icon,
|
|
|
Remove), custom Home labels and up to 25 installed-app icon choices. Verified
|
|
Remove), custom Home labels and up to 25 installed-app icon choices. Verified
|
|
|
23 tests and the full menu flow at 1280×800; 0.4.0 installed on the tablet.
|
|
23 tests and the full menu flow at 1280×800; 0.4.0 installed on the tablet.
|
|
|
|
|
+- 2026-10-29: Clarified icon policy: fixed/predefined buttons are always
|
|
|
|
|
+ stylized; only pinned apps show their own icon by default. The Change icon
|
|
|
|
|
+ grid now offers Default plus 29 bundled monochrome line icons. Verified
|
|
|
|
|
+ 0.5.0 on the emulator and tablet.
|