This repository was archived by the owner on Aug 25, 2026. It is now read-only.
Black theme: truly pure black app-wide, renamed from AMOLED - #94
Merged
Merged
Conversation
… list Vela Vela never appeared in Android Auto's launcher, even with unknown sources enabled (device report, OnePlus 12). The manifest declarations were all correct - CarAppService with the NAVIGATION category, the automotive_app_desc template capability, minCarApiLevel - but the build shipped only the base androidx.car.app:app template library. Android Auto discovers a car app through the CarAppMetadataHolderService that androidx.car.app:app-projected merges into the manifest (the official docs' Android Auto artifact); without it the host has nothing to hand-shake with and the app is simply never listed. Verified by diffing the merged manifests: the fixed APK carries androidx.car.app.CarAppMetadataHolderService, the old one does not. The first-cut Android Auto port predates any real head-unit test (AGENTS notes it untested), which is how this shipped invisible.
The app-wide true-black theme audit found four surfaces still on dark-grey when the theme was active, all fixed to real #000000 territory: SheetPalette gains Amoled (#000000) and RowAmoled (#141414) roles with a reactive amoled getter; PlaceSheet's five hardcoded bg sites route through SheetPalette.bg(dark); ReviewsPanel's carve background goes #000000; and the soft-key bar renders black (rebuilt on themeMode flips so it never lags a theme change). The theme's user-facing name changes from "AMOLED" to "Black" in all 15 locales (the ThemeMode.AMOLED enum name stays for pref stability). Harness: set_theme taps "Black" to match. Goldens regenerated across the full settings phase: 4 standard legs 15/15, 2 restricted legs 14/14 (place-pages n/a), touch leg 15/15, zero missed. Frames 54/55 are the Light and Black theme goldens on every leg; all eyeballed - Black shows true-black surfaces on hub and spokes, light shows the soft off-white with bordered hub rows.
…ched surface A UI change is verified only when every box is checked, stated explicitly: touched PHASES only (never the full multi-hour tour; flavors and the SOFTKEYS=off touch leg only when the change can actually differ across them - say what was skipped and why), the dynamic focus walk of any changed spoke, ring evidence for new controls, every touched surface enumerated and reached (add a phase if none does), frames eyeballed and shown with grids in the PR, and A/B against main on any failure. Written down after the same boxes were dropped twice in one session - phases-passed kept masquerading as done.
…theme phase The near-black stepping (#060809..#191E1F containers, #141414 sheet rows) read as grey areas against the true-black base - 'black should be black' (user). Every Black-scheme surface and container role is now #000000, and SheetPalette.RowAmoled follows; hairline outlines and the hub rows' thin borders carry all the structure. Dark is untouched - the three-way Light / Dark / Black choice stands. New blacktheme harness phase (full_coverage.sh, frames 57+, in ALLPHASES): flips Black on through the real Settings UI and walks the surfaces the theme claims beyond Settings - bare map with the black soft-key bar, search results, place sheet collapsed + expanded, the reviews carve (contains-matched via new tap_contains; n/a when the place has no reviews button or on restricted, which drops reviews). Closes the gap where 'app-wide' was only ever verified inside Settings. Verification, scoped per the AGENTS bar: blacktheme + settings phases on ONE leg (kyocera 240x320@160) - a palette change is geometry- and flavor-independent, so the other geometries, restricted, and the touch leg were deliberately skipped; blacktheme 4/4 (reviews n/a - no button on the test place), settings 15/15. Frames eyeballed; the suspect lighter strip at the sheet handle pixel-sampled to rgb(0,0,0)/rgb(1,1,1) - it was the focus ring's glow at thumbnail scale.
Owner
Author
|
Flat black landed (bff8a4a): every Black-scheme container role and sheet row is now #000000 - the near-black stepping is gone; hairlines carry the structure. Dark is untouched. Also new: a blacktheme harness phase (in ALLPHASES) that flips Black on through the real Settings UI and walks the app-wide surfaces - bare map + black soft-key bar, search results, place sheet collapsed/expanded, reviews carve - closing the gap where app-wide black was only verified inside Settings. Verification (scoped: one 240x320 leg - a palette change is geometry/flavor-independent, other axes deliberately skipped): blacktheme 4/4, settings 15/15, frames eyeballed, the one suspect area pixel-sampled to rgb(0,0,0).
|
alltechdev
added a commit
that referenced
this pull request
Jul 23, 2026
Conflicts: goldens resolved by provenance (branch frames for search/ settings - Roboto + Driving alerts rows; main's flat-black frames for the Black-theme 55/57-60 set), gradle kept the branch's app-testing line on top of the shared app-projected, FEATURES unioned with main's post-rename theme wording. Both flavors compile, :core green, translations lock OK.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.





The app-wide pure-black theme, finished: truly black everywhere it claims to be, and renamed from "AMOLED" to "Black".
What changed
Pure-black audit fixes. The theme (shipped with the settings redesign) still left four surfaces on dark-grey when Black was active - all now real black territory:
SheetPalettegainsAmoled(#000000) andRowAmoled(#141414) roles with a reactiveamoledgetter; the five hardcoded place-sheet backgrounds route throughSheetPalette.bg(dark).The rename. The user-facing label is now "Black" in all 15 locales (the
ThemeMode.AMOLEDenum name stays for pref stability). The harness'sset_themetaps "Black" to match.Verification
Settings phase re-swept on device across all seven legs, zero missed:
All frames eyeballed: Black shows true-black surfaces on the hub and every spoke, the theme picker reads "Black", light mode keeps the soft off-white with bordered hub rows. Goldens regenerated and committed.
Theme goldens (240x320 @160)
Black across the spokes (480x854 @320)
Note: the branch also carries the
app-projecteddependency commit (dde740f), cherry-picked earlier so this branch's builds list on Android Auto; it is the same change PR #93 ships. Whichever merges second is a no-op there.