Everything written this session that has not been through the device: rounds 43 to 48 (each patch adversarially verified, 43's transient-notice expectation fixed), a partial round 49, the pipeline scripts, the Android Auto design and the icon comparison mock. Also the two harness changes that were never A/B'd — adaptive waits, which may only shorten a declared wait and never lengthen it, and a ship that runs the mock walk and the deploy at the same time. The A/B and its 255-step baseline are in handoff/tools; main stays at what the phone has actually walked.
30 lines
1.9 KiB
Plaintext
30 lines
1.9 KiB
Plaintext
android: the icon where it moves — the glyph, the lock screen and a splash that is not white
|
|
|
|
Both notification glyphs are the same falcon now, the logo kit's monochrome
|
|
path verbatim inside a group that re-frames it for a 24dp box — the playback
|
|
card's and the transfers notice's, because a note beside an arrow does not
|
|
read as one app, and the transfers one keeps the tray bar it always had so
|
|
the falcon dives into it. The fill stays white on transparent: the shade
|
|
composites a small icon from its alpha channel alone and tints it itself, so
|
|
a coloured export would arrive as a white blob.
|
|
|
|
The lock screen falls back to the app's own icon instead of a grey hole.
|
|
`MediaHub.art` is null from the moment a track changes until the frontend has
|
|
finished decoding its cover, and null forever for a track with none, so
|
|
`appIcon()` decodes the launcher icon ONCE — through the PackageManager,
|
|
because a library module's R has no `ic_launcher` — and hands it to both the
|
|
card and `METADATA_KEY_ALBUM_ART`. The app manifest lives in gitignored
|
|
`gen/` and declares no category, so the media-session plugin's own library
|
|
manifest contributes `android:appCategory="audio"` through the merger, and a
|
|
`Theme.App.Starting` on the brand ground replaces Android 12+'s white flash —
|
|
in `values-v31` and `values-night-v31` both, because the qualifier order puts
|
|
night mode ahead of platform version and a splash written only into
|
|
`values-v31` is silently ignored on a dark-mode phone.
|
|
|
|
The walk gains `media-card`: after the session block, the card is still
|
|
posted on the `playback` channel with the playing track's title on it, and
|
|
`media-keys` below it still gets the transport back — which is what a
|
|
drawable the shade cannot inflate would actually break. The glyph itself and
|
|
the splash are screenshots; `dumpsys notification` prints a resource id and
|
|
never a pixel, and the splash is gone before the walk's first frame.
|