From 691bd0f9fb9e51275e5c705c5f9318bc3cbdd3e5 Mon Sep 17 00:00:00 2001 From: Phillip Pan Date: Thu, 14 Sep 2023 17:34:19 -0700 Subject: [PATCH] remove rarely used bridge module optimization (#39457) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/39457 ## Changelog [Android][General] - hasConstants in ReactModuleInfo does nothing now we can get rid of this. currently, the default value of hasConstants true, and the only library setting this value to false is `WebSocketModule`. this value is only read in bridge mode - it is an optimization that will not initialize the constants dictionary for native modules in bridge. however, we have plenty of native modules that don't provide constants that have not set this flag, so this is only turned on for `WebSocketModule`, which is probably not moving anything significant. i would recommend we get rid of this to simplify the ReactModuleInfo deprecation plan. Reviewed By: cortinico Differential Revision: D49210251 fbshipit-source-id: c82c997e01cd8012b2c1a5c3c36061f81799eb04 --- .../java/com/facebook/react/bridge/JavaModuleWrapper.java | 4 ---- .../src/main/java/com/facebook/react/bridge/ModuleHolder.java | 4 ---- 2 files changed, 8 deletions(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java index 4f0533165ff..a931d834af0 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java @@ -115,10 +115,6 @@ class JavaModuleWrapper { @DoNotStrip public @Nullable NativeMap getConstants() { - if (!mModuleHolder.getHasConstants()) { - return null; - } - final String moduleName = getName(); SystraceMessage.beginSection(TRACE_TAG_REACT_JAVA_BRIDGE, "JavaModuleWrapper.getConstants") .arg("moduleName", moduleName) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java index 2c8346471a2..9837f1fe010 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java @@ -120,10 +120,6 @@ public class ModuleHolder { return mReactModuleInfo.canOverrideExistingModule(); } - public boolean getHasConstants() { - return mReactModuleInfo.hasConstants(); - } - public boolean isTurboModule() { return mReactModuleInfo.isTurboModule(); }