Skip to content

Restore Android system bars across overlapping screens - #1

Merged
alexstyl merged 1 commit into
mainfrom
fix/android-system-bar-restoration
Oct 21, 2026
Merged

alexstyl merged 1 commit into
mainfrom
fix/android-system-bar-restoration

Conversation

@alexstyl

@alexstyl alexstyl commented Oct 21, 2026 •

Copy link
Copy Markdown
Member

Android screens and overlays can overlap during navigation. Each SystemBars effect previously restored its own saved window flags when disposed, allowing an outgoing screen to overwrite the current screen’s icon appearance. Native dialog requests also targeted the Activity window.

Track active appearance requests per window, keep remaining requests applied when one leaves, and restore the original icon, navigation-bar color, and contrast settings after the last request leaves. Resolve native dialog windows before falling back to the Activity.

Validation:

  • Added Robolectric regressions for outgoing-screen disposal, overlay dismissal and recomposition, and dialog-window isolation.
  • The outgoing-screen regression failed before the fix and passes with it; Pairel’s native match-and-tab navigation regression also passes with the patched library.
  • Passed ./gradlew jvmTest testAndroidHostTest publishToMavenLocal --no-configuration-cache --console=plain. CI and release verification now run the Android host tests.

@alexstyl
alexstyl force-pushed the fix/android-system-bar-restoration branch from 04cfd0c to 85cc05d Compare October 21, 2026 06:39
@alexstyl
alexstyl merged commit a2f5b17 into main Oct 21, 2026
2 checks passed
@alexstyl
alexstyl deleted the fix/android-system-bar-restoration branch October 21, 2026 06:42
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