fix Modal content being cut off when Android Activity is edge-to-edge (#47339)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/47339

Fixing issue raised in https://github.com/facebook/react-native/issues/47307

This is a follow up from D62286026.
It appears there was a line that went missing while trying to refactor the code.

`fitsSystemWindows = true` is needeod for < API 30 to avoid content rendering under the system bars when Modal is shown with Activity that is edge-to-edge.

Changelog:
[Android][Fixed] Fix Regression - Modal content rendering below system bar on < API 30 when activity is edge-to-edge

Reviewed By: cortinico

Differential Revision: D65280014

fbshipit-source-id: 616ff739be55635f1295ef3bf8b997a27ef769ae
This commit is contained in:
Alan Lee
2024-11-12 19:12:32 +00:00
committed by Blake Friedman
parent fbe38bb2a3
commit e8c4faaf08
@@ -296,7 +296,14 @@ public class ReactModalHostView(context: ThemedReactContext) :
* changed. This has the pleasant side-effect of us not having to preface all Modals with "top:
* statusBarHeight", since that margin will be included in the FrameLayout.
*/
get() = FrameLayout(context).apply { addView(dialogRootViewGroup) }
get() =
FrameLayout(context).apply {
addView(dialogRootViewGroup)
if (!statusBarTranslucent) {
// this is needed to prevent content hiding behind systems bars < API 30
this.fitsSystemWindows = true
}
}
/**
* updateProperties will update the properties that do not require us to recreate the dialog