From 034d815cfdf202a969f4d6a5662bcdcaacba587c Mon Sep 17 00:00:00 2001 From: Lulu Wu Date: Wed, 11 Oct 2023 09:56:27 -0700 Subject: [PATCH] Add ExceptionsManagerModule for RNTester (#40767) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/40767 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 fbshipit-source-id: 8642bb23bdae50a1e702f5e0586b0ede80007bb1 # Conflicts: # packages/rn-tester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterApplication.kt --- .../java/com/facebook/react/runtime/CoreReactPackage.java | 5 +++++ .../java/com/facebook/react/uiapp/RNTesterApplication.java | 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 5ed3e4aa8d1129..7ba138cd6b9654 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 @@ -19,6 +19,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.java b/packages/rn-tester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterApplication.java index 8bf2493c5a8945..a1c02a8f005f82 100644 --- a/packages/rn-tester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterApplication.java +++ b/packages/rn-tester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterApplication.java @@ -170,9 +170,6 @@ public void onCreate() { @Override public ReactNativeHost getReactNativeHost() { - if (ReactFeatureFlags.enableBridgelessArchitecture) { - throw new RuntimeException("Should not use ReactNativeHost when Bridgeless enabled"); - } return mReactNativeHost; }