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 b8a5b1a02d..46a6216a34 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 @@ -39,8 +39,14 @@ public class TurboModuleManager implements JSIModule, TurboModuleRegistry { public TurboModuleManager( JavaScriptContextHolder jsContext, TurboModuleManagerDelegate tmmDelegate, - CallInvokerHolder instanceHolder) { - mHybridData = initHybrid(jsContext.get(), (CallInvokerHolderImpl) instanceHolder, tmmDelegate); + CallInvokerHolder jsCallInvokerHolder, + CallInvokerHolder nativeCallInvokerHolder) { + mHybridData = + initHybrid( + jsContext.get(), + (CallInvokerHolderImpl) jsCallInvokerHolder, + (CallInvokerHolderImpl) nativeCallInvokerHolder, + tmmDelegate); mTurbomoduleManagerDelegate = tmmDelegate; } @@ -78,7 +84,10 @@ public class TurboModuleManager implements JSIModule, TurboModuleRegistry { } private native HybridData initHybrid( - long jsContext, CallInvokerHolderImpl jsQueue, TurboModuleManagerDelegate tmmDelegate); + long jsContext, + CallInvokerHolderImpl jsCallInvokerHolder, + CallInvokerHolderImpl nativeCallInvokerHolder, + TurboModuleManagerDelegate tmmDelegate); private native void installJSIBindings(); diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp index 0028efe6e2..cfc5e37d31 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp +++ b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp @@ -24,11 +24,13 @@ TurboModuleManager::TurboModuleManager( jni::alias_ref jThis, jsi::Runtime* rt, std::shared_ptr jsCallInvoker, + std::shared_ptr nativeCallInvoker, jni::alias_ref delegate ): javaPart_(jni::make_global(jThis)), runtime_(rt), jsCallInvoker_(jsCallInvoker), + nativeCallInvoker_(nativeCallInvoker), delegate_(jni::make_global(delegate)) {} @@ -36,11 +38,13 @@ jni::local_ref TurboModuleManager::initHybrid( jni::alias_ref jThis, jlong jsContext, jni::alias_ref jsCallInvokerHolder, + jni::alias_ref nativeCallInvokerHolder, jni::alias_ref delegate ) { auto jsCallInvoker = jsCallInvokerHolder->cthis()->getCallInvoker(); + auto nativeCallInvoker = nativeCallInvokerHolder->cthis()->getCallInvoker(); - return makeCxxInstance(jThis, (jsi::Runtime *) jsContext, jsCallInvoker, delegate); + return makeCxxInstance(jThis, (jsi::Runtime *) jsContext, jsCallInvoker, nativeCallInvoker, delegate); } void TurboModuleManager::registerNatives() { diff --git a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h index 9e524f6368..65927078a4 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h +++ b/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h @@ -28,6 +28,7 @@ public: jni::alias_ref jThis, jlong jsContext, jni::alias_ref jsCallInvokerHolder, + jni::alias_ref nativeCallInvokerHolder, jni::alias_ref delegate ); static void registerNatives(); @@ -36,6 +37,7 @@ private: jni::global_ref javaPart_; jsi::Runtime* runtime_; std::shared_ptr jsCallInvoker_; + std::shared_ptr nativeCallInvoker_; jni::global_ref delegate_; /** @@ -51,6 +53,7 @@ private: jni::alias_ref jThis, jsi::Runtime *rt, std::shared_ptr jsCallInvoker, + std::shared_ptr nativeCallInvoker, jni::alias_ref delegate ); };