fix(Android): remove setting system bar translucent props from JS if in edge to edge #2949
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.
Description
Fixes #2948
Fixes an issue where system bar styles set using
SystemBars.setStylefunction fromreact-native-edge-to-edgewould be overridden by default values set inreact-native-screens. Those should only work when we define system bar styles via screen options but in #2464 that integratedreact-native-edge-to-edgewithreact-native-screens, we would always setstatusBarTranslucentandnavigationBarTranslucentprops when in edge to edge (code here), which would setdidSetStatusBarAppearance/didSetNavigationBarAppearanceand in result, makescreensuse default values for system bar styles.Setting
statusBarTranslucentandnavigationBarTranslucentprops totruein edge-to-edge is not necessary and it's currently ignored in native code when in edge-to-edge after #2913 (here and there).Thanks to @efstathiosntonas for reporting the issue and finding the culprit!
Changes
statusBarTranslucentandnavigationBarTranslucentinedge-to-edge.tsxScreenshots / GIFs
before_2949.mp4
after_2949.mp4
Test code and steps to reproduce
Run
Test2949as a main app by modifyingApp.tsxin example app.Checklist