Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39106
## Changelog:
[Internal] -
`ReactNativeFeatureFlags` are not guaranteed to be initialized before everything else, and one case popped up with this being a problem, in particular when creating `GlobalPerformanceLogger` instance (which may be created quite early on).
If the order of initialization of `ReactNativeFeatureFlags` and reading a value from there is flipped, then we'd just get a default value, without using any `MobileConfig` backing or anything.
This diff works this around for the particular case of `GlobalPerformanceLogger` initialization by making the corresponding flag tri-state (unititalized/true/false) and making sure that its value is only really taken into account after its initialized.
Reviewed By: ryancat
Differential Revision: D48559981
fbshipit-source-id: 7fa842d3b845866e15f89731c7e5c9036b83fb24
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38968
A previous change introduced a bug where elevation was no longer being parsed on Android, which caused views that were previously flattened to no longer get flattened. This is a hotfix that could be pushed to affected builds without native code changes, but will not restore the shadow UX.
## Changelog:
[General] [Internal] - Internal
Reviewed By: bvanderhoof
Differential Revision: D48271545
fbshipit-source-id: ebbecd8073a074525ff7b95a6298612d0bb304c6
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37730
This diff makes unschematized native components available in bridgeless mode. In case there is no static view config, `BridgelessUIManager` calls `RN$LegacyInterop_UIManager_getConstants`, and gets native view config form the constants.
Changelog: [Internal] - Use RN$LegacyInterop_UIManager_getConstants in BridgelessUIManager
Reviewed By: sammy-SC
Differential Revision: D45154396
fbshipit-source-id: 32b3718841b59a8b6fb22022c9d9edc17dad877f
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/36935
With the addition of AnimatedObject, animating prop values with arbitrary map/array nestings are possible (including transform matrix).
Note: this is only enabled when ReactNativeFeatureFlags.useAnimatedObjectForTransform is true.
Changelog:
[General][Added] - Enable animating skew in transforms with native driver
Reviewed By: mdvacca
Differential Revision: D45055381
fbshipit-source-id: 1b9224c0603ca7e89cd6f220d38a4579a4722e02
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/36934
Embarrassingly, the check for ReactNativeFeatureFlags.isAnimatedObjectEnabled wasn't actually useful since it's a function...it's been working as expected, so remove this gating since it's not doing anything.
Changelog:
[Internal] - Remove gating for AnimatedObject
Reviewed By: mdvacca
Differential Revision: D45055855
fbshipit-source-id: c30b3c04efc0e919059dbcb75a5adfea90610b85
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/36798
AnimatedObject is a more generic version of AnimatedTransform, able to handle animated values within arrays and objects. This is useful for props of native components that may need to be animated per field.
This diff hooks up AnimatedObject to AnimatedProps and AnimatedStyle for values that are arrays or objects.
Changelog:
[Internal][Added] - Modify AnimatedProps and AnimatedStyle to use AnimatedObject
Reviewed By: rshest
Differential Revision: D44637985
fbshipit-source-id: c70b9d40e40d0782c2c1a332f1f22358fe0abe64