Skip to content

Fix crash screen bugs and restore the API validation - #15

Merged
skydoves merged 2 commits into
mainfrom
fix/crash-screen-bugs
Sep 16, 2026
Merged

skydoves merged 2 commits into
mainfrom
fix/crash-screen-bugs

Conversation

@skydoves

@skydoves skydoves commented Sep 16, 2026 •

Copy link
Copy Markdown
Owner

The light palette used white text on a white background, so the exception message, device info, stack trace, and the restore screen texts were all invisible in light mode.
Also fixes Snitcher.isInstalled always returning false, the copy button copying the message instead of the stack trace, a null launcher crashing the datastore collector, the background not filling the screen, dropped file names in captured stack traces, and the removed accompanist system ui controller that is a no-op on Android 15 and above.
The last commit restores the binary compatibility validation, which AGP 9 built-in Kotlin silently turned into a no-op, so the api dump is checked again.

- Light colors painted white text on a white background, so every message,
  the device info, the stack trace, and the copy icon were invisible
- SnitcherInstaller never flipped its installed flag, so Snitcher.isInstalled
  always returned false
- The copy action copied the exception message instead of the stack trace
- A null launcher threw inside the datastore collector and crashed the app
- The trace screen background stopped at the content height
- Captured stack trace elements dropped the file name
- Replace the removed accompanist system ui controller, which is a no-op on
  Android 15 and above, with WindowInsetsControllerCompat and enableEdgeToEdge
@skydoves skydoves changed the title Fix crash screen bugs on the trace and restore screens Fix crash screen bugs and restore the API validation Sep 16, 2026
AGP 9 built-in Kotlin does not expose the Android compilations to either the
binary compatibility validator or the ABI validation of the Kotlin Gradle
plugin, so apiDump and checkKotlinAbi write nothing and the check passes
against whatever dump is already committed.

Opt out of built-in Kotlin and the new DSL, both of which AGP 9 offers for
exactly this case, apply the Kotlin Android plugin again, and put the
validator back in charge of the api dump. The demo and the benchmark modules
are excluded, since only the library is published.
@skydoves
skydoves force-pushed the fix/crash-screen-bugs branch from e5ca00a to ae06569 Compare September 16, 2026 12:33
@skydoves
skydoves merged commit 1f048dc into main Sep 16, 2026
3 checks passed
@skydoves
skydoves deleted the fix/crash-screen-bugs branch September 16, 2026 12:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant