From 28d7adea7eb9ab832c975bb6d48759cf5cca1678 Mon Sep 17 00:00:00 2001 From: David Vacca Date: Fri, 20 Oct 2023 15:24:09 -0700 Subject: [PATCH] Fix lookup of ReactModuleInfoProvider for CoreReactPackage (#41086) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/41086 In this diff I'm fixing the lookup of ReactModuleInfoProvider instance for CoreReactPackage. It is searching for the wrong class. changelog: [internal] internal Reviewed By: RSNara Differential Revision: D50338304 fbshipit-source-id: 840d1d018cc0f9df8a64fd09a851d8a87f5a1f15 --- .../facebook/react/runtime/CoreReactPackage.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java index fd46316f634..2550520a486 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java @@ -41,8 +41,8 @@ import java.util.Map; }) class CoreReactPackage extends TurboReactPackage { - private DevSupportManager mDevSupportManager; - private DefaultHardwareBackBtnHandler mHardwareBackBtnHandler; + private final DevSupportManager mDevSupportManager; + private final DefaultHardwareBackBtnHandler mHardwareBackBtnHandler; public CoreReactPackage( DevSupportManager devSupportManager, DefaultHardwareBackBtnHandler hardwareBackBtnHandler) { @@ -77,7 +77,7 @@ class CoreReactPackage extends TurboReactPackage { public ReactModuleInfoProvider getReactModuleInfoProvider() { try { Class reactModuleInfoProviderClass = - Class.forName("com.facebook.react.CoreModulesPackage$$ReactModuleInfoProvider"); + Class.forName(CoreReactPackage.class.getName() + "$$ReactModuleInfoProvider"); return (ReactModuleInfoProvider) reactModuleInfoProviderClass.newInstance(); } catch (ClassNotFoundException e) { // In OSS case, the annotation processor does not run. We fall back on creating this byhand @@ -109,10 +109,16 @@ class CoreReactPackage extends TurboReactPackage { return () -> reactModuleInfoMap; } catch (InstantiationException e) { throw new RuntimeException( - "No ReactModuleInfoProvider for CoreModulesPackage$$ReactModuleInfoProvider", e); + "No ReactModuleInfoProvider for " + + CoreReactPackage.class.getName() + + "$$ReactModuleInfoProvider", + e); } catch (IllegalAccessException e) { throw new RuntimeException( - "No ReactModuleInfoProvider for CoreModulesPackage$$ReactModuleInfoProvider", e); + "No ReactModuleInfoProvider for " + + CoreReactPackage.class.getName() + + "$$ReactModuleInfoProvider", + e); } } }