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
This commit is contained in:
Lulu Wu
2021-10-17 02:55:19 -07:00
committed by Facebook GitHub Bot
parent e1b698c5f2
commit f1b5fe1d3e
@@ -559,6 +559,11 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
SurfaceMountingManager surfaceMountingManager =
mMountingManager.getSurfaceManagerEnforced(surfaceId, "getThemeData");
ThemedReactContext themedReactContext = surfaceMountingManager.getContext();
if (themedReactContext == null) {
FLog.w(TAG, "\"themedReactContext\" is null when call \"getThemeData\"");
return false;
}
float[] defaultTextInputPaddingForTheme =
UIManagerHelper.getDefaultTextInputPadding(themedReactContext);
defaultTextInputPadding[0] = defaultTextInputPaddingForTheme[PADDING_START_INDEX];