diff --git a/packages/react-native/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp b/packages/react-native/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp index 56a38374370a..e6659fe53a8e 100644 --- a/packages/react-native/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp +++ b/packages/react-native/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #ifdef REACT_NATIVE_APP_CODEGEN_HEADER #include REACT_NATIVE_APP_CODEGEN_HEADER @@ -95,8 +96,17 @@ std::shared_ptr javaModuleProvider( } #endif + // We first try to look up core modules + if (auto module = rncore_ModuleProvider(name, params)) { + return module; + } + // And we fallback to the module providers autolinked by RN CLI - return rncli_ModuleProvider(name, params); + if (auto module = rncli_ModuleProvider(name, params)) { + return module; + } + + return nullptr; } } // namespace facebook::react diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp b/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp index f7547b1f801c..34a98d5483b8 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp +++ b/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp @@ -12,7 +12,6 @@ #include #include #include -#include namespace facebook::react { @@ -100,7 +99,8 @@ std::shared_ptr DefaultTurboModuleManagerDelegate::getTurboModule( return resolvedModule; } } - return rncore_ModuleProvider(name, params); + + return nullptr; } } // namespace facebook::react diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp b/packages/react-native/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp index 58230cdc97a0..cd8cb2a153e3 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +++ b/packages/react-native/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include "TurboModuleManager.h" @@ -24,6 +25,13 @@ namespace facebook::react { namespace { +static void logFoundModule(const std::string& moduleName) { + static int count = 0; + count++; + LOG(INFO) << "RAMAN: found module " << std::to_string(count) << ") " + << moduleName << std::endl; +} + class JMethodDescriptor : public jni::JavaClass { public: static auto constexpr kJavaDescriptor = @@ -163,6 +171,7 @@ TurboModuleProviderFunctionType TurboModuleManager::createTurboModuleProvider( auto cxxModule = delegate->cthis()->getTurboModule(name, jsCallInvoker); if (cxxModule) { + logFoundModule(name); turboModuleCache->insert({name, cxxModule}); return cxxModule; } @@ -172,6 +181,7 @@ TurboModuleProviderFunctionType TurboModuleManager::createTurboModuleProvider( if (it != cxxTurboModuleMapProvider.end()) { auto turboModule = it->second(jsCallInvoker); turboModuleCache->insert({name, turboModule}); + logFoundModule(name); return turboModule; } @@ -189,6 +199,7 @@ TurboModuleProviderFunctionType TurboModuleManager::createTurboModuleProvider( turboModuleCache->insert({name, turboModule}); TurboModulePerfLogger::moduleJSRequireEndingEnd(moduleName); + logFoundModule(name); return turboModule; } @@ -210,6 +221,7 @@ TurboModuleProviderFunctionType TurboModuleManager::createTurboModuleProvider( auto turboModule = delegate->cthis()->getTurboModule(name, params); turboModuleCache->insert({name, turboModule}); TurboModulePerfLogger::moduleJSRequireEndingEnd(moduleName); + logFoundModule(name); return turboModule; } diff --git a/packages/rn-tester/android/app/src/main/jni/OnLoad.cpp b/packages/rn-tester/android/app/src/main/jni/OnLoad.cpp index 7ba52751e28d..927ab744ca76 100644 --- a/packages/rn-tester/android/app/src/main/jni/OnLoad.cpp +++ b/packages/rn-tester/android/app/src/main/jni/OnLoad.cpp @@ -11,6 +11,7 @@ #include #include #include +#include #ifdef REACT_NATIVE_APP_CODEGEN_HEADER #include REACT_NATIVE_APP_CODEGEN_HEADER @@ -51,6 +52,12 @@ std::shared_ptr javaModuleProvider( return module; } #endif + + // We first try to look up core modules + if (auto module = rncore_ModuleProvider(name, params)) { + return module; + } + return nullptr; }