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.
51 lines
3.3 KiB
Plaintext
51 lines
3.3 KiB
Plaintext
android: the launcher's ground is the desktop's, not a flat colour under it
|
|
|
|
The icon round left the adaptive background as one `#FF05080B` and a note that
|
|
a gradient was being mocked. The mock settles it: the falcon covers about a
|
|
quarter of a circle-masked tile, so the ground is three quarters of what
|
|
anyone sees, and concept 04's glow survives every mask — the visible top-left
|
|
corner goes from `#05080B` to `#0E3543`. So `@color/ic_launcher_background`
|
|
becomes `@drawable/ic_launcher_ground`, a vector carrying the desktop icon's
|
|
own linear surface and the radial glow over it, every number
|
|
`src-tauri/icons/icon.svg`'s multiplied by 108/1024 and nothing else. The
|
|
colour resource stays where it is, unreferenced, because its filename is the
|
|
only thing stopping tauri's own `#fff` from colliding with it.
|
|
|
|
A vector and not five PNGs on evidence. The kit's glow has a uniform scale, so
|
|
the SVG ellipse is a circle and its rotation is a no-op, which is exactly what
|
|
`android:type="radial"` can carry; two numbers there and no vector could have
|
|
said it. The linear axis is 51.1° off horizontal, which rules out a
|
|
`<layer-list>` of shapes as well, whose angle must be a multiple of 45. It was
|
|
compiled and linked with the SDK's own aapt2 over the real merged res tree and
|
|
every stop read back out of the APK. The name is `ic_launcher_ground` and not
|
|
`ic_launcher_background` on purpose: the generated project still carries
|
|
Android Studio's template drawable of that name, so under the other name an
|
|
overlay copy that failed would silently link the green robot — under this one
|
|
it is a hard link error, which was tested too.
|
|
|
|
`verify-icon.sh` follows the layer. It does not ask whether the file is in the
|
|
APK; it asks what the adaptive icon's `<background>` resolves to, through the
|
|
resource table, in both build types, and then reads concept 04's six stops back
|
|
out of what it found — which catches a stale APK as well as a lost overlay.
|
|
Passing on a debug APK and on one put through `--shorten-resource-paths`,
|
|
failing on a stale one, and saying NOT CHECKED rather than guessing when aapt2
|
|
is absent. What none of it can see is a pixel: banding on the OLED, the glow's
|
|
weight under the Pixel's mask and how the falcon reads on a lit ground are a
|
|
launcher screenshot on the phone, and ANDROID.md says so instead of implying
|
|
the check covers it.
|
|
|
|
One slot the ground reaches is not the launcher at all. `MediaHub.appIcon()`
|
|
draws whatever `getApplicationIcon()` returns into a 512 px bitmap and hands
|
|
it to the lock-screen card as the large icon for any track whose cover has
|
|
not been decoded yet, so the card and the shade carry this ground as well —
|
|
the quickest place for Kyle to look at it, and the only reader of the
|
|
launcher icon inside the app. The walk reads that card's title and the
|
|
session's playback state and never its icon, so no step changes meaning. The
|
|
Android 12+ splash very likely changes as well, and the other way from what
|
|
the docs' one-line version of the rule suggests: the platform drops an
|
|
adaptive background only when it is a single colour close to
|
|
`windowSplashScreenBackground`, which round 44's flat `#05080B` was, so the
|
|
falcon has been drawing there alone and enlarged; a gradient is not one
|
|
colour, so it is kept and the whole icon is drawn. Likely, not proven — that
|
|
one is a screenshot too.
|