Skip to content

fix: inflate the Android splash icon on API 29/30 - #165

Open
KonradIT wants to merge 1 commit into
erik-sutton95:mainfrom
KonradIT:android-fix-splash
Open

fix: inflate the Android splash icon on API 29/30#165
KonradIT wants to merge 1 commit into
erik-sutton95:mainfrom
KonradIT:android-fix-splash

Conversation

@KonradIT

Copy link
Copy Markdown

installSplashScreen() threw Resources$NotFoundException before the first frame on every minSdk device: opc_splash_empty was a <vector> carrying only a comment, and VectorDrawable.inflateChildElements rejects a vector with no <path> ("no path defined"). API 31+ draws the splash in the platform and never inflates the icon, so the crash was invisible above API 30 and to lint and unit tests.

Give the vector one fully transparent path. The hold stays invisible, so the splash still never flashes a square logo.

Crash reproduced on a physical MI_PAD_4 (Android 10, API 29, arm64-v8a).

App works fine on Pixel 10.

What & why

TestFlight notes

Checklist

  • just check passes.
  • Native production changes: just native-check passes, or the relevant platform check is noted.
  • Commits follow Conventional Commits.
  • No captures, Wi-Fi passwords, unofficial LUT dumps, signing material, or other secrets.
  • Docs/CHANGELOG updated if behavior or setup changed. Public handbook pages updated when protocol, app, or setup visitors read has changed.
  • TestFlight-triggering changes include reviewed ios/TestFlight/WhatToTest.en-US.txt copy.
  • iOS release PRs: bump MARKETING_VERSION in ios/Config/Version.xcconfig when starting a new version train.

`installSplashScreen()` threw `Resources$NotFoundException` before the
first frame on every minSdk device: `opc_splash_empty` was a `<vector>`
carrying only a comment, and `VectorDrawable.inflateChildElements`
rejects a vector with no `<path>` ("no path defined"). API 31+ draws the
splash in the platform and never inflates the icon, so the crash was
invisible above API 30 and to lint and unit tests.

Give the vector one fully transparent path. The hold stays invisible, so
the splash still never flashes a square logo.

Crash reproduced on a physical MI_PAD_4 (Android 10, API 29, arm64-v8a).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added the area:android Android / Jetpack Compose work label Aug 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:android Android / Jetpack Compose work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant