From 1131831bad162c781506d65ba8063a96b725f0d8 Mon Sep 17 00:00:00 2001 From: Lulu Wu Date: Wed, 11 Oct 2023 05:31:32 -0700 Subject: [PATCH] Add ExceptionsManagerModule for RNTester Summary: Fix the following issue: ```Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'ExceptionsManager' could not be found. Verify that a module by this name is registered in the native binary.Bridgeless mode: true. TurboModule interop: true. Modules loaded: {"NativeModules":[],"TurboModules": ["PlatformConstants","AppState","SourceCode","BlobModule","WebSocketModule","DevSettings","DevToolsSettingsManager","LogBox","Networking","Appearance","DevLoadingView","DeviceInfo","DeviceEventManager", "SoundManager","ImageLoader","DialogManagerAndroid","NativeAnimatedModule","I18nManager","AccessibilityInfo","StatusBarManager","StatusBarManager","IntentAndroid","ToastAndroid","ShareModule","Vibration"], "NotFound":["NativePerformanceCxx","NativePerformanceObserverCxx","RedBox","BugReporting","HeadlessJsTaskSupport","FrameRateLogger","KeyboardObserver", "AccessibilityManager","ModalManager","LinkingManager","ActionSheetManager","ExceptionsManager"]} ``` Changelog: [Android][Changed] - Add Add ExceptionsManagerModule to CoreReactPackage Reviewed By: cortinico Differential Revision: D50017783 --- .../java/com/facebook/react/runtime/CoreReactPackage.java | 5 +++++ .../java/com/facebook/react/uiapp/RNTesterApplication.kt | 3 --- 2 files changed, 5 insertions(+), 3 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 a24f1f9e47264f..fd46316f6341d5 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 @@ -20,6 +20,7 @@ import com.facebook.react.module.model.ReactModuleInfoProvider; import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler; import com.facebook.react.modules.core.DeviceEventManagerModule; +import com.facebook.react.modules.core.ExceptionsManagerModule; import com.facebook.react.modules.debug.DevSettingsModule; import com.facebook.react.modules.debug.SourceCodeModule; import com.facebook.react.modules.deviceinfo.DeviceInfoModule; @@ -36,6 +37,7 @@ SourceCodeModule.class, LogBoxModule.class, DeviceEventManagerModule.class, + ExceptionsManagerModule.class, }) class CoreReactPackage extends TurboReactPackage { @@ -63,6 +65,8 @@ public NativeModule getModule(String name, ReactApplicationContext reactContext) return new DeviceEventManagerModule(reactContext, mHardwareBackBtnHandler); case LogBoxModule.NAME: return new LogBoxModule(reactContext, mDevSupportManager); + case ExceptionsManagerModule.NAME: + return new ExceptionsManagerModule(mDevSupportManager); default: throw new IllegalArgumentException( "In BridgelessReactPackage, could not find Native module for " + name); @@ -85,6 +89,7 @@ public ReactModuleInfoProvider getReactModuleInfoProvider() { DevSettingsModule.class, DeviceEventManagerModule.class, LogBoxModule.class, + ExceptionsManagerModule.class, }; final Map reactModuleInfoMap = new HashMap<>(); for (Class moduleClass : moduleList) { diff --git a/packages/rn-tester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterApplication.kt b/packages/rn-tester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterApplication.kt index b427b7272d5f5f..92d4d49ee2380a 100644 --- a/packages/rn-tester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterApplication.kt +++ b/packages/rn-tester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterApplication.kt @@ -39,9 +39,6 @@ import com.facebook.soloader.SoLoader class RNTesterApplication : Application(), ReactApplication { override val reactNativeHost: ReactNativeHost by lazy { - if (ReactFeatureFlags.enableBridgelessArchitecture) { - throw RuntimeException("Should not use ReactNativeHost when Bridgeless enabled") - } object : DefaultReactNativeHost(this) { public override fun getJSMainModuleName(): String = BuildConfig.JS_MAIN_MODULE_NAME