From 57074143ac7aea0ecef1454bc11bed2af585dec8 Mon Sep 17 00:00:00 2001 From: David Vacca Date: Fri, 3 May 2019 17:20:47 -0700 Subject: [PATCH] Eager initialize more Fabric classes Summary: This diff forces the eager initialization of some additional classes into FabricJSIModuleProvider.loadClasses(). This is a "hack" that will be removed in the near future Reviewed By: JoshuaGross Differential Revision: D15208977 fbshipit-source-id: 2e2c7856839b6c6888452800ef6da7f269e46735 --- .../facebook/react/fabric/FabricJSIModuleProvider.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java index 889f98d60b..e126da4a0e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java @@ -16,6 +16,8 @@ import com.facebook.react.fabric.jsi.StateWrapperImpl; import com.facebook.react.fabric.mounting.ContextBasedViewPool; import com.facebook.react.fabric.mounting.LayoutMetricsConversions; import com.facebook.react.fabric.mounting.MountingManager; +import com.facebook.react.fabric.mounting.ViewFactory; +import com.facebook.react.fabric.mounting.ViewManagerFactory; import com.facebook.react.fabric.mounting.ViewPool; import com.facebook.react.fabric.mounting.mountitems.BatchMountItem; import com.facebook.react.fabric.mounting.mountitems.DeleteMountItem; @@ -30,6 +32,7 @@ import com.facebook.react.fabric.mounting.mountitems.UpdateLocalDataMountItem; import com.facebook.react.fabric.mounting.mountitems.UpdatePropsMountItem; import com.facebook.react.uimanager.StateWrapper; import com.facebook.react.uimanager.UIManagerModule; +import com.facebook.react.uimanager.events.BatchEventDispatchedListener; import com.facebook.react.uimanager.events.EventDispatcher; import com.facebook.systrace.Systrace; @@ -91,6 +94,11 @@ public class FabricJSIModuleProvider implements JSIModuleProvider { // TODO T31905686: eager load Fabric classes, this is temporary and it will be removed // in the near future private static void loadClasses() { + BatchEventDispatchedListener.class.getClass(); + ReactNativeConfig.class.getClass(); + ViewManagerFactory.class.getClass(); + StateWrapper.class.getClass(); + ViewFactory.class.getClass(); FabricEventEmitter.class.getClass(); FabricUIManager.class.getClass(); GuardedFrameCallback.class.getClass();