mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Dispatch promise methods to the NativeModules thread
Summary: In D17480605 (https://github.com/facebook/react-native/commit/689233b018bd533a7eecd38e38a7fb84b849cf88), I made all methods with void return types dispatch to the NativeModules thread. This diff makes the same change to methods with promise return types. **Note:** The changes are disabled for now. I'll add an MC so that we can test this in production in a later diff. Changelog: [Android][Fixed] - Make promise NativeModule methods dispatch to NativeModules thread Reviewed By: PeteTheHeat Differential Revision: D22489338 fbshipit-source-id: d5b030871f9f7b3f48eb111225516521493cb05e
This commit is contained in:
committed by
Facebook GitHub Bot
parent
aa1d31ebca
commit
9c35b5b8c4
+4
-2
@@ -61,7 +61,8 @@ public class TurboModuleManager implements JSIModule, TurboModuleRegistry {
|
||||
jsContext.get(),
|
||||
(CallInvokerHolderImpl) jsCallInvokerHolder,
|
||||
(CallInvokerHolderImpl) nativeCallInvokerHolder,
|
||||
delegate);
|
||||
delegate,
|
||||
false);
|
||||
installJSIBindings();
|
||||
|
||||
mEagerInitModuleNames =
|
||||
@@ -278,7 +279,8 @@ public class TurboModuleManager implements JSIModule, TurboModuleRegistry {
|
||||
long jsContext,
|
||||
CallInvokerHolderImpl jsCallInvokerHolder,
|
||||
CallInvokerHolderImpl nativeCallInvokerHolder,
|
||||
TurboModuleManagerDelegate tmmDelegate);
|
||||
TurboModuleManagerDelegate tmmDelegate,
|
||||
boolean enablePromiseAsyncDispatch);
|
||||
|
||||
private native void installJSIBindings();
|
||||
|
||||
|
||||
+4
-1
@@ -39,10 +39,13 @@ jni::local_ref<TurboModuleManager::jhybriddata> TurboModuleManager::initHybrid(
|
||||
jlong jsContext,
|
||||
jni::alias_ref<CallInvokerHolder::javaobject> jsCallInvokerHolder,
|
||||
jni::alias_ref<CallInvokerHolder::javaobject> nativeCallInvokerHolder,
|
||||
jni::alias_ref<TurboModuleManagerDelegate::javaobject> delegate) {
|
||||
jni::alias_ref<TurboModuleManagerDelegate::javaobject> delegate,
|
||||
bool enablePromiseAsyncDispatch) {
|
||||
auto jsCallInvoker = jsCallInvokerHolder->cthis()->getCallInvoker();
|
||||
auto nativeCallInvoker = nativeCallInvokerHolder->cthis()->getCallInvoker();
|
||||
|
||||
JavaTurboModule::enablePromiseAsyncDispatch(enablePromiseAsyncDispatch);
|
||||
|
||||
return makeCxxInstance(
|
||||
jThis,
|
||||
(jsi::Runtime *)jsContext,
|
||||
|
||||
+2
-1
@@ -30,7 +30,8 @@ class TurboModuleManager : public jni::HybridClass<TurboModuleManager> {
|
||||
jlong jsContext,
|
||||
jni::alias_ref<CallInvokerHolder::javaobject> jsCallInvokerHolder,
|
||||
jni::alias_ref<CallInvokerHolder::javaobject> nativeCallInvokerHolder,
|
||||
jni::alias_ref<TurboModuleManagerDelegate::javaobject> delegate);
|
||||
jni::alias_ref<TurboModuleManagerDelegate::javaobject> delegate,
|
||||
bool enablePromiseAsyncDispatch);
|
||||
static void registerNatives();
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user