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.
44 lines
2.5 KiB
Plaintext
44 lines
2.5 KiB
Plaintext
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- The Android 12+ splash, and a full replacement of Theme.app for API 31+.
|
|
|
|
The platform draws a splash whether we ask for one or not, and its own is
|
|
a white flash. These attributes put the brand ground and the app's icon
|
|
there instead. They have to sit on the theme the ACTIVITY resolves, which
|
|
is Theme.app (declared on the application, inherited by MainActivity), so
|
|
Theme.App.Starting is its PARENT rather than a style nothing references:
|
|
androidx.core:core-splashscreen is not a dependency of the app module, so
|
|
the platform attributes are the whole mechanism and there is no
|
|
postSplashScreenTheme to hand back to. Theme.app already is the
|
|
post-splash theme.
|
|
|
|
ANYTHING ADDED TO THE GENERATED values/themes.xml MUST BE ADDED HERE TOO.
|
|
This file replaces Theme.app outright on API 31+; it does not extend it.
|
|
|
|
Its night twin, values-night-v31/themes.xml, is not optional. The resource
|
|
qualifier order puts NIGHT MODE ahead of PLATFORM VERSION, so on a
|
|
dark-mode Android 12+ phone the generated values-night/themes.xml beats
|
|
this file and a splash written only here is silently ignored.
|
|
|
|
gen/ is regenerated and gitignored, so this lives under src-tauri/android/
|
|
res/ and build.sh and dev.sh lay it over the generated project. -->
|
|
<resources>
|
|
<style name="Theme.App.Starting" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
|
<!-- the kit's `night`, source/brand-tokens.json. A literal rather than
|
|
a colour resource so it cannot collide with a name the
|
|
launcher-icon round chooses. -->
|
|
<item name="android:windowSplashScreenBackground">#FF05080B</item>
|
|
<!-- the app's own icon resource, whatever it is: this follows the
|
|
launcher icon rather than naming one of its layers, so it cannot
|
|
fail to resolve, and on API 26+ it is the adaptive icon, which is
|
|
what the splash slot is shaped for -->
|
|
<item name="android:windowSplashScreenAnimatedIcon">@mipmap/ic_launcher</item>
|
|
<!-- and the frame between the splash dismissing and the WebView's
|
|
first paint, which is otherwise the same white. This is the one
|
|
item here that is not strictly "a splash": deleting it leaves the
|
|
rest of this file working. -->
|
|
<item name="android:windowBackground">#FF05080B</item>
|
|
</style>
|
|
|
|
<style name="Theme.app" parent="Theme.App.Starting" />
|
|
</resources>
|