Skip to content

Commit f1b5fe1

Browse files
luluwu2032facebook-github-bot
authored andcommitted
Prevent NPE on ThemedReactContext
Summary: When pre-prerendering a surface without rendering it, "SurfaceMountingManager.getContext()" will return null since no ThemedReactContext is passed into it: https://www.internalfb.com/code/fbsource/[0f4812c8039d975b3651dfa756d60a882bf8e193]/xplat/js/react-native-github/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java?lines=298-317 Changelog: [Android][Fixed] - Prevent NPE on ThemedReactContext Reviewed By: ShikaSD Differential Revision: D31691022 fbshipit-source-id: 4cca6c4550a77075f8fd754dbf21fe5bf5da77e6
1 parent e1b698c commit f1b5fe1

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java

+5
Original file line numberDiff line numberDiff line change
@@ -559,6 +559,11 @@ public boolean getThemeData(int surfaceId, float[] defaultTextInputPadding) {
559559
SurfaceMountingManager surfaceMountingManager =
560560
mMountingManager.getSurfaceManagerEnforced(surfaceId, "getThemeData");
561561
ThemedReactContext themedReactContext = surfaceMountingManager.getContext();
562+
563+
if (themedReactContext == null) {
564+
FLog.w(TAG, "\"themedReactContext\" is null when call \"getThemeData\"");
565+
return false;
566+
}
562567
float[] defaultTextInputPaddingForTheme =
563568
UIManagerHelper.getDefaultTextInputPadding(themedReactContext);
564569
defaultTextInputPadding[0] = defaultTextInputPaddingForTheme[PADDING_START_INDEX];

0 commit comments

Comments
 (0)