react-native-tvos 0.85.3-0 → 0.86.0-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Libraries/Animated/AnimatedImplementation.js +6 -6
- package/Libraries/Animated/NativeAnimatedAllowlist.js +21 -0
- package/Libraries/Animated/components/AnimatedImage.js +3 -3
- package/Libraries/Animated/components/AnimatedText.js +3 -3
- package/Libraries/Animated/createAnimatedComponent.js +7 -7
- package/Libraries/Animated/nodes/AnimatedAddition.js +1 -1
- package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +1 -1
- package/Libraries/Animated/nodes/AnimatedDivision.js +1 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +22 -24
- package/Libraries/Animated/nodes/AnimatedModulo.js +1 -1
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +1 -1
- package/Libraries/Animated/nodes/AnimatedStyle.js +2 -2
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +1 -1
- package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValue.js +2 -2
- package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +4 -0
- package/Libraries/AppDelegate/RCTRootViewFactory.h +5 -5
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -2
- package/Libraries/AppState/AppState.js +1 -1
- package/Libraries/BatchedBridge/NativeModules.js +1 -1
- package/Libraries/Blob/RCTBlobCollector.h +1 -1
- package/Libraries/Blob/RCTBlobCollector.mm +14 -26
- package/Libraries/Blob/RCTBlobManager.mm +11 -3
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +29 -23
- package/Libraries/Components/Keyboard/Keyboard.js +4 -2
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -27
- package/Libraries/Components/Pressable/Pressable.d.ts +1 -0
- package/Libraries/Components/Pressable/Pressable.js +2 -2
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +7 -8
- package/Libraries/Components/ScrollView/ScrollView.d.ts +1 -1
- package/Libraries/Components/ScrollView/ScrollView.js +4 -4
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +2 -2
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +2 -2
- package/Libraries/Components/Switch/Switch.js +1 -1
- package/Libraries/Components/TV/TVViewPropTypes.js +9 -0
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +25 -1
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +2 -2
- package/Libraries/Components/TextInput/TextInput.d.ts +24 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +24 -0
- package/Libraries/Components/TextInput/TextInput.js +5 -5
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +5 -5
- package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +5 -5
- package/Libraries/Components/Touchable/PooledClass.js +4 -4
- package/Libraries/Components/Touchable/Touchable.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -10
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +10 -2
- package/Libraries/Components/View/View.js +100 -91
- package/Libraries/Components/View/ViewPropTypes.js +3 -1
- package/Libraries/Core/Devtools/loadBundleFromServer.js +8 -0
- package/Libraries/Core/ExceptionsManager.js +2 -8
- package/Libraries/Core/InitializeCore.js +0 -13
- package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/ReactNativeVersionCheck.js +1 -1
- package/Libraries/Core/Timers/JSTimers.js +2 -2
- package/Libraries/Core/Timers/immediateShim.js +1 -1
- package/Libraries/Core/setUpBatchedBridge.js +1 -1
- package/Libraries/Core/setUpSegmentFetcher.js +1 -1
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
- package/Libraries/EventEmitter/NativeEventEmitter.js +9 -5
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -2
- package/Libraries/Image/Image.android.js +15 -35
- package/Libraries/Image/RCTImageLoader.mm +4 -2
- package/Libraries/Image/RelativeImageStub.js +2 -2
- package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -12
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Lists/FlatList.js +1 -1
- package/Libraries/LogBox/LogBox.js +2 -2
- package/Libraries/LogBox/LogBoxInspectorContainer.js +24 -2
- package/Libraries/LogBox/LogBoxNotificationContainer.js +27 -4
- package/Libraries/LogBox/UI/LogBoxButton.js +47 -33
- package/Libraries/LogBox/UI/LogBoxInspector.js +61 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +6 -0
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +3 -1
- package/Libraries/LogBox/UI/LogBoxNotification.js +2 -0
- package/Libraries/Modal/Modal.js +12 -7
- package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +0 -2
- package/Libraries/NativeComponent/BaseViewConfig.android.js +15 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +17 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +2 -2
- package/Libraries/NativeComponent/TVViewConfig.js +1 -0
- package/Libraries/NativeComponent/ViewConfigIgnore.js +4 -2
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js.flow +1 -1
- package/Libraries/Network/RCTNetworking.mm +1 -2
- package/Libraries/Network/XMLHttpRequest.js +29 -12
- package/Libraries/Pressability/Pressability.js +2 -2
- package/Libraries/ReactNative/AppContainer-dev.js +2 -3
- package/Libraries/ReactNative/AppContainer-prod.js +1 -2
- package/Libraries/ReactNative/AppContainer.js +0 -1
- package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
- package/Libraries/ReactNative/AppRegistry.flow.js +1 -2
- package/Libraries/ReactNative/AppRegistryImpl.js +16 -16
- package/Libraries/ReactNative/DeprecatedPerformanceLoggerStub.js +83 -0
- package/Libraries/ReactNative/FabricUIManager.js +6 -0
- package/Libraries/{Utilities → ReactNative}/IPerformanceLogger.d.ts +8 -5
- package/Libraries/{Utilities/IPerformanceLogger.js → ReactNative/IPerformanceLogger.flow.js} +12 -9
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +14 -14
- package/Libraries/ReactNative/RendererImplementation.js +26 -143
- package/Libraries/ReactNative/RendererProxy.js +4 -15
- package/Libraries/ReactNative/renderApplication.js +33 -59
- package/Libraries/ReactNative/requireNativeComponent.js +3 -3
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +5 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -32
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +3 -3
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js.flow +2 -2
- package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +6 -8
- package/Libraries/StyleSheet/StyleSheetTypes.js +11 -11
- package/Libraries/StyleSheet/flattenStyle.js +1 -1
- package/Libraries/StyleSheet/private/_TransformStyle.js +1 -1
- package/Libraries/StyleSheet/processBackgroundImage.js +19 -9
- package/Libraries/StyleSheet/processBackgroundSize.js +7 -12
- package/Libraries/StyleSheet/processBoxShadow.js +9 -47
- package/Libraries/StyleSheet/processFilter.js +16 -8
- package/Libraries/StyleSheet/processTransformOrigin.js +10 -3
- package/Libraries/Text/Text.js +4 -4
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +16 -2
- package/Libraries/Text/TextNativeComponent.js +4 -4
- package/Libraries/TurboModule/RCTExport.js +1 -1
- package/Libraries/TurboModule/TurboModuleRegistry.js +3 -3
- package/Libraries/Types/CodegenTypes.js +7 -4
- package/Libraries/Types/ReactDevToolsTypes.js +1 -1
- package/Libraries/Utilities/BackHandler.android.js +11 -3
- package/Libraries/Utilities/BackHandler.d.ts +11 -1
- package/Libraries/Utilities/BackHandler.ios.js +3 -1
- package/Libraries/Utilities/BackHandler.js.flow +6 -1
- package/Libraries/Utilities/HardwareBackPressEvent.js +22 -0
- package/Libraries/Utilities/ReactNativeTestTools.js +4 -4
- package/Libraries/Utilities/binaryToBase64.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +2 -2
- package/Libraries/Utilities/codegenNativeComponent.js +4 -4
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -2
- package/Libraries/Utilities/stringifySafe.js +1 -1
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/Libraries/vendor/core/ErrorUtils.js +4 -4
- package/Libraries/vendor/emitter/EventEmitter.js +27 -13
- package/README.md +13 -1
- package/React/Base/RCTBundleURLProvider.h +19 -1
- package/React/Base/RCTBundleURLProvider.mm +82 -0
- package/React/Base/RCTDefines.h +1 -1
- package/React/Base/RCTMultipartDataTask.h +1 -1
- package/React/Base/RCTMultipartDataTask.m +0 -3
- package/React/Base/RCTRootView.h +4 -0
- package/React/Base/RCTRootViewDelegate.h +5 -2
- package/React/Base/RCTVersion.m +2 -2
- package/React/Base/Surface/RCTSurface.h +3 -0
- package/React/Base/Surface/RCTSurfaceDelegate.h +7 -3
- package/React/Base/Surface/RCTSurfaceRootView.mm +1 -1
- package/React/Base/Surface/RCTSurfaceView.mm +2 -1
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +2 -0
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +0 -3
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -1
- package/React/CoreModules/RCTDevMenuConfigurationDecorator.h +2 -2
- package/React/CoreModules/RCTRedBox2AnsiParser.mm +1 -1
- package/React/CoreModules/RCTWebSocketModule.mm +45 -6
- package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -1
- package/React/DevSupport/RCTInspectorDevServerHelper.mm +4 -0
- package/React/DevSupport/RCTPackagerConnection.mm +13 -11
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +108 -43
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -0
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +35 -15
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +2 -2
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +70 -8
- package/React/Fabric/RCTConversions.h +14 -0
- package/React/Fabric/RCTScheduler.mm +18 -0
- package/React/Fabric/RCTSurfacePointerHandler.mm +8 -2
- package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -0
- package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
- package/React/I18n/strings/pt.lproj/fbt_language_pack.bin +0 -0
- package/React/Modules/RCTUIManager.mm +1 -1
- package/React/Profiler/RCTProfile.h +5 -0
- package/React/Profiler/RCTProfile.m +2 -1
- package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
- package/React/Profiler/RCTProfileTrampoline-arm64.S +1 -1
- package/React/Profiler/RCTProfileTrampoline-i386.S +1 -1
- package/React/Profiler/RCTProfileTrampoline-x86_64.S +1 -1
- package/React/Tests/Mounting/RCTViewComponentViewTests.mm +186 -0
- package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +5 -5
- package/React/Views/RCTLayout.m +4 -3
- package/React/Views/ScrollView/RCTScrollView.h +6 -2
- package/ReactAndroid/api/ReactAndroid.api +37 -27
- package/ReactAndroid/build.gradle.kts +28 -21
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +40 -110
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +32 -87
- package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +9 -99
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +7 -28
- package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +2 -19
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +15 -23
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +36 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJNISoLoader.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJniCommonSoLoader.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultSoLoader.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +15 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/DevSupportHttpClient.kt +9 -34
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +9 -10
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +10 -10
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +15 -13
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +139 -43
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/ViewTransitionSnapshotManager.kt +223 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +25 -8
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +34 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +104 -65
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +9 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +172 -36
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/interfaces/ExtraWindowEventListener.kt +29 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +41 -29
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +71 -51
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +15 -11
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +16 -12
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +79 -57
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +15 -11
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +5 -9
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/rewrite_feature_flag_defaults.py +76 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/tests/test_rewrite_feature_flag_defaults.py +63 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/tracing/PerformanceTracer.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +10 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +21 -20
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +63 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +59 -62
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +45 -36
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +18 -5
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +8 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +21 -19
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +77 -72
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +7 -16
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.kt +17 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +20 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +18 -24
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +11 -71
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +10 -17
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +29 -30
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundImageDrawable.kt +5 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +12 -13
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +30 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/SynchronousEventReceiver.kt +28 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +9 -9
- package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +27 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +1 -14
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +1 -22
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +32 -24
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +20 -21
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +33 -24
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +60 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +5 -162
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +71 -97
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/DrawCommandSpan.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +7 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +40 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +59 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +85 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +46 -65
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +85 -13
- package/ReactAndroid/src/main/java/com/facebook/soloader/annotation/SoLoaderLibrary.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +5 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.kt +30 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.java +39 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +20 -12
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +101 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.kt +33 -0
- package/ReactAndroid/src/main/jni/CMakeLists.txt +10 -1
- package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.cpp +0 -1
- package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +0 -2
- package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +26 -6
- package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h +3 -3
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +47 -0
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +20 -6
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +24 -1
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +6 -0
- package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +0 -1
- package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +1 -0
- package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.cpp +85 -0
- package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.h +46 -0
- package/ReactAndroid/src/main/jni/react/fabric/test_helper/OnLoad.cpp +16 -0
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +97 -69
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +21 -15
- package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +0 -2
- package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +2 -1
- package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp +37 -30
- package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +11 -8
- package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +2 -1
- package/ReactAndroid/src/main/jni/react/reactnativeblob/OnLoad.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +10 -0
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +7 -0
- package/ReactAndroid/src/main/jni/react/tracing/CMakeLists.txt +28 -0
- package/ReactCommon/React-Fabric.podspec +7 -0
- package/ReactCommon/React-FabricComponents.podspec +1 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
- package/ReactCommon/jsc/JSCRuntime.cpp +9 -0
- package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +1 -0
- package/ReactCommon/jserrorhandler/JsErrorHandler.h +1 -1
- package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -0
- package/ReactCommon/jsi/jsi/decorator.h +93 -0
- package/ReactCommon/jsi/jsi/jsi-inl.h +97 -68
- package/ReactCommon/jsi/jsi/jsi.cpp +208 -27
- package/ReactCommon/jsi/jsi/jsi.h +553 -224
- package/ReactCommon/jsi/jsi/test/testlib.cpp +453 -0
- package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +1 -1
- package/ReactCommon/jsinspector-modern/EmulationAgent.cpp +108 -0
- package/ReactCommon/jsinspector-modern/EmulationAgent.h +47 -0
- package/ReactCommon/jsinspector-modern/HostAgent.cpp +10 -1
- package/ReactCommon/jsinspector-modern/HostTarget.h +25 -0
- package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +6 -2
- package/ReactCommon/jsinspector-modern/InspectorFlags.h +5 -2
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +19 -2
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +3 -0
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +10 -0
- package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +0 -1
- package/ReactCommon/logger/react_native_log.cpp +0 -1
- package/ReactCommon/react/bridging/Array.h +1 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +29 -21
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +35 -25
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +168 -132
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +18 -14
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +28 -20
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +61 -43
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +3 -3
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +9 -7
- package/ReactCommon/react/featureflags/rewrite_feature_flag_defaults.py +111 -0
- package/ReactCommon/react/featureflags/tests/test_rewrite_feature_flag_defaults.py +60 -0
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +3 -9
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +0 -1
- package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
- package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +7 -0
- package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -0
- package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +2 -2
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +35 -25
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +15 -11
- package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +3 -2
- package/ReactCommon/react/nativemodule/viewtransition/CMakeLists.txt +24 -0
- package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.cpp +92 -0
- package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.h +37 -0
- package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +58 -0
- package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +10 -1
- package/ReactCommon/react/networking/NetworkReporter.h +0 -1
- package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.h +0 -1
- package/ReactCommon/react/performance/timeline/PerformanceEntry.h +1 -1
- package/ReactCommon/react/performance/timeline/tests/PerformanceEntryTest.cpp +62 -0
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +24 -12
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +1 -1
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +3 -0
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +10 -3
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +1 -0
- package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +4 -0
- package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +1 -1
- package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +0 -1
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +8 -3
- package/ReactCommon/react/renderer/animations/tests/MutationComparatorTest.cpp +273 -0
- package/ReactCommon/react/renderer/animations/utils.h +12 -1
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +1 -1
- package/ReactCommon/react/renderer/attributedstring/conversions.h +104 -3
- package/ReactCommon/react/renderer/components/image/conversions.h +2 -3
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +0 -1
- package/ReactCommon/react/renderer/components/scrollview/conversions.h +0 -1
- package/ReactCommon/react/renderer/components/text/stateConversions.h +0 -1
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +531 -21
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +9 -0
- package/ReactCommon/react/renderer/components/view/BaseTouch.cpp +3 -2
- package/ReactCommon/react/renderer/components/view/BaseTouch.h +7 -0
- package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +15 -0
- package/ReactCommon/react/renderer/components/view/BaseViewProps.h +1 -0
- package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +2 -0
- package/ReactCommon/react/renderer/components/view/PointerEvent.h +5 -0
- package/ReactCommon/react/renderer/components/view/TouchEvent.h +0 -2
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +23 -5
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +1 -0
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +5 -0
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +33 -28
- package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +0 -1
- package/ReactCommon/react/renderer/components/view/conversions.h +44 -28
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +71 -5
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +1 -0
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/NativeDrawable.h +47 -16
- package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +2 -2
- package/ReactCommon/react/renderer/{graphics/DoubleConversions.h → components/view/platform/tvos/react/renderer/components/view/HostPlatformTouch.h} +2 -4
- package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewEventEmitter.h +14 -0
- package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.cpp +38 -0
- package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.h +29 -0
- package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +30 -0
- package/ReactCommon/react/renderer/components/view/propsConversions.h +8 -2
- package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +86 -0
- package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +34 -0
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +67 -2
- package/ReactCommon/react/renderer/core/EventEmitter.h +25 -0
- package/ReactCommon/react/renderer/core/EventPipe.h +3 -1
- package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +18 -10
- package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -5
- package/ReactCommon/react/renderer/core/LayoutContext.h +9 -2
- package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +5 -3
- package/ReactCommon/react/renderer/core/LayoutPrimitives.h +1 -0
- package/ReactCommon/react/renderer/core/Props.cpp +20 -0
- package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
- package/ReactCommon/react/renderer/core/RawEvent.h +6 -6
- package/ReactCommon/react/renderer/core/ShadowNode.h +2 -2
- package/ReactCommon/react/renderer/core/conversions.h +4 -0
- package/ReactCommon/react/renderer/core/graphicsConversions.h +4 -4
- package/ReactCommon/react/renderer/core/propsConversions.h +1 -1
- package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +52 -3
- package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +26 -0
- package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +1 -1
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +42 -26
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +4 -2
- package/ReactCommon/react/renderer/debug/tests/DebugStringConvertibleTest.cpp +34 -3
- package/ReactCommon/react/renderer/graphics/BlendMode.h +5 -0
- package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -0
- package/ReactCommon/react/renderer/graphics/ColorStop.h +3 -0
- package/ReactCommon/react/renderer/graphics/LinearGradient.h +3 -0
- package/ReactCommon/react/renderer/graphics/RadialGradient.h +4 -0
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
- package/ReactCommon/react/renderer/graphics/ValueUnit.cpp +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +0 -5
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +2 -2
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +0 -4
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +5 -1
- package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +12 -4
- package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -0
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +307 -4
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +27 -2
- package/ReactCommon/react/renderer/mounting/internal/LongestIncreasingSubsequence.h +95 -0
- package/ReactCommon/react/renderer/mounting/tests/DifferentiatorUnflattenTest.cpp +212 -0
- package/ReactCommon/react/renderer/mounting/tests/LongestIncreasingSubsequenceTest.cpp +154 -0
- package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +314 -18
- package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +38 -20
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +20 -22
- package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +76 -3
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +12 -0
- package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +5 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +0 -7
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +2 -1
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +16 -1
- package/ReactCommon/react/renderer/uimanager/UIManager.h +8 -0
- package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +1 -0
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +347 -5
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +5 -3
- package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +5 -0
- package/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h +82 -0
- package/ReactCommon/react/renderer/viewtransition/CMakeLists.txt +22 -0
- package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.cpp +520 -0
- package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.h +161 -0
- package/ReactCommon/react/runtime/TimerManager.cpp +4 -2
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +37 -0
- package/ReactCommon/react/timing/PrivacyInfo.xcprivacy +21 -0
- package/ReactCommon/react/timing/React-timing.podspec +2 -0
- package/ReactCommon/react/timing/primitives.h +33 -1
- package/ReactCommon/yoga/yoga/YGEnums.cpp +32 -0
- package/ReactCommon/yoga/yoga/YGEnums.h +20 -4
- package/ReactCommon/yoga/yoga/YGMacros.h +2 -0
- package/ReactCommon/yoga/yoga/YGNode.h +1 -1
- package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +269 -0
- package/ReactCommon/yoga/yoga/YGNodeStyle.h +93 -1
- package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +40 -9
- package/ReactCommon/yoga/yoga/algorithm/Align.h +12 -1
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +106 -14
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +22 -0
- package/ReactCommon/yoga/yoga/enums/Align.h +3 -1
- package/ReactCommon/yoga/yoga/enums/Display.h +2 -1
- package/ReactCommon/yoga/yoga/enums/ExperimentalFeature.h +2 -1
- package/ReactCommon/yoga/yoga/enums/GridTrackType.h +43 -0
- package/ReactCommon/yoga/yoga/enums/Justify.h +5 -1
- package/ReactCommon/yoga/yoga/event/event.cpp +2 -0
- package/ReactCommon/yoga/yoga/event/event.h +1 -0
- package/ReactCommon/yoga/yoga/node/Node.cpp +6 -1
- package/ReactCommon/yoga/yoga/node/Node.h +4 -4
- package/ReactCommon/yoga/yoga/style/GridLine.h +53 -0
- package/ReactCommon/yoga/yoga/style/GridTrack.h +63 -0
- package/ReactCommon/yoga/yoga/style/Style.h +261 -71
- package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -1
- package/ReactCommon/yoga/yoga/style/StyleValueHandle.h +8 -0
- package/ReactCommon/yoga/yoga/style/StyleValuePool.h +10 -0
- package/cli.js +1 -1
- package/flow/HermesInternalType.js +1 -1
- package/flow/bom.js.flow +95 -3
- package/flow/dom.js.flow +89 -89
- package/gradle/libs.versions.toml +3 -1
- package/index.js +30 -3
- package/index.js.flow +23 -1
- package/package.json +11 -11
- package/react-native.config.js +3 -3
- package/scripts/cocoapods/rncore.rb +65 -11
- package/scripts/cocoapods/rndependencies.rb +65 -11
- package/scripts/cocoapods/utils.rb +52 -0
- package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +1 -1
- package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +13 -4
- package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +1 -1
- package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +1 -1
- package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +17 -6
- package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +1 -1
- package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +1 -1
- package/scripts/codegen/generate-artifacts-executor/index.js +2 -0
- package/scripts/codegen/generate-artifacts-executor/utils.js +1 -1
- package/scripts/codegen/generate-specs-cli-executor.js +1 -1
- package/scripts/generate-codegen-artifacts.js +20 -2
- package/scripts/generate-provider-cli.js +1 -1
- package/scripts/react_native_pods.rb +25 -2
- package/scripts/react_native_pods_utils/script_phases.rb +9 -3
- package/scripts/replace-rncore-version.js +20 -0
- package/scripts/xcode/with-environment.sh +7 -1
- package/sdks/.hermesv1version +1 -1
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/hermes-utils.rb +92 -5
- package/sdks/hermes-engine/version.properties +2 -2
- package/src/private/animated/NativeAnimatedValidation.js +1 -1
- package/src/private/animated/createAnimatedPropsHook.js +2 -2
- package/src/private/components/virtualcollection/FlingConstants.js +21 -0
- package/src/private/components/virtualcollection/Virtual.js +62 -0
- package/src/private/components/virtualcollection/VirtualCollectionView.js +238 -0
- package/src/private/components/virtualcollection/column/VirtualColumn.js +43 -0
- package/src/private/components/virtualcollection/column/VirtualColumnGenerator.js +72 -0
- package/src/private/components/virtualcollection/debug/FlingItemOverlay.js +13 -0
- package/src/private/components/virtualcollection/dom/getScrollParent.js +43 -0
- package/src/private/components/virtualcollection/dom/isScrollableNode.js +22 -0
- package/src/private/components/virtualcollection/row/VirtualRow.js +43 -0
- package/src/private/components/virtualcollection/row/VirtualRowGenerator.js +72 -0
- package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +1 -1
- package/src/private/devsupport/devmenu/specs/NativeDevMenu.js +1 -1
- package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
- package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsSettingsManager.js +2 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +41 -37
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +9 -7
- package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
- package/src/private/renderer/events/LegacySyntheticEvent.js +90 -0
- package/src/private/renderer/events/ReactNativeEventTypeMapping.js +103 -0
- package/src/private/renderer/events/ReactNativeResponder.js +687 -0
- package/src/private/renderer/events/ResponderEvent.js +40 -0
- package/src/private/renderer/events/ResponderTouchHistoryStore.js +258 -0
- package/src/private/renderer/events/dispatchNativeEvent.js +83 -0
- package/src/private/setup/setUpDOM.js +20 -0
- package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAppState.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeTiming.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeVibration.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +2 -2
- package/src/private/styles/composeStyles.js +1 -1
- package/src/private/types/HostComponent.js +1 -1
- package/src/private/utilities/toExtendedError.js +1 -1
- package/src/private/viewtransition/specs/NativeViewTransition.js +33 -0
- package/src/private/webapis/dom/events/Event.js +10 -1
- package/src/private/webapis/dom/events/EventTarget.js +60 -18
- package/src/private/webapis/dom/events/internals/EventInternals.js +18 -1
- package/src/private/webapis/dom/events/internals/EventTargetInternals.js +12 -0
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +24 -0
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +4 -6
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +70 -1
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +10 -0
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +1 -1
- package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +2 -2
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +5 -9
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +2 -2
- package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +2 -2
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +2 -2
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +1 -1
- package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
- package/src/private/webapis/structuredClone/structuredClone.js +1 -1
- package/src/private/webapis/webidl/PlatformObjects.js +4 -4
- package/types/public/ReactNativeTVTypes.d.ts +9 -0
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +0 -19669
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +0 -11129
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +0 -12930
- package/Libraries/Renderer/shims/ReactNative.js +0 -27
- package/Libraries/Utilities/GlobalPerformanceLogger.js +0 -24
- package/Libraries/Utilities/PerformanceLoggerContext.js +0 -33
- package/Libraries/Utilities/createPerformanceLogger.js +0 -329
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +0 -442
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobCollector.kt +0 -31
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerLegacyView.kt +0 -47
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +0 -31
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.java +0 -35
- package/ReactCommon/react/renderer/graphics/DoubleConversions.cpp +0 -38
|
@@ -12,6 +12,7 @@ package com.facebook.react.views.view
|
|
|
12
12
|
import android.annotation.SuppressLint
|
|
13
13
|
import android.annotation.TargetApi
|
|
14
14
|
import android.content.Context
|
|
15
|
+
import android.content.res.Configuration
|
|
15
16
|
import android.graphics.BlendMode
|
|
16
17
|
import android.graphics.Canvas
|
|
17
18
|
import android.graphics.Paint
|
|
@@ -36,6 +37,7 @@ import com.facebook.react.bridge.ReactContext
|
|
|
36
37
|
import com.facebook.react.bridge.ReactNoCrashSoftException
|
|
37
38
|
import com.facebook.react.bridge.ReactSoftExceptionLogger
|
|
38
39
|
import com.facebook.react.bridge.ReactSoftExceptionLogger.logSoftException
|
|
40
|
+
import com.facebook.react.bridge.ReadableMap
|
|
39
41
|
import com.facebook.react.bridge.UiThreadUtil.assertOnUiThread
|
|
40
42
|
import com.facebook.react.bridge.UiThreadUtil.runOnUiThread
|
|
41
43
|
import com.facebook.react.common.ReactConstants.TAG
|
|
@@ -45,6 +47,7 @@ import com.facebook.react.touch.OnInterceptTouchEventListener
|
|
|
45
47
|
import com.facebook.react.touch.ReactHitSlopView
|
|
46
48
|
import com.facebook.react.touch.ReactInterceptingViewGroup
|
|
47
49
|
import com.facebook.react.uimanager.BackgroundStyleApplicator.clipToPaddingBox
|
|
50
|
+
import com.facebook.react.uimanager.BackgroundStyleApplicator.getPaddingBoxRect
|
|
48
51
|
import com.facebook.react.uimanager.BackgroundStyleApplicator.setBackgroundColor
|
|
49
52
|
import com.facebook.react.uimanager.BackgroundStyleApplicator.setBorderColor
|
|
50
53
|
import com.facebook.react.uimanager.BackgroundStyleApplicator.setBorderRadius
|
|
@@ -68,8 +71,6 @@ import com.facebook.react.uimanager.ReactOverflowViewWithInset
|
|
|
68
71
|
import com.facebook.react.uimanager.ReactPointerEventsView
|
|
69
72
|
import com.facebook.react.uimanager.ReactZIndexedViewGroup
|
|
70
73
|
import com.facebook.react.uimanager.UIManagerHelper
|
|
71
|
-
import com.facebook.react.uimanager.common.UIManagerType
|
|
72
|
-
import com.facebook.react.uimanager.common.ViewUtil.getUIManagerType
|
|
73
74
|
import com.facebook.react.uimanager.events.EventDispatcher
|
|
74
75
|
import com.facebook.react.uimanager.events.PressInEvent
|
|
75
76
|
import com.facebook.react.uimanager.events.PressOutEvent
|
|
@@ -174,6 +175,7 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
174
175
|
private var onInterceptTouchEventListener: OnInterceptTouchEventListener? = null
|
|
175
176
|
private var needsOffscreenAlphaCompositing = false
|
|
176
177
|
public var scrollSnapAlign: String? = null
|
|
178
|
+
public var scrollSnapOffset: Int? = null
|
|
177
179
|
private var backfaceOpacity = 0f
|
|
178
180
|
private var backfaceVisible = false
|
|
179
181
|
private var childrenRemovedWhileTransitioning: MutableSet<Int>? = null
|
|
@@ -182,6 +184,9 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
182
184
|
null
|
|
183
185
|
private var focusOnAttach = false
|
|
184
186
|
|
|
187
|
+
internal var nativeBackgroundMap: ReadableMap? = null
|
|
188
|
+
internal var nativeForegroundMap: ReadableMap? = null
|
|
189
|
+
|
|
185
190
|
init {
|
|
186
191
|
initView()
|
|
187
192
|
}
|
|
@@ -193,9 +198,6 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
193
198
|
*/
|
|
194
199
|
private fun initView() {
|
|
195
200
|
clipChildren = false
|
|
196
|
-
if (ReactNativeFeatureFlags.syncAndroidClipToPaddingWithOverflow()) {
|
|
197
|
-
clipToPadding = false
|
|
198
|
-
}
|
|
199
201
|
|
|
200
202
|
_removeClippedSubviews = false
|
|
201
203
|
inSubviewClippingLoop = false
|
|
@@ -212,6 +214,8 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
212
214
|
backfaceOpacity = 1f
|
|
213
215
|
backfaceVisible = true
|
|
214
216
|
childrenRemovedWhileTransitioning = null
|
|
217
|
+
nativeBackgroundMap = null
|
|
218
|
+
nativeForegroundMap = null
|
|
215
219
|
}
|
|
216
220
|
|
|
217
221
|
internal open fun recycleView() {
|
|
@@ -751,6 +755,29 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
751
755
|
}
|
|
752
756
|
}
|
|
753
757
|
|
|
758
|
+
override fun onConfigurationChanged(newConfig: Configuration) {
|
|
759
|
+
super.onConfigurationChanged(newConfig)
|
|
760
|
+
if (nativeBackgroundMap != null) {
|
|
761
|
+
applyNativeBackground(nativeBackgroundMap)
|
|
762
|
+
}
|
|
763
|
+
if (nativeForegroundMap != null) {
|
|
764
|
+
applyNativeForeground(nativeForegroundMap)
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
internal fun applyNativeBackground(map: ReadableMap?) {
|
|
769
|
+
nativeBackgroundMap = map
|
|
770
|
+
setFeedbackUnderlay(
|
|
771
|
+
this,
|
|
772
|
+
map?.let { ReactDrawableHelper.createDrawableFromJSDescription(context, it) },
|
|
773
|
+
)
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
internal fun applyNativeForeground(map: ReadableMap?) {
|
|
777
|
+
nativeForegroundMap = map
|
|
778
|
+
foreground = map?.let { ReactDrawableHelper.createDrawableFromJSDescription(context, it) }
|
|
779
|
+
}
|
|
780
|
+
|
|
754
781
|
override fun onViewAdded(child: View) {
|
|
755
782
|
assertOnUiThread()
|
|
756
783
|
checkViewClippingTag(child, false)
|
|
@@ -994,12 +1021,42 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
994
1021
|
} else {
|
|
995
1022
|
Overflow.fromString(overflow)
|
|
996
1023
|
}
|
|
997
|
-
if (ReactNativeFeatureFlags.syncAndroidClipToPaddingWithOverflow()) {
|
|
998
|
-
clipToPadding = _overflow != Overflow.VISIBLE
|
|
999
|
-
}
|
|
1000
1024
|
invalidate()
|
|
1001
1025
|
}
|
|
1002
1026
|
|
|
1027
|
+
/**
|
|
1028
|
+
* Returns the clip bounds for this view based on the overflow property.
|
|
1029
|
+
*
|
|
1030
|
+
* When overflow is hidden or scroll, returns the padding box rect (the area inside the borders)
|
|
1031
|
+
* so that systems querying [View.getClipBounds] can determine the view's clipping region. Returns
|
|
1032
|
+
* null when overflow is visible (no clipping).
|
|
1033
|
+
*/
|
|
1034
|
+
override fun getClipBounds(): Rect? {
|
|
1035
|
+
if (
|
|
1036
|
+
ReactNativeFeatureFlags.syncAndroidClipBoundsWithOverflow() &&
|
|
1037
|
+
_overflow != null &&
|
|
1038
|
+
_overflow != Overflow.VISIBLE
|
|
1039
|
+
) {
|
|
1040
|
+
val rect = Rect()
|
|
1041
|
+
getPaddingBoxRect(this, rect)
|
|
1042
|
+
return rect
|
|
1043
|
+
}
|
|
1044
|
+
return super.getClipBounds()
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
/** See [getClipBounds]. */
|
|
1048
|
+
override fun getClipBounds(outRect: Rect): Boolean {
|
|
1049
|
+
if (
|
|
1050
|
+
ReactNativeFeatureFlags.syncAndroidClipBoundsWithOverflow() &&
|
|
1051
|
+
_overflow != null &&
|
|
1052
|
+
_overflow != Overflow.VISIBLE
|
|
1053
|
+
) {
|
|
1054
|
+
getPaddingBoxRect(this, outRect)
|
|
1055
|
+
return true
|
|
1056
|
+
}
|
|
1057
|
+
return super.getClipBounds(outRect)
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1003
1060
|
override fun setOverflowInset(left: Int, top: Int, right: Int, bottom: Int) {
|
|
1004
1061
|
if (
|
|
1005
1062
|
needsIsolatedLayer(this) &&
|
|
@@ -1023,11 +1080,7 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
1023
1080
|
}
|
|
1024
1081
|
|
|
1025
1082
|
override fun draw(canvas: Canvas) {
|
|
1026
|
-
if (
|
|
1027
|
-
Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q &&
|
|
1028
|
-
getUIManagerType(this) == UIManagerType.FABRIC &&
|
|
1029
|
-
needsIsolatedLayer(this)
|
|
1030
|
-
) {
|
|
1083
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && needsIsolatedLayer(this)) {
|
|
1031
1084
|
// Check if the view is a stacking context and has children, if it does, do the rendering
|
|
1032
1085
|
// offscreen and then composite back. This follows the idea of group isolation on blending
|
|
1033
1086
|
// https://www.w3.org/TR/compositing-1/#isolationblending
|
|
@@ -1062,11 +1115,7 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
1062
1115
|
}
|
|
1063
1116
|
|
|
1064
1117
|
var mixBlendMode: BlendMode? = null
|
|
1065
|
-
if (
|
|
1066
|
-
Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q &&
|
|
1067
|
-
getUIManagerType(this) == UIManagerType.FABRIC &&
|
|
1068
|
-
needsIsolatedLayer(this)
|
|
1069
|
-
) {
|
|
1118
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && needsIsolatedLayer(this)) {
|
|
1070
1119
|
mixBlendMode = child.getTag(R.id.mix_blend_mode) as? BlendMode
|
|
1071
1120
|
if (mixBlendMode != null) {
|
|
1072
1121
|
val p = Paint()
|
|
@@ -1545,12 +1594,12 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
1545
1594
|
} else if (axOrderParentOrderList != null) {
|
|
1546
1595
|
// view is a container so add its children normally
|
|
1547
1596
|
if (!isFocusable) {
|
|
1548
|
-
|
|
1597
|
+
safeAddChildrenForAccessibility(outChildren)
|
|
1549
1598
|
return
|
|
1550
1599
|
|
|
1551
1600
|
// If this view can coopt, turn the focusability off its children but add them to the tree
|
|
1552
1601
|
} else if (isFocusable && (contentDescription == null || contentDescription == "")) {
|
|
1553
|
-
|
|
1602
|
+
safeAddChildrenForAccessibility(outChildren)
|
|
1554
1603
|
for (i in 0..<childCount) {
|
|
1555
1604
|
ReactAxOrderHelper.disableFocusForSubtree(getChildAt(i), axOrderParentOrderList)
|
|
1556
1605
|
}
|
|
@@ -1560,7 +1609,23 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
1560
1609
|
return
|
|
1561
1610
|
}
|
|
1562
1611
|
} else {
|
|
1612
|
+
safeAddChildrenForAccessibility(outChildren)
|
|
1613
|
+
}
|
|
1614
|
+
}
|
|
1615
|
+
|
|
1616
|
+
private fun safeAddChildrenForAccessibility(outChildren: ArrayList<View>) {
|
|
1617
|
+
try {
|
|
1563
1618
|
super.addChildrenForAccessibility(outChildren)
|
|
1619
|
+
} catch (error: IllegalArgumentException) {
|
|
1620
|
+
// Android 16 can race while building accessibility child lists during fast re-parenting.
|
|
1621
|
+
if (error.message?.contains("descendant of this view") == true) {
|
|
1622
|
+
logSoftException(
|
|
1623
|
+
ReactSoftExceptionLogger.Categories.RVG_ADD_CHILDREN_FOR_ACCESSIBILITY,
|
|
1624
|
+
error,
|
|
1625
|
+
)
|
|
1626
|
+
} else {
|
|
1627
|
+
throw error
|
|
1628
|
+
}
|
|
1564
1629
|
}
|
|
1565
1630
|
}
|
|
1566
1631
|
|
|
@@ -28,7 +28,6 @@ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
|
|
|
28
28
|
import com.facebook.react.module.annotations.ReactModule
|
|
29
29
|
import com.facebook.react.uimanager.BackgroundStyleApplicator
|
|
30
30
|
import com.facebook.react.uimanager.LengthPercentage
|
|
31
|
-
import com.facebook.react.uimanager.LengthPercentageType
|
|
32
31
|
import com.facebook.react.uimanager.PixelUtil.dpToPx
|
|
33
32
|
import com.facebook.react.uimanager.PointerEvents
|
|
34
33
|
import com.facebook.react.uimanager.ReactAxOrderHelper
|
|
@@ -38,8 +37,6 @@ import com.facebook.react.uimanager.UIManagerHelper
|
|
|
38
37
|
import com.facebook.react.uimanager.ViewProps
|
|
39
38
|
import com.facebook.react.uimanager.annotations.ReactProp
|
|
40
39
|
import com.facebook.react.uimanager.annotations.ReactPropGroup
|
|
41
|
-
import com.facebook.react.uimanager.common.UIManagerType
|
|
42
|
-
import com.facebook.react.uimanager.common.ViewUtil
|
|
43
40
|
import com.facebook.react.uimanager.style.BackgroundImageLayer
|
|
44
41
|
import com.facebook.react.uimanager.style.BackgroundPosition
|
|
45
42
|
import com.facebook.react.uimanager.style.BackgroundRepeat
|
|
@@ -195,39 +192,40 @@ public open class ReactViewManager : ReactClippingViewManager<ReactViewGroup>()
|
|
|
195
192
|
view.scrollSnapAlign = value
|
|
196
193
|
}
|
|
197
194
|
|
|
195
|
+
@ReactProp(name = "scrollSnapOffset", defaultFloat = Float.NaN)
|
|
196
|
+
public open fun setScrollSnapOffset(view: ReactViewGroup, value: Float) {
|
|
197
|
+
view.scrollSnapOffset = if (value.isNaN()) null else value.dpToPx().toInt()
|
|
198
|
+
}
|
|
199
|
+
|
|
198
200
|
@ReactProp(name = ViewProps.BACKGROUND_IMAGE, customType = "BackgroundImage")
|
|
199
201
|
public open fun setBackgroundImage(view: ReactViewGroup, backgroundImage: ReadableArray?) {
|
|
200
|
-
if (
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
backgroundImageLayers.add(layer)
|
|
208
|
-
}
|
|
202
|
+
if (backgroundImage != null && backgroundImage.size() > 0) {
|
|
203
|
+
val backgroundImageLayers = ArrayList<BackgroundImageLayer>(backgroundImage.size())
|
|
204
|
+
for (i in 0 until backgroundImage.size()) {
|
|
205
|
+
val backgroundImageMap = backgroundImage.getMap(i)
|
|
206
|
+
val layer = BackgroundImageLayer.parse(backgroundImageMap, view.context)
|
|
207
|
+
if (layer != null) {
|
|
208
|
+
backgroundImageLayers.add(layer)
|
|
209
209
|
}
|
|
210
|
-
BackgroundStyleApplicator.setBackgroundImage(view, backgroundImageLayers)
|
|
211
|
-
} else {
|
|
212
|
-
BackgroundStyleApplicator.setBackgroundImage(view, null)
|
|
213
210
|
}
|
|
211
|
+
BackgroundStyleApplicator.setBackgroundImage(view, backgroundImageLayers)
|
|
212
|
+
} else {
|
|
213
|
+
BackgroundStyleApplicator.setBackgroundImage(view, null)
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
216
|
|
|
217
217
|
@ReactProp(name = ViewProps.BACKGROUND_SIZE, customType = "BackgroundSize")
|
|
218
218
|
public open fun setBackgroundSize(view: ReactViewGroup, backgroundSize: ReadableArray?) {
|
|
219
|
-
if (
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
backgroundSizes.add(parsedBackgroundSize)
|
|
227
|
-
}
|
|
219
|
+
if (backgroundSize != null && backgroundSize.size() > 0) {
|
|
220
|
+
val backgroundSizes = ArrayList<BackgroundSize>(backgroundSize.size())
|
|
221
|
+
for (i in 0 until backgroundSize.size()) {
|
|
222
|
+
val backgroundSizeValue = backgroundSize.getDynamic(i)
|
|
223
|
+
val parsedBackgroundSize = BackgroundSize.parse(backgroundSizeValue)
|
|
224
|
+
if (parsedBackgroundSize != null) {
|
|
225
|
+
backgroundSizes.add(parsedBackgroundSize)
|
|
228
226
|
}
|
|
229
|
-
BackgroundStyleApplicator.setBackgroundSize(view, backgroundSizes)
|
|
230
227
|
}
|
|
228
|
+
BackgroundStyleApplicator.setBackgroundSize(view, backgroundSizes.ifEmpty { null })
|
|
231
229
|
} else {
|
|
232
230
|
BackgroundStyleApplicator.setBackgroundSize(view, null)
|
|
233
231
|
}
|
|
@@ -235,39 +233,35 @@ public open class ReactViewManager : ReactClippingViewManager<ReactViewGroup>()
|
|
|
235
233
|
|
|
236
234
|
@ReactProp(name = ViewProps.BACKGROUND_POSITION, customType = "BackgroundPosition")
|
|
237
235
|
public open fun setBackgroundPosition(view: ReactViewGroup, backgroundPosition: ReadableArray?) {
|
|
238
|
-
if (
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
backgroundPositions.add(parsedBackgroundPosition)
|
|
246
|
-
}
|
|
236
|
+
if (backgroundPosition != null && backgroundPosition.size() > 0) {
|
|
237
|
+
val backgroundPositions = ArrayList<BackgroundPosition>(backgroundPosition.size())
|
|
238
|
+
for (i in 0 until backgroundPosition.size()) {
|
|
239
|
+
val backgroundPositionMap = backgroundPosition.getMap(i)
|
|
240
|
+
val parsedBackgroundPosition = BackgroundPosition.parse(backgroundPositionMap)
|
|
241
|
+
if (parsedBackgroundPosition != null) {
|
|
242
|
+
backgroundPositions.add(parsedBackgroundPosition)
|
|
247
243
|
}
|
|
248
|
-
BackgroundStyleApplicator.setBackgroundPosition(view, backgroundPositions)
|
|
249
|
-
} else {
|
|
250
|
-
BackgroundStyleApplicator.setBackgroundPosition(view, null)
|
|
251
244
|
}
|
|
245
|
+
BackgroundStyleApplicator.setBackgroundPosition(view, backgroundPositions.ifEmpty { null })
|
|
246
|
+
} else {
|
|
247
|
+
BackgroundStyleApplicator.setBackgroundPosition(view, null)
|
|
252
248
|
}
|
|
253
249
|
}
|
|
254
250
|
|
|
255
251
|
@ReactProp(name = ViewProps.BACKGROUND_REPEAT, customType = "BackgroundRepeat")
|
|
256
252
|
public open fun setBackgroundRepeat(view: ReactViewGroup, backgroundRepeat: ReadableArray?) {
|
|
257
|
-
if (
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
backgroundRepeats.add(parsedBackgroundRepeat)
|
|
265
|
-
}
|
|
253
|
+
if (backgroundRepeat != null && backgroundRepeat.size() > 0) {
|
|
254
|
+
val backgroundRepeats = ArrayList<BackgroundRepeat>(backgroundRepeat.size())
|
|
255
|
+
for (i in 0 until backgroundRepeat.size()) {
|
|
256
|
+
val backgroundRepeatMap = backgroundRepeat.getMap(i)
|
|
257
|
+
val parsedBackgroundRepeat = BackgroundRepeat.parse(backgroundRepeatMap)
|
|
258
|
+
if (parsedBackgroundRepeat != null) {
|
|
259
|
+
backgroundRepeats.add(parsedBackgroundRepeat)
|
|
266
260
|
}
|
|
267
|
-
BackgroundStyleApplicator.setBackgroundRepeat(view, backgroundRepeats)
|
|
268
|
-
} else {
|
|
269
|
-
BackgroundStyleApplicator.setBackgroundRepeat(view, null)
|
|
270
261
|
}
|
|
262
|
+
BackgroundStyleApplicator.setBackgroundRepeat(view, backgroundRepeats.ifEmpty { null })
|
|
263
|
+
} else {
|
|
264
|
+
BackgroundStyleApplicator.setBackgroundRepeat(view, null)
|
|
271
265
|
}
|
|
272
266
|
}
|
|
273
267
|
|
|
@@ -315,17 +309,7 @@ public open class ReactViewManager : ReactClippingViewManager<ReactViewGroup>()
|
|
|
315
309
|
]
|
|
316
310
|
)
|
|
317
311
|
public open fun setBorderRadius(view: ReactViewGroup, index: Int, rawBorderRadius: Dynamic) {
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
// We do not support percentage border radii on Paper in order to be consistent with iOS (to
|
|
321
|
-
// avoid developer surprise if it works on one platform but not another).
|
|
322
|
-
if (
|
|
323
|
-
ViewUtil.getUIManagerType(view) != UIManagerType.FABRIC &&
|
|
324
|
-
borderRadius != null &&
|
|
325
|
-
borderRadius.type == LengthPercentageType.PERCENT
|
|
326
|
-
) {
|
|
327
|
-
borderRadius = null
|
|
328
|
-
}
|
|
312
|
+
val borderRadius = LengthPercentage.setFromDynamic(rawBorderRadius)
|
|
329
313
|
|
|
330
314
|
BackgroundStyleApplicator.setBorderRadius(view, BorderRadiusProp.values()[index], borderRadius)
|
|
331
315
|
}
|
|
@@ -385,15 +369,12 @@ public open class ReactViewManager : ReactClippingViewManager<ReactViewGroup>()
|
|
|
385
369
|
|
|
386
370
|
@ReactProp(name = "nativeBackgroundAndroid")
|
|
387
371
|
public open fun setNativeBackground(view: ReactViewGroup, background: ReadableMap?) {
|
|
388
|
-
|
|
389
|
-
background?.let { ReactDrawableHelper.createDrawableFromJSDescription(view.context, it) }
|
|
390
|
-
BackgroundStyleApplicator.setFeedbackUnderlay(view, bg)
|
|
372
|
+
view.applyNativeBackground(background)
|
|
391
373
|
}
|
|
392
374
|
|
|
393
375
|
@ReactProp(name = "nativeForegroundAndroid")
|
|
394
376
|
public open fun setNativeForeground(view: ReactViewGroup, foreground: ReadableMap?) {
|
|
395
|
-
view.foreground
|
|
396
|
-
foreground?.let { ReactDrawableHelper.createDrawableFromJSDescription(view.context, it) }
|
|
377
|
+
view.applyNativeForeground(foreground)
|
|
397
378
|
}
|
|
398
379
|
|
|
399
380
|
@ReactProp(name = ViewProps.NEEDS_OFFSCREEN_ALPHA_COMPOSITING)
|
|
@@ -7,14 +7,19 @@
|
|
|
7
7
|
|
|
8
8
|
package com.facebook.react.views.view
|
|
9
9
|
|
|
10
|
+
import android.app.Activity
|
|
10
11
|
import android.graphics.Color
|
|
11
12
|
import android.os.Build
|
|
13
|
+
import android.view.View
|
|
12
14
|
import android.view.Window
|
|
15
|
+
import android.view.WindowInsetsController
|
|
13
16
|
import android.view.WindowManager
|
|
17
|
+
import androidx.annotation.VisibleForTesting
|
|
14
18
|
import androidx.core.view.ViewCompat
|
|
15
19
|
import androidx.core.view.WindowCompat
|
|
16
20
|
import androidx.core.view.WindowInsetsCompat
|
|
17
21
|
import androidx.core.view.WindowInsetsControllerCompat
|
|
22
|
+
import com.facebook.react.util.AndroidVersion
|
|
18
23
|
import com.facebook.react.views.common.UiModeUtils
|
|
19
24
|
|
|
20
25
|
// The light scrim color used in the platform API 29+
|
|
@@ -31,12 +36,38 @@ internal val DarkNavigationBarColor = Color.argb(0x80, 0x1b, 0x1b, 0x1b)
|
|
|
31
36
|
* as enabled elsewhere in the application.
|
|
32
37
|
*/
|
|
33
38
|
public var isEdgeToEdgeFeatureFlagOn: Boolean = false
|
|
34
|
-
|
|
39
|
+
@VisibleForTesting internal set
|
|
35
40
|
|
|
36
41
|
public fun setEdgeToEdgeFeatureFlagOn() {
|
|
37
42
|
isEdgeToEdgeFeatureFlagOn = true
|
|
38
43
|
}
|
|
39
44
|
|
|
45
|
+
internal fun updateEdgeToEdgeFeatureFlag(activity: Activity) {
|
|
46
|
+
// When the app targets SDK 35+, edge-to-edge may be enforced by the OS even if the
|
|
47
|
+
// feature flag wasn't explicitly set. In that case, turn the flag on to match.
|
|
48
|
+
if (AndroidVersion.isAtLeastTargetSdk35(activity)) {
|
|
49
|
+
if (Build.VERSION.SDK_INT >= AndroidVersion.VERSION_CODE_BAKLAVA) {
|
|
50
|
+
// The device is running Android 16+ (where edge-to-edge is always enforced)
|
|
51
|
+
isEdgeToEdgeFeatureFlagOn = true
|
|
52
|
+
} else {
|
|
53
|
+
val attributes = intArrayOf(AndroidVersion.ATTR_WINDOW_OPT_OUT_EDGE_TO_EDGE_ENFORCEMENT)
|
|
54
|
+
val typedArray = activity.theme.obtainStyledAttributes(attributes)
|
|
55
|
+
|
|
56
|
+
// The device is running Android 15 with / without opting out
|
|
57
|
+
isEdgeToEdgeFeatureFlagOn =
|
|
58
|
+
try {
|
|
59
|
+
!typedArray.getBoolean(0, false)
|
|
60
|
+
} finally {
|
|
61
|
+
typedArray.recycle()
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (isEdgeToEdgeFeatureFlagOn) {
|
|
67
|
+
activity.window.enableEdgeToEdge()
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
40
71
|
@Suppress("DEPRECATION")
|
|
41
72
|
internal fun Window.setStatusBarTranslucency(isTranslucent: Boolean) {
|
|
42
73
|
// If the status bar is translucent hook into the window insets calculations
|
|
@@ -65,6 +96,33 @@ internal fun Window.setStatusBarVisibility(isHidden: Boolean) {
|
|
|
65
96
|
}
|
|
66
97
|
}
|
|
67
98
|
|
|
99
|
+
@Suppress("DEPRECATION")
|
|
100
|
+
internal fun Window.setStatusBarStyle(style: String?) {
|
|
101
|
+
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.R) {
|
|
102
|
+
if ("dark-content" == style) {
|
|
103
|
+
// dark-content means dark icons on a light status bar
|
|
104
|
+
insetsController?.setSystemBarsAppearance(
|
|
105
|
+
WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS,
|
|
106
|
+
WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS,
|
|
107
|
+
)
|
|
108
|
+
} else {
|
|
109
|
+
insetsController?.setSystemBarsAppearance(
|
|
110
|
+
0,
|
|
111
|
+
WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS,
|
|
112
|
+
)
|
|
113
|
+
}
|
|
114
|
+
} else {
|
|
115
|
+
var systemUiVisibilityFlags = decorView.systemUiVisibility
|
|
116
|
+
systemUiVisibilityFlags =
|
|
117
|
+
if ("dark-content" == style) {
|
|
118
|
+
systemUiVisibilityFlags or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
|
|
119
|
+
} else {
|
|
120
|
+
systemUiVisibilityFlags and View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR.inv()
|
|
121
|
+
}
|
|
122
|
+
decorView.systemUiVisibility = systemUiVisibilityFlags
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
68
126
|
@Suppress("DEPRECATION")
|
|
69
127
|
private fun Window.statusBarHide() {
|
|
70
128
|
if (isEdgeToEdgeFeatureFlagOn) {
|
|
@@ -106,23 +164,37 @@ private fun Window.statusBarShow() {
|
|
|
106
164
|
internal fun Window.enableEdgeToEdge() {
|
|
107
165
|
WindowCompat.setDecorFitsSystemWindows(this, false)
|
|
108
166
|
|
|
167
|
+
val insetsController = WindowInsetsControllerCompat(this, decorView)
|
|
109
168
|
val isDarkMode = UiModeUtils.isDarkMode(context)
|
|
110
169
|
|
|
170
|
+
statusBarColor = Color.TRANSPARENT
|
|
171
|
+
|
|
111
172
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
|
173
|
+
navigationBarColor = Color.TRANSPARENT
|
|
174
|
+
|
|
175
|
+
val attributes = intArrayOf(android.R.attr.enforceNavigationBarContrast)
|
|
176
|
+
val typedArray = context.theme.obtainStyledAttributes(attributes)
|
|
177
|
+
|
|
178
|
+
val enforceNavigationBarContrast =
|
|
179
|
+
try {
|
|
180
|
+
typedArray.getBoolean(0, true)
|
|
181
|
+
} finally {
|
|
182
|
+
typedArray.recycle()
|
|
183
|
+
}
|
|
184
|
+
|
|
112
185
|
isStatusBarContrastEnforced = false
|
|
113
|
-
isNavigationBarContrastEnforced =
|
|
114
|
-
}
|
|
186
|
+
isNavigationBarContrastEnforced = enforceNavigationBarContrast
|
|
115
187
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
isAppearanceLightNavigationBars =
|
|
188
|
+
if (enforceNavigationBarContrast) {
|
|
189
|
+
insetsController.isAppearanceLightNavigationBars = !isDarkMode
|
|
190
|
+
}
|
|
191
|
+
} else {
|
|
192
|
+
val isAppearanceLightNavigationBars =
|
|
193
|
+
Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && !isDarkMode
|
|
194
|
+
|
|
195
|
+
navigationBarColor =
|
|
196
|
+
if (isAppearanceLightNavigationBars) LightNavigationBarColor else DarkNavigationBarColor
|
|
197
|
+
insetsController.isAppearanceLightNavigationBars = isAppearanceLightNavigationBars
|
|
126
198
|
}
|
|
127
199
|
|
|
128
200
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
package com.facebook.soloader.annotation
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Stub annotation for open-source Gradle builds. The real implementation lives in
|
|
12
|
+
* fbandroid/java/com/facebook/soloader/annotation/ and is used by the internal Buck build for
|
|
13
|
+
* compile-time validation of native library merging.
|
|
14
|
+
*/
|
|
15
|
+
@Retention(AnnotationRetention.SOURCE)
|
|
16
|
+
@Target(AnnotationTarget.CLASS)
|
|
17
|
+
internal annotation class SoLoaderLibrary(vararg val value: String)
|
|
@@ -18,7 +18,9 @@ public enum YogaAlign {
|
|
|
18
18
|
BASELINE(5),
|
|
19
19
|
SPACE_BETWEEN(6),
|
|
20
20
|
SPACE_AROUND(7),
|
|
21
|
-
SPACE_EVENLY(8)
|
|
21
|
+
SPACE_EVENLY(8),
|
|
22
|
+
START(9),
|
|
23
|
+
END(10);
|
|
22
24
|
|
|
23
25
|
private final int mIntValue;
|
|
24
26
|
|
|
@@ -41,6 +43,8 @@ public enum YogaAlign {
|
|
|
41
43
|
case 6: return SPACE_BETWEEN;
|
|
42
44
|
case 7: return SPACE_AROUND;
|
|
43
45
|
case 8: return SPACE_EVENLY;
|
|
46
|
+
case 9: return START;
|
|
47
|
+
case 10: return END;
|
|
44
48
|
default: throw new IllegalArgumentException("Unknown enum value: " + value);
|
|
45
49
|
}
|
|
46
50
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
package com.facebook.yoga
|
|
9
|
+
|
|
10
|
+
public class YogaConfigJNIFinalizer public constructor() : YogaConfigJNIBase() {
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
* This is a valid use of finalize. No other mechanism is appropriate.
|
|
14
|
+
* YogaConfigJNIFinalizer exists specifically to release JNI-allocated native
|
|
15
|
+
* memory (via jni_YGConfigFreeJNI) when the Java object is garbage collected.
|
|
16
|
+
* This is the established pattern for JNI prevented leak classes in Yoga.
|
|
17
|
+
*/
|
|
18
|
+
@Throws(Throwable::class)
|
|
19
|
+
protected fun finalize() {
|
|
20
|
+
freeNatives()
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
public fun freeNatives() {
|
|
24
|
+
if (nativePointer != 0L) {
|
|
25
|
+
val pointer = nativePointer
|
|
26
|
+
nativePointer = 0
|
|
27
|
+
YogaNative.jni_YGConfigFreeJNI(pointer)
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -12,7 +12,8 @@ package com.facebook.yoga;
|
|
|
12
12
|
public enum YogaDisplay {
|
|
13
13
|
FLEX(0),
|
|
14
14
|
NONE(1),
|
|
15
|
-
CONTENTS(2)
|
|
15
|
+
CONTENTS(2),
|
|
16
|
+
GRID(3);
|
|
16
17
|
|
|
17
18
|
private final int mIntValue;
|
|
18
19
|
|
|
@@ -29,6 +30,7 @@ public enum YogaDisplay {
|
|
|
29
30
|
case 0: return FLEX;
|
|
30
31
|
case 1: return NONE;
|
|
31
32
|
case 2: return CONTENTS;
|
|
33
|
+
case 3: return GRID;
|
|
32
34
|
default: throw new IllegalArgumentException("Unknown enum value: " + value);
|
|
33
35
|
}
|
|
34
36
|
}
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
package com.facebook.yoga;
|
|
11
11
|
|
|
12
12
|
public enum YogaExperimentalFeature {
|
|
13
|
-
WEB_FLEX_BASIS(0)
|
|
13
|
+
WEB_FLEX_BASIS(0),
|
|
14
|
+
FIX_FLEX_BASIS_FIT_CONTENT(1);
|
|
14
15
|
|
|
15
16
|
private final int mIntValue;
|
|
16
17
|
|
|
@@ -25,6 +26,7 @@ public enum YogaExperimentalFeature {
|
|
|
25
26
|
public static YogaExperimentalFeature fromInt(int value) {
|
|
26
27
|
switch (value) {
|
|
27
28
|
case 0: return WEB_FLEX_BASIS;
|
|
29
|
+
case 1: return FIX_FLEX_BASIS_FIT_CONTENT;
|
|
28
30
|
default: throw new IllegalArgumentException("Unknown enum value: " + value);
|
|
29
31
|
}
|
|
30
32
|
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
// @generated by enums.py
|
|
9
|
+
|
|
10
|
+
package com.facebook.yoga;
|
|
11
|
+
|
|
12
|
+
public enum YogaGridTrackType {
|
|
13
|
+
AUTO(0),
|
|
14
|
+
POINTS(1),
|
|
15
|
+
PERCENT(2),
|
|
16
|
+
FR(3),
|
|
17
|
+
MINMAX(4);
|
|
18
|
+
|
|
19
|
+
private final int mIntValue;
|
|
20
|
+
|
|
21
|
+
YogaGridTrackType(int intValue) {
|
|
22
|
+
mIntValue = intValue;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
public int intValue() {
|
|
26
|
+
return mIntValue;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
public static YogaGridTrackType fromInt(int value) {
|
|
30
|
+
switch (value) {
|
|
31
|
+
case 0: return AUTO;
|
|
32
|
+
case 1: return POINTS;
|
|
33
|
+
case 2: return PERCENT;
|
|
34
|
+
case 3: return FR;
|
|
35
|
+
case 4: return MINMAX;
|
|
36
|
+
default: throw new IllegalArgumentException("Unknown enum value: " + value);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|