From 50999b1cf2642c8ac6871fb39d1a3f49c70d3948 Mon Sep 17 00:00:00 2001 From: Ramanpreet Nara Date: Fri, 13 Dec 2019 12:13:56 -0800 Subject: [PATCH] Stop hard-coding ReactModuleInfo constructor args Summary: We're going to migrate our NativeModules to the TurboModule system soon. Therefore, it's no longer safe to assume that all NativeModules are not TurboModules. Also, it's not a good idea to hard-code this stuff if we can calculate the correct values on the fly. Changelog: [Internal] Reviewed By: PeteTheHeat Differential Revision: D18980859 fbshipit-source-id: 399a75a72d7f57998b217502ff79d7d911cc5a1c --- .../src/main/java/com/facebook/react/CoreModulesPackage.java | 3 ++- ReactAndroid/src/main/java/com/facebook/react/shell/BUCK | 1 + .../main/java/com/facebook/react/shell/MainReactPackage.java | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java b/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java index a17763207b5..43ef61b0935 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +++ b/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java @@ -30,6 +30,7 @@ import com.facebook.react.modules.debug.DevSettingsModule; import com.facebook.react.modules.debug.SourceCodeModule; import com.facebook.react.modules.deviceinfo.DeviceInfoModule; import com.facebook.react.modules.systeminfo.AndroidInfoModule; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; import com.facebook.react.uimanager.UIImplementationProvider; import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.ViewManager; @@ -116,7 +117,7 @@ import java.util.Map; reactModule.needsEagerInit(), reactModule.hasConstants(), reactModule.isCxxModule(), - false)); + TurboModule.class.isAssignableFrom(moduleClass))); } return new ReactModuleInfoProvider() { diff --git a/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK b/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK index 5acd40190d5..bb25d9d7760 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +++ b/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK @@ -49,6 +49,7 @@ rn_android_library( react_native_target("java/com/facebook/react/modules/toast:toast"), react_native_target("java/com/facebook/react/modules/vibration:vibration"), react_native_target("java/com/facebook/react/modules/websocket:websocket"), + react_native_target("java/com/facebook/react/turbomodule/core/interfaces:interfaces"), react_native_target("java/com/facebook/react/uimanager:uimanager"), react_native_target("java/com/facebook/react/views/art:art"), react_native_target("java/com/facebook/react/views/checkbox:checkbox"), diff --git a/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java b/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java index cbf88a7f9f9..3d881c009b3 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +++ b/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java @@ -41,6 +41,7 @@ import com.facebook.react.modules.timepicker.TimePickerDialogModule; import com.facebook.react.modules.toast.ToastModule; import com.facebook.react.modules.vibration.VibrationModule; import com.facebook.react.modules.websocket.WebSocketModule; +import com.facebook.react.turbomodule.core.interfaces.TurboModule; import com.facebook.react.uimanager.ViewManager; import com.facebook.react.views.art.ARTRenderableViewManager; import com.facebook.react.views.art.ARTSurfaceViewManager; @@ -255,7 +256,7 @@ public class MainReactPackage extends TurboReactPackage { reactModule.needsEagerInit(), reactModule.hasConstants(), reactModule.isCxxModule(), - false)); + TurboModule.class.isAssignableFrom(moduleClass))); } return new ReactModuleInfoProvider() {