Skip to content

fix(startup): the splash follows the launcher icon - #1399

Merged
A-EDev merged 1 commit into
Flow-Tube:mainfrom
Chiehx0220:fix/splash-launcher-icon
Oct 22, 2026
Merged

A-EDev merged 1 commit into
Flow-Tube:mainfrom
Chiehx0220:fix/splash-launcher-icon

Conversation

@Chiehx0220

Copy link
Copy Markdown
Contributor

Summary

The startup splash did not follow the launcher icon in two cases.

  • Switching the icon in Appearance left the remembered splash theme on the old icon. MainActivity re-applied it only when the tone (light, dark, black) changed, so the first launch after a switch still opened on the old icon's splash. It now also re-applies when the saved selection changes (AppIconController.selected, the existing PlayerPreferences.selectedAppIcon flow).
  • Material Sky and Material Mint had no splash styles and fell back to the default Flow badge. Added two base styles, one per icon (the launcher foreground over the icon's own tint, icon_bg_material_sky and icon_bg_material_mint), and six tone variants that only set the window background.
  • SplashThemesTest checks that every alias with its own art resolves to a splash of its own on every tone. Flow Red and Flow Light share the default, and Ghost on light keeps its fallback by design. Without the themes.xml and SplashThemes.kt change it fails and lists Material Sky and Material Mint on all three tones.
  • Added .github/nightly-notes/2026-10-22-fix-splash-launcher-icon.md.

Related issue

Closes #1398.

Change type

  • Bug fix
  • Feature
  • Refactor or maintenance
  • Build, packaging, or CI
  • Documentation

Validation

  • ./gradlew :app:assembleGithubDebug
  • ./gradlew :app:testGithubDebugUnitTest: 4328 tests, 0 failed
  • Flavor-specific tasks: not run; no flavor-specific code is touched.
  • I manually tested the affected behavior on an Android device or emulator.
  • ./gradlew ktlintCheck, python3 .github/scripts/nightly_notes.py --check

Test device and Android version: Pixel 6, Android 16.

On the device, I switched the icon in Appearance, force-stopped the app and cold started it once, for Material Sky and Material Mint on the light, dark and black tones. Each time the splash showed the tinted circle with the red F on the matching window (white, dark gray, black), nothing clipped, from the first launch after the switch. Mint on the dark tone was re-checked on the final commit; the other five ran on an earlier build of the same change. Android 12 and earlier are unchanged, as setSplashScreenTheme needs Android 13.

Risk and compatibility

  • No preference or database change, no permission, no network or background work. MainActivity collects one more DataStore flow that already exists.

  • The splash theme is still remembered only on Android 13 and later.

  • The change does not introduce secrets, private data, or unexpected telemetry.

  • No new user-facing text.

  • No dependency changes.

  • No Room schema change.

  • No breaking changes.

- Add splash styles for Material Sky and Material Mint: one base per icon, tone variants override the background
- Re-apply the remembered splash theme when the selected icon changes, not only when the tone changes
- Test that every alias with its own art has a splash of its own on every tone
@Chiehx0220
Chiehx0220 requested a review from A-EDev as a code owner October 22, 2026 06:56
@github-actions github-actions Bot added documentation Improvements or additions to documentation ui Compose UI, theming, or Material 3 surfaces labels Oct 22, 2026
Chiehx0220 added a commit to Chiehx0220/Fathom that referenced this pull request Oct 22, 2026
- Add splash styles for Material Sky and Material Mint: one base per icon, tone variants override the background
- Re-apply the remembered splash theme when the selected icon changes, not only when the tone changes
- Register the .IconExpressiveSegmented and .IconExpressiveMint entries again in the splash style map
- Test that every alias with its own art has a splash of its own on every tone
- Raise the fork-diff budget to 118 files, 1360 lines and 443 hunks until Flow-Tube#1399 is merged
@A-EDev
A-EDev merged commit 607e82d into Flow-Tube:main Oct 22, 2026
9 checks passed
Chiehx0220 added a commit to Chiehx0220/Fathom that referenced this pull request Oct 23, 2026
- Budget is now 115 files, 1311 lines and 438 hunks, as Flow-Tube#1399 is merged
- Refresh FORK-DIFF.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation ui Compose UI, theming, or Material 3 surfaces

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Startup splash ignores the Material Sky and Material Mint icons and lags a launch behind icon switches

2 participants