From 078f14c5d235d2678d4e06e08d39c68557b6d4ee Mon Sep 17 00:00:00 2001 From: Emily Janzer Date: Thu, 9 May 2019 11:21:36 -0700 Subject: [PATCH] Require passing in JSCallInvokerHolder to TurboModuleManager Summary: Right now TurboModuleManager gets the JSCallInvokerHolder from the bridge in its constructor; this diff changes the constructor to make the JSCallInvokerHolder a required argument so that TurboModuleManager doesn't directly depend on the bridge. Reviewed By: axe-fb, RSNara Differential Revision: D15227184 fbshipit-source-id: b16e6abaa727587986a132d0e124163acdf55408 --- .../react/turbomodule/core/TurboModuleManager.java | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java index 9264db4f8b6..158ff5bd298 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java @@ -13,6 +13,7 @@ import com.facebook.react.bridge.JSIModule; import com.facebook.react.bridge.JavaScriptContextHolder; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.queue.MessageQueueThread; +import com.facebook.react.turbomodule.core.interfaces.JSCallInvokerHolder; import com.facebook.react.turbomodule.core.interfaces.TurboModule; import com.facebook.soloader.SoLoader; @@ -34,16 +35,11 @@ public class TurboModuleManager implements JSIModule { private final HybridData mHybridData; public TurboModuleManager( - ReactApplicationContext reactApplicationContext, JavaScriptContextHolder jsContext, TurboModuleManagerDelegate tmmDelegate) { + ReactApplicationContext reactApplicationContext, JavaScriptContextHolder jsContext, TurboModuleManagerDelegate tmmDelegate, JSCallInvokerHolder instanceHolder) { mReactApplicationContext = reactApplicationContext; - JSCallInvokerHolderImpl instanceHolder = - (JSCallInvokerHolderImpl) mReactApplicationContext - .getCatalystInstance() - .getJSCallInvokerHolder(); - mHybridData = initHybrid(jsContext.get(), instanceHolder, tmmDelegate); + mHybridData = initHybrid(jsContext.get(), (JSCallInvokerHolderImpl) instanceHolder, tmmDelegate); mTurbomoduleManagerDelegate = tmmDelegate; } - @DoNotStrip @SuppressWarnings("unused") private TurboModule getJavaModule(String name) {