From 7a16106b2d485b5fc97e50d17fdbe073487e9f64 Mon Sep 17 00:00:00 2001 From: Pieter De Baets Date: Wed, 25 May 2022 07:47:07 -0700 Subject: [PATCH] Simplify mapBufferSerializationEnabled feature flag Summary: There's no need for this to be a setter/getter, as there are no side-effects, and it means we can use the same helper method to read it as other feature flags. Changelog: [Internal] Reviewed By: cortinico Differential Revision: D36595602 fbshipit-source-id: d27c01bd39d03606a6f8c17ba181a8cd0bf58dbb --- .../react/config/ReactFeatureFlags.java | 10 +-------- .../react/fabric/FabricJSIModuleProvider.java | 2 +- .../com/facebook/react/fabric/jni/Binding.cpp | 21 +++++++------------ .../com/facebook/react/fabric/jni/Binding.h | 3 --- .../views/text/ReactTextViewManager.java | 2 +- 5 files changed, 10 insertions(+), 28 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java b/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java index b960aaed3fa..6816b08ebe2 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +++ b/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java @@ -74,16 +74,8 @@ public class ReactFeatureFlags { /** Feature flag to configure synchronized queue access for Animated module */ public static boolean enableSynchronizationForAnimated = false; - private static boolean mapBufferSerializationEnabled = false; - /** Enables or disables MapBuffer Serialization */ - public static void setMapBufferSerializationEnabled(boolean enabled) { - mapBufferSerializationEnabled = enabled; - } - - public static boolean isMapBufferSerializationEnabled() { - return mapBufferSerializationEnabled; - } + public static boolean mapBufferSerializationEnabled = false; /** Feature Flag to use overflowInset values provided by Yoga */ public static boolean useOverflowInset = false; diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java index b381aec1667..bbb76d993b2 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java @@ -45,7 +45,7 @@ public class FabricJSIModuleProvider implements JSIModuleProvider { Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "FabricJSIModuleProvider.registerBinding"); final Binding binding = new Binding(); - if (ReactFeatureFlags.isMapBufferSerializationEnabled()) { + if (ReactFeatureFlags.mapBufferSerializationEnabled) { MapBufferSoLoader.staticInit(); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp b/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp index 2bf1708a9e1..9957bfebdb9 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp @@ -78,25 +78,17 @@ Binding::getInspectorDataForInstance( return ReadableNativeMap::newObjectCxxArgs(result); } -bool getFeatureFlagValue(const char *name) { +constexpr static auto ReactFeatureFlagsJavaDescriptor = + "com/facebook/react/config/ReactFeatureFlags"; + +static bool getFeatureFlagValue(const char *name) { static const auto reactFeatureFlagsJavaDescriptor = - jni::findClassStatic(Binding::ReactFeatureFlagsJavaDescriptor); + jni::findClassStatic(ReactFeatureFlagsJavaDescriptor); const auto field = reactFeatureFlagsJavaDescriptor->getStaticField(name); return reactFeatureFlagsJavaDescriptor->getStaticFieldValue(field); } -bool isMapBufferSerializationEnabled() { - static const auto reactFeatureFlagsJavaDescriptor = - jni::findClassStatic(Binding::ReactFeatureFlagsJavaDescriptor); - static const auto isMapBufferSerializationEnabledMethod = - reactFeatureFlagsJavaDescriptor->getStaticMethod( - "isMapBufferSerializationEnabled"); - bool value = - isMapBufferSerializationEnabledMethod(reactFeatureFlagsJavaDescriptor); - return value; -} - void Binding::setPixelDensity(float pointScaleFactor) { pointScaleFactor_ = pointScaleFactor; } @@ -436,7 +428,8 @@ void Binding::installFabricUIManager( reactNativeConfig_ = config; contextContainer->insert( - "MapBufferSerializationEnabled", isMapBufferSerializationEnabled()); + "MapBufferSerializationEnabled", + getFeatureFlagValue("mapBufferSerializationEnabled")); disablePreallocateViews_ = reactNativeConfig_->getBool( "react_fabric:disabled_view_preallocation_android"); diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h b/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h index 38a392e929b..ddfe7a5018b 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h @@ -38,9 +38,6 @@ class Binding : public jni::HybridClass, constexpr static const char *const kJavaDescriptor = "Lcom/facebook/react/fabric/Binding;"; - constexpr static auto ReactFeatureFlagsJavaDescriptor = - "com/facebook/react/config/ReactFeatureFlags"; - static void registerNatives(); std::shared_ptr getScheduler(); diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java index c2a8b61428b..d70e13548bc 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java @@ -107,7 +107,7 @@ public class ReactTextViewManager @Override public Object updateState( ReactTextView view, ReactStylesDiffMap props, StateWrapper stateWrapper) { - if (ReactFeatureFlags.isMapBufferSerializationEnabled()) { + if (ReactFeatureFlags.mapBufferSerializationEnabled) { MapBuffer stateMapBuffer = stateWrapper.getStateDataMapBuffer(); if (stateMapBuffer != null) { return getReactTextUpdate(view, props, stateMapBuffer);