Files
react-native/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h
T
Peter Abbondanzo bac5f1ff3a Add feature flag to enable vector drawable support (#45394)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45394

Changelog: [Internal]

The current `Image` implementation does not support loading [vector drawables](https://developer.android.com/develop/ui/views/graphics/vector-drawable-resources) on Android, and support has been requested many times ([issue](https://github.com/facebook/react-native/issues/16651), [issue](https://github.com/facebook/react-native/issues/27502)). I am proposing to put support behind this feature flag in order to validate against performance regressions. Adding support will require reading files from disk to determine if the resource is actually an XML file.

Reviewed By: cortinico

Differential Revision: D59647903

fbshipit-source-id: 2445d71b6769266abe4c2dda521cc2be89bf4064
2024-07-12 07:34:01 -07:00

60 lines
2.3 KiB
C++

/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @generated SignedSource<<2c5dfb357e1b7a1b27e0ff8a023fc54f>>
*/
/**
* IMPORTANT: Do NOT modify this file directly.
*
* To change the definition of the flags, edit
* packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js.
*
* To regenerate this code, run the following script from the repo root:
* yarn featureflags-update
*/
#pragma once
namespace facebook::react {
class ReactNativeFeatureFlagsProvider {
public:
virtual ~ReactNativeFeatureFlagsProvider() = default;
virtual bool commonTestFlag() = 0;
virtual bool allowCollapsableChildren() = 0;
virtual bool allowRecursiveCommitsWithSynchronousMountOnAndroid() = 0;
virtual bool batchRenderingUpdatesInEventLoop() = 0;
virtual bool destroyFabricSurfacesInReactInstanceManager() = 0;
virtual bool enableAlignItemsBaselineOnFabricIOS() = 0;
virtual bool enableCleanTextInputYogaNode() = 0;
virtual bool enableGranularShadowTreeStateReconciliation() = 0;
virtual bool enableMicrotasks() = 0;
virtual bool enableSynchronousStateUpdates() = 0;
virtual bool enableUIConsistency() = 0;
virtual bool fetchImagesInViewPreallocation() = 0;
virtual bool fixIncorrectScrollViewStateUpdateOnAndroid() = 0;
virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() = 0;
virtual bool fixMissedFabricStateUpdatesOnAndroid() = 0;
virtual bool forceBatchingMountItemsOnAndroid() = 0;
virtual bool fuseboxEnabledDebug() = 0;
virtual bool fuseboxEnabledRelease() = 0;
virtual bool initEagerTurboModulesOnNativeModulesQueueAndroid() = 0;
virtual bool lazyAnimationCallbacks() = 0;
virtual bool loadVectorDrawablesOnImages() = 0;
virtual bool setAndroidLayoutDirection() = 0;
virtual bool useImmediateExecutorInAndroidBridgeless() = 0;
virtual bool useModernRuntimeScheduler() = 0;
virtual bool useNativeViewConfigsInBridgelessMode() = 0;
virtual bool useNewReactImageViewBackgroundDrawing() = 0;
virtual bool useRuntimeShadowNodeReferenceUpdate() = 0;
virtual bool useRuntimeShadowNodeReferenceUpdateOnLayout() = 0;
virtual bool useStateAlignmentMechanism() = 0;
};
} // namespace facebook::react