Make TurboModuleManager accept a CallInvoker for the NativeModules thread
Summary: In the previous diffs, I: 1. D17422165: Created a `CallInvoker` for the NativeModules thread. 2. D17422164: Exposed this `CallInvoker` via `CatalystInstance.getNativeCallInvokerHolder()`. In this diff, I: 1. Make TurboModuleManager accept the NativeModules thread `CallInvoker` as a constructor argument. Reviewed By: PeteTheHeat Differential Revision: D17422163 fbshipit-source-id: cbaac2fc06f7f726d89e0c545154123ad7410e62
This commit is contained in:
Родитель
77fe4f087d
Коммит
10d89b1eff
|
@ -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();
|
||||
|
||||
|
|
|
@ -24,11 +24,13 @@ TurboModuleManager::TurboModuleManager(
|
|||
jni::alias_ref<TurboModuleManager::javaobject> jThis,
|
||||
jsi::Runtime* rt,
|
||||
std::shared_ptr<CallInvoker> jsCallInvoker,
|
||||
std::shared_ptr<CallInvoker> nativeCallInvoker,
|
||||
jni::alias_ref<TurboModuleManagerDelegate::javaobject> 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::jhybriddata> TurboModuleManager::initHybrid(
|
|||
jni::alias_ref<jhybridobject> jThis,
|
||||
jlong jsContext,
|
||||
jni::alias_ref<CallInvokerHolder::javaobject> jsCallInvokerHolder,
|
||||
jni::alias_ref<CallInvokerHolder::javaobject> nativeCallInvokerHolder,
|
||||
jni::alias_ref<TurboModuleManagerDelegate::javaobject> 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() {
|
||||
|
|
|
@ -28,6 +28,7 @@ public:
|
|||
jni::alias_ref<jhybridobject> jThis,
|
||||
jlong jsContext,
|
||||
jni::alias_ref<CallInvokerHolder::javaobject> jsCallInvokerHolder,
|
||||
jni::alias_ref<CallInvokerHolder::javaobject> nativeCallInvokerHolder,
|
||||
jni::alias_ref<TurboModuleManagerDelegate::javaobject> delegate
|
||||
);
|
||||
static void registerNatives();
|
||||
|
@ -36,6 +37,7 @@ private:
|
|||
jni::global_ref<TurboModuleManager::javaobject> javaPart_;
|
||||
jsi::Runtime* runtime_;
|
||||
std::shared_ptr<CallInvoker> jsCallInvoker_;
|
||||
std::shared_ptr<CallInvoker> nativeCallInvoker_;
|
||||
jni::global_ref<TurboModuleManagerDelegate::javaobject> delegate_;
|
||||
|
||||
/**
|
||||
|
@ -51,6 +53,7 @@ private:
|
|||
jni::alias_ref<TurboModuleManager::jhybridobject> jThis,
|
||||
jsi::Runtime *rt,
|
||||
std::shared_ptr<CallInvoker> jsCallInvoker,
|
||||
std::shared_ptr<CallInvoker> nativeCallInvoker,
|
||||
jni::alias_ref<TurboModuleManagerDelegate::javaobject> delegate
|
||||
);
|
||||
};
|
||||
|
|
Загрузка…
Ссылка в новой задаче