From 14a0f3fdeacd1463a4cd2be4aea05e7a4059181d Mon Sep 17 00:00:00 2001 From: David Vacca Date: Thu, 7 May 2020 18:02:47 -0700 Subject: [PATCH] Eager initialize Fabric Android classes Summary: This diff eager initializes Fabric Android classes. This should help load all the Fabric classes at Bridge load time. changelog: [Internal] Reviewed By: JoshuaGross Differential Revision: D21460507 fbshipit-source-id: 4b8d5c4e2d19e3a7eb3077027071e64ff16f1cbd --- .../react/fabric/FabricJSIModuleProvider.java | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) 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 38b4c39cbfa..0caf99934dd 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java @@ -20,18 +20,23 @@ import com.facebook.react.fabric.events.FabricEventEmitter; import com.facebook.react.fabric.mounting.LayoutMetricsConversions; import com.facebook.react.fabric.mounting.MountingManager; import com.facebook.react.fabric.mounting.mountitems.BatchMountItem; +import com.facebook.react.fabric.mounting.mountitems.CreateMountItem; import com.facebook.react.fabric.mounting.mountitems.DeleteMountItem; +import com.facebook.react.fabric.mounting.mountitems.DispatchCommandMountItem; import com.facebook.react.fabric.mounting.mountitems.DispatchIntCommandMountItem; import com.facebook.react.fabric.mounting.mountitems.DispatchStringCommandMountItem; import com.facebook.react.fabric.mounting.mountitems.InsertMountItem; import com.facebook.react.fabric.mounting.mountitems.MountItem; import com.facebook.react.fabric.mounting.mountitems.PreAllocateViewMountItem; +import com.facebook.react.fabric.mounting.mountitems.RemoveDeleteMultiMountItem; import com.facebook.react.fabric.mounting.mountitems.RemoveMountItem; +import com.facebook.react.fabric.mounting.mountitems.SendAccessibilityEvent; import com.facebook.react.fabric.mounting.mountitems.UpdateEventEmitterMountItem; import com.facebook.react.fabric.mounting.mountitems.UpdateLayoutMountItem; import com.facebook.react.fabric.mounting.mountitems.UpdateLocalDataMountItem; import com.facebook.react.fabric.mounting.mountitems.UpdatePaddingMountItem; import com.facebook.react.fabric.mounting.mountitems.UpdatePropsMountItem; +import com.facebook.react.fabric.mounting.mountitems.UpdateStateMountItem; import com.facebook.react.uimanager.StateWrapper; import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.events.BatchEventDispatchedListener; @@ -101,33 +106,38 @@ 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(); - FabricComponents.class.getClass(); - StateWrapper.class.getClass(); + EventBeatManager.class.getClass(); + EventEmitterWrapper.class.getClass(); FabricEventEmitter.class.getClass(); - FabricUIManager.class.getClass(); - GuardedFrameCallback.class.getClass(); BatchMountItem.class.getClass(); + CreateMountItem.class.getClass(); DeleteMountItem.class.getClass(); + DispatchCommandMountItem.class.getClass(); DispatchIntCommandMountItem.class.getClass(); DispatchStringCommandMountItem.class.getClass(); InsertMountItem.class.getClass(); MountItem.class.getClass(); + PreAllocateViewMountItem.class.getClass(); + RemoveDeleteMultiMountItem.class.getClass(); RemoveMountItem.class.getClass(); + SendAccessibilityEvent.class.getClass(); UpdateEventEmitterMountItem.class.getClass(); UpdateLayoutMountItem.class.getClass(); UpdateLocalDataMountItem.class.getClass(); UpdatePaddingMountItem.class.getClass(); UpdatePropsMountItem.class.getClass(); + UpdateStateMountItem.class.getClass(); LayoutMetricsConversions.class.getClass(); MountingManager.class.getClass(); Binding.class.getClass(); ComponentFactoryDelegate.class.getClass(); - EventBeatManager.class.getClass(); - EventEmitterWrapper.class.getClass(); - StateWrapperImpl.class.getClass(); + FabricComponents.class.getClass(); FabricSoLoader.class.getClass(); - PreAllocateViewMountItem.class.getClass(); + FabricUIManager.class.getClass(); + GuardedFrameCallback.class.getClass(); + StateWrapper.class.getClass(); + StateWrapperImpl.class.getClass(); + BatchEventDispatchedListener.class.getClass(); + ReactNativeConfig.class.getClass(); } }