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
This commit is contained in:
Pieter De Baets
2022-05-25 07:47:07 -07:00
committed by Facebook GitHub Bot
parent 5ae53cc051
commit 7a16106b2d
5 changed files with 10 additions and 28 deletions
@@ -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;
@@ -45,7 +45,7 @@ public class FabricJSIModuleProvider implements JSIModuleProvider<UIManager> {
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "FabricJSIModuleProvider.registerBinding");
final Binding binding = new Binding();
if (ReactFeatureFlags.isMapBufferSerializationEnabled()) {
if (ReactFeatureFlags.mapBufferSerializationEnabled) {
MapBufferSoLoader.staticInit();
}
@@ -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<jboolean>(name);
return reactFeatureFlagsJavaDescriptor->getStaticFieldValue(field);
}
bool isMapBufferSerializationEnabled() {
static const auto reactFeatureFlagsJavaDescriptor =
jni::findClassStatic(Binding::ReactFeatureFlagsJavaDescriptor);
static const auto isMapBufferSerializationEnabledMethod =
reactFeatureFlagsJavaDescriptor->getStaticMethod<jboolean()>(
"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");
@@ -38,9 +38,6 @@ class Binding : public jni::HybridClass<Binding>,
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<Scheduler> getScheduler();
@@ -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);