mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
4cdc2c48e8
Summary: react-native-navigation allows to register React components to be included in the navigation top bar as buttons, the way this work is by using the AppRegistry. When the ViewTreeObserver executes the `CustomGlobalLayout` we are checking for the RootWindowInsets in the `checkKeyboardEvents` which in the case for the top bar component it returns null and the **WindowInsetsCompat.toWindowInsetsCompat** function throws if the insets are null causing the app to crash. Interestingly in the function `checkForKeyboardEventsLegacy` the null value is being checked, so I guess it was overlooked in the newer function. ## Changelog [ANDROID] [FIXED] - Fix ReactRootView crash when root view window insets are null Pull Request resolved: https://github.com/facebook/react-native/pull/35869 Test Plan: The following videos show how the app crashes as soon as we attempt to pop a screen that contains a react component as a button in the navigation top bar and how it correctly pops to the previous screen after applying the fix | Crash | Fix | | -- | -- | | https://user-images.githubusercontent.com/6757047/213116971-fe693989-f978-438c-b8f9-fc56f2a477c8.mp4 | https://user-images.githubusercontent.com/6757047/213118352-fe258f28-07aa-4d17-98d2-97136464ffd5.mp4 | Reviewed By: cipolleschi Differential Revision: D42580156 Pulled By: cortinico fbshipit-source-id: 4dbd656d7c8148df67668a2a50913206bc35c07f
Building React Native for Android
See the Building from Source guide on the React Native website.
Running tests
When you submit a pull request CircleCI will automatically run all tests. To run tests locally, see Testing guide on the React Native website.