Create ReactFeatureFlag to initialize MapBufferSo file during Fabric initialization

Summary:
This diff creates a ReactFeatureFlag to initialize MapBufferSo file during Fabric initialization.

This is necessary to be able to compare properly Mapbuffer vs ReadableNativeMap (because ReadableNativeMap c++ files is already included in the bridge so file)

changelog: [internal]

Reviewed By: JoshuaGross

Differential Revision: D28436044

fbshipit-source-id: 338e1bb72b5313dc29a309e1b0e979e7c8bd1c18
This commit is contained in:
David Vacca authored and Facebook GitHub Bot committed 2021-05-14 12:55:24 -07:00
1 parent 73fbe80fc4
commit 0b371304aa
6 files changed
+49 -3

No files matched your search

@@ -15,6 +15,8 @@ import com.facebook.react.bridge.JSIModuleProvider;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.UIManager;
import com.facebook.react.bridge.queue.MessageQueueThread;
import com.facebook.react.common.mapbuffer.ReadableMapBuffer;
import com.facebook.react.common.mapbuffer.ReadableMapBufferSoLoader;
import com.facebook.react.config.ReactFeatureFlags;
import com.facebook.react.fabric.events.EventBeatManager;
import com.facebook.react.fabric.events.EventEmitterWrapper;
@@ -67,6 +69,9 @@ public class FabricJSIModuleProvider implements JSIModuleProvider<UIManager> {
if (ReactFeatureFlags.eagerInitializeFabricClasses) {
loadClasses();
}
if (ReactFeatureFlags.enableEagerInitializeMapBufferSoFile) {
ReadableMapBufferSoLoader.staticInit();
}
MessageQueueThread jsMessageQueueThread =
mReactApplicationContext
.getCatalystInstance()
@@ -138,5 +143,6 @@ public class FabricJSIModuleProvider implements JSIModuleProvider<UIManager> {
SurfaceHandlerBinding.class.getClass();
BatchEventDispatchedListener.class.getClass();
ReactNativeConfig.class.getClass();
ReadableMapBuffer.class.getClass();
}
}