vojo/android/app/src/main/res/values/styles.xml

63 lines
3.7 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Full-screen incoming-call screen (IncomingCallActivity). Dark, no
action bar, DAWN backdrop, transparent system bars so the screen runs
edge-to-edge over the lockscreen like the rest of the messenger. -->
<style name="IncomingCallTheme" parent="@android:style/Theme.Material.NoActionBar">
<item name="android:windowBackground">@color/call_bg</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
</style>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.DayNight.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:background">@null</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
<!-- Bridges the gap between native splash exit and the WebView's first
body paint: without this the window paints transparent/black for
~200ms while the bundle hydrates, producing a visible black flash
between the native and the in-app splash. Matches splash_bg so
cold start reads as one continuous backdrop. -->
<item name="android:windowBackground">@color/splash_bg</item>
</style>
<!-- Launch theme: Android 12+ system splash (Theme.SplashScreen via
androidx.core.splashscreen). Renders the mascot centered on the same
#0d0e11 backdrop the web AuthSplashScreen uses, so cold start reads
as one continuous splash (native → WebView mount → web splash) instead
of three visual jumps. MainActivity installs AndroidX SplashScreen
before super.onCreate() and keeps it visible until Capacitor's local
WebView has loaded the app shell. -->
<style name="AppTheme.NoActionBarLaunch" parent="Theme.SplashScreen">
<!-- Theme.SplashScreen only sets the native android:windowActionBar /
android:windowNoTitle attrs. Capacitor's BridgeActivity extends
AppCompatActivity, whose ActionBar delegate reads the un-prefixed
AppCompat attrs — without these two overrides, AppCompat keeps
its ActionBar enabled, paints the activity label ("Vojo" from
strings.xml/title_activity_main) at the top of the WebView, and
persists past the splash exit. -->
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="windowSplashScreenBackground">@color/splash_bg</item>
<item name="windowSplashScreenAnimatedIcon">@drawable/vojo_mascot_splash</item>
<!-- Intentionally NO windowSplashScreenIconBackgroundColor: setting it
switches the system to the "with-background" canvas, which is
actually 240dp (vs 288dp without) — the colored ring would just
shrink the visible icon zone. Background already matches via
windowSplashScreenBackground above. -->
<item name="postSplashScreenTheme">@style/AppTheme.NoActionBar</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
</style>
</resources>