fix: single branded splash (invisible system icon), December title, first-open lag

- System splash now uses a transparent icon, so there is no system icon that
  shrinks into the in-app splash: just black, then the branded screen (icon +
  Calendarr name + copyright), held until data is loaded
- Month/quarter title uses TextStyle.FULL (format style) with a hard fallback;
  FULL_STANDALONE had the same desugar bug as the LLLL pattern (December showed
  only the year)
- First open: load the full +/- cacheMonths window behind the splash and only
  then reveal, so the app no longer enters mid-load and stutters

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Guido Schmit
2026-05-31 15:17:01 +02:00
co-authored by Claude Opus 4.8
parent cb51284bef
commit bc93964e05
5 changed files with 45 additions and 27 deletions
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Invisible system-splash icon: the system splash is just black, so the
branded in-app splash (icon + name + copyright) is the only thing seen. -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/transparent" />
</shape>
-3
View File
@@ -4,8 +4,5 @@
<item name="android:statusBarColor">@android:color/black</item>
<item name="android:navigationBarColor">@android:color/black</item>
<item name="android:windowLightStatusBar">false</item>
<!-- Android 12+ system splash screen -->
<item name="android:windowSplashScreenBackground">@android:color/black</item>
<item name="android:windowSplashScreenAnimatedIcon">@drawable/splash_icon</item>
</style>
</resources>
+3 -2
View File
@@ -9,10 +9,11 @@
<item name="android:windowLightStatusBar">false</item>
</style>
<!-- System splash (core-splashscreen); covers the window from frame 0. -->
<!-- System splash (core-splashscreen): plain black with an invisible icon,
so the only branded screen the user sees is the in-app splash. -->
<style name="Theme.Calendarr.Starting" parent="Theme.SplashScreen">
<item name="windowSplashScreenBackground">@android:color/black</item>
<item name="windowSplashScreenAnimatedIcon">@drawable/splash_icon</item>
<item name="windowSplashScreenAnimatedIcon">@drawable/splash_transparent</item>
<item name="postSplashScreenTheme">@style/Theme.Calendarr</item>
</style>
</resources>