fix: migrate Android edge-to-edge and harden system UI ownership#12558
Draft
huhuanming wants to merge 3 commits into
Draft
fix: migrate Android edge-to-edge and harden system UI ownership#12558huhuanming wants to merge 3 commits into
huhuanming wants to merge 3 commits into
Conversation
huhuanming
marked this pull request as ready for review
July 20, 2026 08:20
huhuanming
requested review from
ezailWang,
originalix,
revan-zhang and
sidmorizon
as code owners
July 20, 2026 08:20
huhuanming
marked this pull request as draft
July 20, 2026 08:24
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Migrate Android to one consistent edge-to-edge window model and harden system-bar ownership, navigator backgrounds, recovery/error fallbacks, and native TabBar insets across supported Android versions.
Problems resolved
ignoreBottomInsetsdisabled Material Components' inset handling after edge-to-edge became active.PrimeDashboard → PrimeFeaturescould briefly restore the light app theme between blur and focus.What changed
ignoreBottomInsetsso the native Material TabBar consumes navigation-bar insets.android.tsmodules and Android runtime branches; preserve the existing iOS StatusBar/root background lifecycle and Web/Desktop no-op/DOM behaviorAndroid navigation regression
All modes were tested on an API 35 emulator at 1080 × 2400. Two-button navigation is retained as a legacy AOSP compatibility regression.
[0,2190][1080,2337][0,2337][1080,2400][0,2190][1080,2337][0,2337][1080,2400][0,2127][1080,2274][0,2274][1080,2400]Validation
adb reverse tcp:8081 tcp:8081e27c9615a6f190f020da868f3abb92f83114f0a7d807750e-f826-4de5-a76c-da515b84e113yarn jest packages/components/src/hooks/systemUIState.test.ts --runInBandyarn lint:stagedyarn tsc:stagedgit diff --checkIssue
OK-57542