mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Use ReactFeatureFlags to enable mapBuffer in C++
Summary: This diff refactors the way we are populating the 'MapBufferSerializationEnabled' context cointainer key to use ReactFeatureFlags instead of MobileConfig. This is necessary to make sure we always use a consistent value between C++ and Java. e.g. to prevent SEV like S230730 set different values in java and c++ code changelog: [internal] internal Reviewed By: JoshuaGross Differential Revision: D28360679 fbshipit-source-id: baef9d53f84de25c5671483dcd995674bfa61984
This commit is contained in:
committed by
Facebook GitHub Bot
parent
0f4cdc9d29
commit
e3367354cc
@@ -462,6 +462,9 @@ void Binding::installFabricUIManager(
|
||||
jni::alias_ref<jobject> reactNativeConfig) {
|
||||
SystraceSection s("FabricUIManagerBinding::installFabricUIManager");
|
||||
|
||||
static const auto reactFeatureFlagsJavaDescriptor =
|
||||
jni::findClassStatic(Binding::ReactFeatureFlagsJavaDescriptor);
|
||||
|
||||
std::shared_ptr<const ReactNativeConfig> config =
|
||||
std::make_shared<const ReactNativeConfigHolder>(reactNativeConfig);
|
||||
|
||||
@@ -530,10 +533,14 @@ void Binding::installFabricUIManager(
|
||||
// Keep reference to config object and cache some feature flags here
|
||||
reactNativeConfig_ = config;
|
||||
|
||||
static const auto mapBufferSerializationEnabledField =
|
||||
reactFeatureFlagsJavaDescriptor->getStaticField<jboolean>(
|
||||
"mapBufferSerializationEnabled");
|
||||
bool mapBufferSerializationEnabled =
|
||||
reactFeatureFlagsJavaDescriptor->getStaticFieldValue(
|
||||
mapBufferSerializationEnabledField);
|
||||
contextContainer->insert(
|
||||
"MapBufferSerializationEnabled",
|
||||
reactNativeConfig_->getBool(
|
||||
"react_fabric:enable_mapbuffer_serialization_android"));
|
||||
"MapBufferSerializationEnabled", mapBufferSerializationEnabled);
|
||||
|
||||
disablePreallocateViews_ = reactNativeConfig_->getBool(
|
||||
"react_fabric:disabled_view_preallocation_android");
|
||||
|
||||
@@ -76,6 +76,9 @@ class Binding : public jni::HybridClass<Binding>,
|
||||
constexpr static auto UIManagerJavaDescriptor =
|
||||
"com/facebook/react/fabric/FabricUIManager";
|
||||
|
||||
constexpr static auto ReactFeatureFlagsJavaDescriptor =
|
||||
"com/facebook/react/config/ReactFeatureFlags";
|
||||
|
||||
static void registerNatives();
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user