<?xml version="1.0" encoding="utf-8"?>
<!--
Android 12+ system splash screen overrides.
Without these, Android 12+ wraps the launcher icon in a circular white
background ("BIG WHITE CIRCLE WITH A LITTLE BADGE ICON INSIDE"). That's
the platform default — it's NOT something the app "asks for" — it just
happens to every app that targets API 31+ and ships a static-PNG launcher
icon (as ours does).
These overrides do three things:
1. windowSplashScreenBackground — the background canvas behind the icon.
Set to the app's own dark surface color (#17130F) so the splash matches
what's about to load instead of flashing white first.
2. windowSplashScreenIconBackgroundColor — the inner circle that Android
draws BEHIND the icon if the icon doesn't fill the canvas. Same dark
color → effectively invisible, no "white circle around the badge."
3. windowSplashScreenAnimatedIcon — what icon to show. We use the
earhorn_badge drawable directly (rather than the launcher mipmap) so
the system shows the full circular brand mark with no system-applied
cropping.
Lives in values-v31 because these attrs only exist on API 31+. On older
Android versions the platform falls back to drawing windowBackground
(set in the base Theme.Earhorn) — which is already the dark surface,
so older devices have always shown a solid dark splash.
-->
<resources>
<style name="Theme.Earhorn" parent="android:Theme.Material.NoActionBar">
<item name="android:windowBackground">@color/surface_base</item>
<item name="android:windowNoTitle">true</item>
<!-- Match the dark app surface, no white circle. -->
<item name="android:windowSplashScreenBackground">@color/surface_base</item>
<item name="android:windowSplashScreenIconBackgroundColor">@color/surface_base</item>
<!-- Use the brand badge directly. The system still applies its own
icon-mask treatment but with a matching dark background it just
reads as the badge floating on the app's surface color. -->
<item name="android:windowSplashScreenAnimatedIcon">@drawable/splash_badge</item>
</style>
</resources>