react-native-tvos 0.85.3-1 → 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.js +3 -3
- 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/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 -95
- 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 +3 -3
- 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/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/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 +3 -3
- 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/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 +3 -3
- 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 +18 -20
- 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 +19 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +14 -5
- 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 +84 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +41 -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 +5 -5
- 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 +8 -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 +53 -5
- 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/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
|
@@ -63,6 +63,7 @@ import com.facebook.react.views.text.SelectableTextViewManager
|
|
|
63
63
|
import com.facebook.react.views.textinput.ReactTextInputManager
|
|
64
64
|
import com.facebook.react.views.unimplementedview.ReactUnimplementedViewManager
|
|
65
65
|
import com.facebook.react.views.view.ReactViewManager
|
|
66
|
+
import com.facebook.react.views.virtual.view.ReactVirtualViewManager
|
|
66
67
|
|
|
67
68
|
/**
|
|
68
69
|
* Package defining basic modules and view managers.
|
|
@@ -155,6 +156,7 @@ constructor(private val config: MainPackageConfig? = null) :
|
|
|
155
156
|
else ReactTextViewManager(),
|
|
156
157
|
SelectableTextViewManager(),
|
|
157
158
|
ReactViewManager(),
|
|
159
|
+
ReactVirtualViewManager(),
|
|
158
160
|
ReactUnimplementedViewManager(),
|
|
159
161
|
)
|
|
160
162
|
|
|
@@ -199,6 +201,8 @@ constructor(private val config: MainPackageConfig? = null) :
|
|
|
199
201
|
SelectableTextViewManager.REACT_CLASS to
|
|
200
202
|
ModuleSpec.viewManagerSpec { SelectableTextViewManager() },
|
|
201
203
|
ReactViewManager.REACT_CLASS to ModuleSpec.viewManagerSpec { ReactViewManager() },
|
|
204
|
+
ReactVirtualViewManager.REACT_CLASS to
|
|
205
|
+
ModuleSpec.viewManagerSpec { ReactVirtualViewManager() },
|
|
202
206
|
ReactUnimplementedViewManager.REACT_CLASS to
|
|
203
207
|
ModuleSpec.viewManagerSpec { ReactUnimplementedViewManager() },
|
|
204
208
|
)
|
|
@@ -28,6 +28,7 @@ public object OpenSourceMergedSoMapping : ExternalSoMapping {
|
|
|
28
28
|
"react_devsupportjni",
|
|
29
29
|
"react_featureflagsjni",
|
|
30
30
|
"react_newarchdefaults",
|
|
31
|
+
"react_tracingjni",
|
|
31
32
|
"reactnativeblob",
|
|
32
33
|
"reactnativejni",
|
|
33
34
|
"reactnativejni_common",
|
|
@@ -57,6 +58,7 @@ public object OpenSourceMergedSoMapping : ExternalSoMapping {
|
|
|
57
58
|
"react_devsupportjni" -> libreact_devsupportjni_so()
|
|
58
59
|
"react_featureflagsjni" -> libreact_featureflagsjni_so()
|
|
59
60
|
"react_newarchdefaults" -> libreact_newarchdefaults_so()
|
|
61
|
+
"react_tracingjni" -> libreact_tracingjni_so()
|
|
60
62
|
"reactnative" -> libreactnative_so()
|
|
61
63
|
"reactnativeblob" -> libreactnativeblob_so()
|
|
62
64
|
"reactnativejni" -> libreactnativejni_so()
|
|
@@ -88,6 +90,8 @@ public object OpenSourceMergedSoMapping : ExternalSoMapping {
|
|
|
88
90
|
|
|
89
91
|
public external fun libreact_newarchdefaults_so(): Int
|
|
90
92
|
|
|
93
|
+
public external fun libreact_tracingjni_so(): Int
|
|
94
|
+
|
|
91
95
|
public external fun libreactnative_so(): Int
|
|
92
96
|
|
|
93
97
|
public external fun libreactnativeblob_so(): Int
|
package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt
CHANGED
|
@@ -20,14 +20,10 @@ import android.os.Build
|
|
|
20
20
|
import android.view.View
|
|
21
21
|
import android.widget.ImageView
|
|
22
22
|
import androidx.annotation.ColorInt
|
|
23
|
-
import androidx.core.graphics.withClip
|
|
24
23
|
import com.facebook.react.bridge.ReadableArray
|
|
25
24
|
import com.facebook.react.common.annotations.UnstableReactNativeAPI
|
|
26
|
-
import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
|
|
27
25
|
import com.facebook.react.uimanager.PixelUtil.dpToPx
|
|
28
26
|
import com.facebook.react.uimanager.PixelUtil.pxToDp
|
|
29
|
-
import com.facebook.react.uimanager.common.UIManagerType
|
|
30
|
-
import com.facebook.react.uimanager.common.ViewUtil
|
|
31
27
|
import com.facebook.react.uimanager.drawable.BackgroundDrawable
|
|
32
28
|
import com.facebook.react.uimanager.drawable.BackgroundImageDrawable
|
|
33
29
|
import com.facebook.react.uimanager.drawable.BorderDrawable
|
|
@@ -281,17 +277,13 @@ public object BackgroundStyleApplicator {
|
|
|
281
277
|
}
|
|
282
278
|
|
|
283
279
|
/**
|
|
284
|
-
* Sets the outline color for the view
|
|
280
|
+
* Sets the outline color for the view.
|
|
285
281
|
*
|
|
286
282
|
* @param view The view to apply the outline color to
|
|
287
283
|
* @param outlineColor The outline color, or null to remove
|
|
288
284
|
*/
|
|
289
285
|
@JvmStatic
|
|
290
286
|
public fun setOutlineColor(view: View, @ColorInt outlineColor: Int?) {
|
|
291
|
-
if (ViewUtil.getUIManagerType(view) != UIManagerType.FABRIC) {
|
|
292
|
-
return
|
|
293
|
-
}
|
|
294
|
-
|
|
295
287
|
val outline = ensureOutlineDrawable(view)
|
|
296
288
|
if (outlineColor != null) {
|
|
297
289
|
outline.outlineColor = outlineColor
|
|
@@ -307,17 +299,13 @@ public object BackgroundStyleApplicator {
|
|
|
307
299
|
@JvmStatic public fun getOutlineColor(view: View): Int? = getOutlineDrawable(view)?.outlineColor
|
|
308
300
|
|
|
309
301
|
/**
|
|
310
|
-
* Sets the outline offset for the view
|
|
302
|
+
* Sets the outline offset for the view.
|
|
311
303
|
*
|
|
312
304
|
* @param view The view to apply the outline offset to
|
|
313
305
|
* @param outlineOffset The outline offset in DIPs
|
|
314
306
|
*/
|
|
315
307
|
@JvmStatic
|
|
316
308
|
public fun setOutlineOffset(view: View, outlineOffset: Float): Unit {
|
|
317
|
-
if (ViewUtil.getUIManagerType(view) != UIManagerType.FABRIC) {
|
|
318
|
-
return
|
|
319
|
-
}
|
|
320
|
-
|
|
321
309
|
val outline = ensureOutlineDrawable(view)
|
|
322
310
|
outline.outlineOffset = outlineOffset.dpToPx()
|
|
323
311
|
}
|
|
@@ -331,17 +319,13 @@ public object BackgroundStyleApplicator {
|
|
|
331
319
|
public fun getOutlineOffset(view: View): Float? = getOutlineDrawable(view)?.outlineOffset
|
|
332
320
|
|
|
333
321
|
/**
|
|
334
|
-
* Sets the outline style for the view
|
|
322
|
+
* Sets the outline style for the view.
|
|
335
323
|
*
|
|
336
324
|
* @param view The view to apply the outline style to
|
|
337
325
|
* @param outlineStyle The outline style (solid, dashed, dotted), or null to remove
|
|
338
326
|
*/
|
|
339
327
|
@JvmStatic
|
|
340
328
|
public fun setOutlineStyle(view: View, outlineStyle: OutlineStyle?): Unit {
|
|
341
|
-
if (ViewUtil.getUIManagerType(view) != UIManagerType.FABRIC) {
|
|
342
|
-
return
|
|
343
|
-
}
|
|
344
|
-
|
|
345
329
|
val outline = ensureOutlineDrawable(view)
|
|
346
330
|
if (outlineStyle != null) {
|
|
347
331
|
outline.outlineStyle = outlineStyle
|
|
@@ -357,17 +341,13 @@ public object BackgroundStyleApplicator {
|
|
|
357
341
|
public fun getOutlineStyle(view: View): OutlineStyle? = getOutlineDrawable(view)?.outlineStyle
|
|
358
342
|
|
|
359
343
|
/**
|
|
360
|
-
* Sets the outline width for the view
|
|
344
|
+
* Sets the outline width for the view.
|
|
361
345
|
*
|
|
362
346
|
* @param view The view to apply the outline width to
|
|
363
347
|
* @param width The outline width in DIPs
|
|
364
348
|
*/
|
|
365
349
|
@JvmStatic
|
|
366
350
|
public fun setOutlineWidth(view: View, width: Float) {
|
|
367
|
-
if (ViewUtil.getUIManagerType(view) != UIManagerType.FABRIC) {
|
|
368
|
-
return
|
|
369
|
-
}
|
|
370
|
-
|
|
371
351
|
val outline = ensureOutlineDrawable(view)
|
|
372
352
|
outline.outlineWidth = width.dpToPx()
|
|
373
353
|
}
|
|
@@ -381,17 +361,13 @@ public object BackgroundStyleApplicator {
|
|
|
381
361
|
public fun getOutlineWidth(view: View): Float? = getOutlineDrawable(view)?.outlineOffset
|
|
382
362
|
|
|
383
363
|
/**
|
|
384
|
-
* Sets box shadows for the view
|
|
364
|
+
* Sets box shadows for the view.
|
|
385
365
|
*
|
|
386
366
|
* @param view The view to apply box shadows to
|
|
387
367
|
* @param shadows The list of box shadow styles to apply
|
|
388
368
|
*/
|
|
389
369
|
@JvmStatic
|
|
390
370
|
public fun setBoxShadow(view: View, shadows: List<BoxShadow>) {
|
|
391
|
-
if (ViewUtil.getUIManagerType(view) != UIManagerType.FABRIC) {
|
|
392
|
-
return
|
|
393
|
-
}
|
|
394
|
-
|
|
395
371
|
var innerShadows = mutableListOf<InsetBoxShadowDrawable>()
|
|
396
372
|
var outerShadows = mutableListOf<OutsetBoxShadowDrawable>()
|
|
397
373
|
|
|
@@ -445,7 +421,7 @@ public object BackgroundStyleApplicator {
|
|
|
445
421
|
}
|
|
446
422
|
|
|
447
423
|
/**
|
|
448
|
-
* Sets box shadows for the view from a ReadableArray
|
|
424
|
+
* Sets box shadows for the view from a ReadableArray.
|
|
449
425
|
*
|
|
450
426
|
* @param view The view to apply box shadows to
|
|
451
427
|
* @param shadows The array of box shadow definitions, or null to remove all shadows
|
|
@@ -489,6 +465,35 @@ public object BackgroundStyleApplicator {
|
|
|
489
465
|
clipToPaddingBoxWithAntiAliasing(view, canvas, null)
|
|
490
466
|
}
|
|
491
467
|
|
|
468
|
+
/**
|
|
469
|
+
* Populates [outRect] with the padding box rect of the view.
|
|
470
|
+
*
|
|
471
|
+
* The padding box is the area within the borders of the view. For views without a
|
|
472
|
+
* [CompositeBackgroundDrawable] or without borders, this returns the full view bounds.
|
|
473
|
+
*
|
|
474
|
+
* This is useful for overriding [View.getClipBounds] to communicate the view's clipping region to
|
|
475
|
+
* the Android framework (e.g. for [View.getGlobalVisibleRect] calculations).
|
|
476
|
+
*
|
|
477
|
+
* @param view The view whose padding box to compute
|
|
478
|
+
* @param outRect The rect to populate with the padding box bounds
|
|
479
|
+
*/
|
|
480
|
+
internal fun getPaddingBoxRect(view: View, outRect: Rect) {
|
|
481
|
+
val composite = getCompositeBackgroundDrawable(view)
|
|
482
|
+
val computedBorderInsets =
|
|
483
|
+
composite?.borderInsets?.resolve(composite.layoutDirection, view.context)
|
|
484
|
+
if (computedBorderInsets == null) {
|
|
485
|
+
outRect.set(0, 0, view.width, view.height)
|
|
486
|
+
return
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
val left = (computedBorderInsets.left.dpToPx()).toInt()
|
|
490
|
+
val top = (computedBorderInsets.top.dpToPx()).toInt()
|
|
491
|
+
val right = (view.width.toFloat() - computedBorderInsets.right.dpToPx()).toInt()
|
|
492
|
+
val bottom = (view.height.toFloat() - computedBorderInsets.bottom.dpToPx()).toInt()
|
|
493
|
+
|
|
494
|
+
outRect.set(left, top, right, bottom)
|
|
495
|
+
}
|
|
496
|
+
|
|
492
497
|
/**
|
|
493
498
|
* Clips the canvas to the padding box of the view.
|
|
494
499
|
*
|
|
@@ -542,8 +547,7 @@ public object BackgroundStyleApplicator {
|
|
|
542
547
|
// On Android 28 and below, use antialiased clipping with Porter-Duff compositing. On newer
|
|
543
548
|
// Android versions, use the standard clipPath.
|
|
544
549
|
if (
|
|
545
|
-
|
|
546
|
-
Build.VERSION.SDK_INT <= Build.VERSION_CODES.P &&
|
|
550
|
+
Build.VERSION.SDK_INT <= Build.VERSION_CODES.P &&
|
|
547
551
|
view.width > 0 &&
|
|
548
552
|
view.height > 0 &&
|
|
549
553
|
drawContent != null
|
|
@@ -575,49 +579,50 @@ public object BackgroundStyleApplicator {
|
|
|
575
579
|
paddingBoxPath: Path,
|
|
576
580
|
drawContent: () -> Unit,
|
|
577
581
|
) {
|
|
578
|
-
//
|
|
582
|
+
// Save the layer for Porter-Duff compositing
|
|
583
|
+
val saveCount = canvas.saveLayer(0f, 0f, view.width.toFloat(), view.height.toFloat(), null)
|
|
584
|
+
|
|
585
|
+
// Clip to the view's own bounds inside the layer. On API <= 28 hardware-accelerated canvases,
|
|
579
586
|
// the window boundary is tracked by the GPU scissor but not reflected in the canvas clip stack.
|
|
580
587
|
// Without an explicit software clip, saveLayer may allocate a buffer with uninitialized pixels
|
|
581
|
-
// beyond the GPU scissor. Adding clipRect
|
|
582
|
-
//
|
|
583
|
-
//
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
canvas.restoreToCount(maskSave)
|
|
616
|
-
}
|
|
617
|
-
|
|
618
|
-
// Restore the layer
|
|
619
|
-
canvas.restoreToCount(saveCount)
|
|
588
|
+
// beyond the GPU scissor. Adding clipRect inside the layer (rather than wrapping it with
|
|
589
|
+
// canvas.withClip) avoids an extra save/restore nesting level that breaks Porter-Duff
|
|
590
|
+
// compositing on API 24's HWUI renderer. The saveLayer already saves and restores the clip
|
|
591
|
+
// state, so a separate save/restore wrapper is unnecessary.
|
|
592
|
+
canvas.clipRect(0, 0, view.width, view.height)
|
|
593
|
+
|
|
594
|
+
// Draw the content first
|
|
595
|
+
drawContent()
|
|
596
|
+
|
|
597
|
+
val maskPaint = Paint(Paint.ANTI_ALIAS_FLAG)
|
|
598
|
+
maskPaint.style = Paint.Style.FILL
|
|
599
|
+
|
|
600
|
+
// Transparent pixels with INVERSE_WINDING only works on API 28
|
|
601
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
|
602
|
+
maskPaint.xfermode = PorterDuffXfermode(PorterDuff.Mode.DST_IN)
|
|
603
|
+
maskPaint.color = Color.TRANSPARENT
|
|
604
|
+
paddingBoxPath.setFillType(Path.FillType.INVERSE_WINDING)
|
|
605
|
+
canvas.drawPath(paddingBoxPath, maskPaint)
|
|
606
|
+
} else {
|
|
607
|
+
// API < 28: Use a nested saveLayer with DST_IN compositing to mask content to the
|
|
608
|
+
// padding box path. EVEN_ODD fill + DST_OUT has rendering bugs on API 24's hardware
|
|
609
|
+
// renderer, so we avoid that technique. Instead, draw the mask shape into a separate
|
|
610
|
+
// layer; when restored with DST_IN, content is preserved only where the mask is opaque.
|
|
611
|
+
val dstInPaint = Paint()
|
|
612
|
+
dstInPaint.xfermode = PorterDuffXfermode(PorterDuff.Mode.DST_IN)
|
|
613
|
+
val maskSave =
|
|
614
|
+
canvas.saveLayer(0f, 0f, view.width.toFloat(), view.height.toFloat(), dstInPaint)
|
|
615
|
+
// Clear the layer to ensure it starts fully transparent. On API 24, saveLayer may not
|
|
616
|
+
// initialize the buffer to transparent, causing DST_IN to see non-zero alpha everywhere.
|
|
617
|
+
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR)
|
|
618
|
+
maskPaint.xfermode = null
|
|
619
|
+
maskPaint.color = Color.BLACK
|
|
620
|
+
canvas.drawPath(paddingBoxPath, maskPaint)
|
|
621
|
+
canvas.restoreToCount(maskSave)
|
|
620
622
|
}
|
|
623
|
+
|
|
624
|
+
// Restore the layer
|
|
625
|
+
canvas.restoreToCount(saveCount)
|
|
621
626
|
}
|
|
622
627
|
|
|
623
628
|
/**
|
|
@@ -33,8 +33,6 @@ import com.facebook.react.common.ReactConstants;
|
|
|
33
33
|
import com.facebook.react.uimanager.ReactAccessibilityDelegate.AccessibilityRole;
|
|
34
34
|
import com.facebook.react.uimanager.ReactAccessibilityDelegate.Role;
|
|
35
35
|
import com.facebook.react.uimanager.annotations.ReactProp;
|
|
36
|
-
import com.facebook.react.uimanager.common.UIManagerType;
|
|
37
|
-
import com.facebook.react.uimanager.common.ViewUtil;
|
|
38
36
|
import com.facebook.react.uimanager.events.BlurEvent;
|
|
39
37
|
import com.facebook.react.uimanager.events.EventDispatcher;
|
|
40
38
|
import com.facebook.react.uimanager.events.FocusEvent;
|
|
@@ -235,20 +233,16 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
|
|
|
235
233
|
|
|
236
234
|
@ReactProp(name = ViewProps.FILTER, customType = "Filter")
|
|
237
235
|
public void setFilter(@NonNull T view, @Nullable ReadableArray filter) {
|
|
238
|
-
|
|
239
|
-
view.setTag(R.id.filter, filter);
|
|
240
|
-
}
|
|
236
|
+
view.setTag(R.id.filter, filter);
|
|
241
237
|
}
|
|
242
238
|
|
|
243
239
|
@ReactProp(name = ViewProps.MIX_BLEND_MODE)
|
|
244
240
|
public void setMixBlendMode(@NonNull T view, @Nullable String mixBlendMode) {
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
((View) view.getParent()).invalidate();
|
|
251
|
-
}
|
|
241
|
+
view.setTag(R.id.mix_blend_mode, BlendModeHelper.parseMixBlendMode(mixBlendMode));
|
|
242
|
+
// We need to trigger drawChild for the parent ViewGroup which will set the
|
|
243
|
+
// mixBlendMode compositing on the child
|
|
244
|
+
if (view.getParent() instanceof View) {
|
|
245
|
+
((View) view.getParent()).invalidate();
|
|
252
246
|
}
|
|
253
247
|
}
|
|
254
248
|
|
|
@@ -592,16 +586,13 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
|
|
|
592
586
|
return;
|
|
593
587
|
}
|
|
594
588
|
|
|
595
|
-
boolean allowPercentageResolution = ViewUtil.getUIManagerType(view) == UIManagerType.FABRIC;
|
|
596
|
-
|
|
597
589
|
sMatrixDecompositionContext.reset();
|
|
598
590
|
TransformHelper.processTransform(
|
|
599
591
|
transforms,
|
|
600
592
|
sTransformDecompositionArray,
|
|
601
593
|
PixelUtil.toDIPFromPixel(view.getWidth()),
|
|
602
594
|
PixelUtil.toDIPFromPixel(view.getHeight()),
|
|
603
|
-
transformOrigin
|
|
604
|
-
allowPercentageResolution);
|
|
595
|
+
transformOrigin);
|
|
605
596
|
MatrixMathHelper.decomposeMatrix(sTransformDecompositionArray, sMatrixDecompositionContext);
|
|
606
597
|
view.setTranslationX(
|
|
607
598
|
PixelUtil.toPixelFromDIP(
|
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
|
|
8
8
|
package com.facebook.react.uimanager
|
|
9
9
|
|
|
10
|
-
import android.annotation.TargetApi
|
|
11
10
|
import android.graphics.BlendMode
|
|
12
11
|
import android.os.Build
|
|
13
12
|
import android.view.ViewGroup
|
|
13
|
+
import androidx.annotation.RequiresApi
|
|
14
14
|
import androidx.core.view.children
|
|
15
15
|
import com.facebook.react.R
|
|
16
16
|
|
|
@@ -20,7 +20,7 @@ import com.facebook.react.R
|
|
|
20
20
|
* This object provides utilities to convert CSS mix-blend-mode string values into Android's
|
|
21
21
|
* [BlendMode] enumeration and to determine when views need isolated layers for proper blending.
|
|
22
22
|
*/
|
|
23
|
-
@
|
|
23
|
+
@RequiresApi(29)
|
|
24
24
|
internal object BlendModeHelper {
|
|
25
25
|
|
|
26
26
|
/**
|
|
@@ -54,6 +54,7 @@ internal object BlendModeHelper {
|
|
|
54
54
|
"saturation" -> BlendMode.SATURATION
|
|
55
55
|
"color" -> BlendMode.COLOR
|
|
56
56
|
"luminosity" -> BlendMode.LUMINOSITY
|
|
57
|
+
"plus-lighter" -> BlendMode.PLUS
|
|
57
58
|
else -> throw IllegalArgumentException("Invalid mix-blend-mode name: $mixBlendMode")
|
|
58
59
|
}
|
|
59
60
|
}
|
|
@@ -29,6 +29,7 @@ public object DisplayMetricsHolder {
|
|
|
29
29
|
@JvmStatic private var windowDisplayMetrics: DisplayMetrics? = null
|
|
30
30
|
@JvmStatic private var screenDisplayMetrics: DisplayMetrics? = null
|
|
31
31
|
|
|
32
|
+
// TODO(0.87): Remove once we are out of the non-breaking window (see 8d21ffda60)
|
|
32
33
|
/** The metrics of the window associated to the Context used to initialize ReactNative */
|
|
33
34
|
@JvmStatic
|
|
34
35
|
public fun getWindowDisplayMetrics(): DisplayMetrics {
|
|
@@ -36,6 +37,7 @@ public object DisplayMetricsHolder {
|
|
|
36
37
|
return windowDisplayMetrics as DisplayMetrics
|
|
37
38
|
}
|
|
38
39
|
|
|
40
|
+
// TODO(0.87): Remove once we are out of the non-breaking window (see 8d21ffda60)
|
|
39
41
|
@JvmStatic
|
|
40
42
|
public fun setWindowDisplayMetrics(displayMetrics: DisplayMetrics?) {
|
|
41
43
|
windowDisplayMetrics = displayMetrics
|
|
@@ -84,6 +86,7 @@ public object DisplayMetricsHolder {
|
|
|
84
86
|
DisplayMetricsHolder.screenDisplayMetrics = screenDisplayMetrics
|
|
85
87
|
}
|
|
86
88
|
|
|
89
|
+
// TODO(0.87): Remove once we are out of the non-breaking window (see 8d21ffda60)
|
|
87
90
|
@JvmStatic
|
|
88
91
|
public fun getDisplayMetricsWritableMap(fontScale: Double): WritableMap {
|
|
89
92
|
checkNotNull(windowDisplayMetrics) { INITIALIZATION_MISSING_MESSAGE }
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
package com.facebook.react.uimanager
|
|
9
9
|
|
|
10
|
+
import android.annotation.SuppressLint
|
|
10
11
|
import android.annotation.TargetApi
|
|
11
12
|
import android.graphics.BlendMode
|
|
12
13
|
import android.graphics.BlendModeColorFilter
|
|
@@ -30,6 +31,7 @@ import kotlin.math.sin
|
|
|
30
31
|
*
|
|
31
32
|
* @see <a href="https://www.w3.org/TR/filter-effects-1/">CSS Filter Effects Module Level 1</a>
|
|
32
33
|
*/
|
|
34
|
+
@SuppressLint("UseRequiresApi")
|
|
33
35
|
@TargetApi(31)
|
|
34
36
|
internal object FilterHelper {
|
|
35
37
|
|
|
@@ -104,7 +106,7 @@ internal object FilterHelper {
|
|
|
104
106
|
}
|
|
105
107
|
|
|
106
108
|
for (i in 0 until filters.size()) {
|
|
107
|
-
val filter = filters.getMap(i)
|
|
109
|
+
val filter = checkNotNull(filters.getMap(i)).entryIterator.next()
|
|
108
110
|
val filterName = filter.key
|
|
109
111
|
if (filterName == "blur" || filterName == "dropShadow") {
|
|
110
112
|
return false
|
package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java
CHANGED
|
@@ -31,16 +31,19 @@ public class NativeViewHierarchyManager {
|
|
|
31
31
|
/**
|
|
32
32
|
* @deprecated Use new architecture instead.
|
|
33
33
|
*/
|
|
34
|
+
@Deprecated
|
|
34
35
|
public NativeViewHierarchyManager(ViewManagerRegistry viewManagers) {}
|
|
35
36
|
|
|
36
37
|
/**
|
|
37
38
|
* @deprecated Use new architecture instead.
|
|
38
39
|
*/
|
|
40
|
+
@Deprecated
|
|
39
41
|
public NativeViewHierarchyManager(ViewManagerRegistry viewManagers, RootViewManager manager) {}
|
|
40
42
|
|
|
41
43
|
/**
|
|
42
44
|
* @deprecated Use new architecture instead.
|
|
43
45
|
*/
|
|
46
|
+
@Deprecated
|
|
44
47
|
public final synchronized @Nullable View resolveView(int tag) {
|
|
45
48
|
return null;
|
|
46
49
|
}
|
|
@@ -48,6 +51,7 @@ public class NativeViewHierarchyManager {
|
|
|
48
51
|
/**
|
|
49
52
|
* @deprecated Use new architecture instead.
|
|
50
53
|
*/
|
|
54
|
+
@Deprecated
|
|
51
55
|
public final synchronized @Nullable ViewManager resolveViewManager(int tag) {
|
|
52
56
|
return null;
|
|
53
57
|
}
|
|
@@ -55,21 +59,25 @@ public class NativeViewHierarchyManager {
|
|
|
55
59
|
/**
|
|
56
60
|
* @deprecated Use new architecture instead.
|
|
57
61
|
*/
|
|
62
|
+
@Deprecated
|
|
58
63
|
public void setLayoutAnimationEnabled(boolean enabled) {}
|
|
59
64
|
|
|
60
65
|
/**
|
|
61
66
|
* @deprecated Use new architecture instead.
|
|
62
67
|
*/
|
|
68
|
+
@Deprecated
|
|
63
69
|
public synchronized void updateInstanceHandle(int tag, long instanceHandle) {}
|
|
64
70
|
|
|
65
71
|
/**
|
|
66
72
|
* @deprecated Use new architecture instead.
|
|
67
73
|
*/
|
|
74
|
+
@Deprecated
|
|
68
75
|
public synchronized void updateProperties(int tag, ReactStylesDiffMap props) {}
|
|
69
76
|
|
|
70
77
|
/**
|
|
71
78
|
* @deprecated Use new architecture instead.
|
|
72
79
|
*/
|
|
80
|
+
@Deprecated
|
|
73
81
|
public synchronized void updateViewExtraData(int tag, Object extraData) {}
|
|
74
82
|
|
|
75
83
|
/**
|
|
@@ -82,6 +90,7 @@ public class NativeViewHierarchyManager {
|
|
|
82
90
|
/**
|
|
83
91
|
* @deprecated Use new architecture instead.
|
|
84
92
|
*/
|
|
93
|
+
@Deprecated
|
|
85
94
|
public synchronized void updateLayout(
|
|
86
95
|
int parentTag,
|
|
87
96
|
int tag,
|
|
@@ -94,6 +103,7 @@ public class NativeViewHierarchyManager {
|
|
|
94
103
|
/**
|
|
95
104
|
* @deprecated Use new architecture instead.
|
|
96
105
|
*/
|
|
106
|
+
@Deprecated
|
|
97
107
|
public synchronized long getInstanceHandle(int reactTag) {
|
|
98
108
|
return 0;
|
|
99
109
|
}
|
|
@@ -101,6 +111,7 @@ public class NativeViewHierarchyManager {
|
|
|
101
111
|
/**
|
|
102
112
|
* @deprecated Use new architecture instead.
|
|
103
113
|
*/
|
|
114
|
+
@Deprecated
|
|
104
115
|
public synchronized void createView(
|
|
105
116
|
ThemedReactContext themedContext,
|
|
106
117
|
int tag,
|
|
@@ -110,6 +121,7 @@ public class NativeViewHierarchyManager {
|
|
|
110
121
|
/**
|
|
111
122
|
* @deprecated Use new architecture instead.
|
|
112
123
|
*/
|
|
124
|
+
@Deprecated
|
|
113
125
|
public synchronized void manageChildren(
|
|
114
126
|
int tag,
|
|
115
127
|
@Nullable int[] indicesToRemove,
|
|
@@ -119,31 +131,37 @@ public class NativeViewHierarchyManager {
|
|
|
119
131
|
/**
|
|
120
132
|
* @deprecated Use new architecture instead.
|
|
121
133
|
*/
|
|
134
|
+
@Deprecated
|
|
122
135
|
public synchronized void setChildren(int tag, ReadableArray childrenTags) {}
|
|
123
136
|
|
|
124
137
|
/**
|
|
125
138
|
* @deprecated Use new architecture instead.
|
|
126
139
|
*/
|
|
140
|
+
@Deprecated
|
|
127
141
|
public synchronized void addRootView(int tag, View view) {}
|
|
128
142
|
|
|
129
143
|
/**
|
|
130
144
|
* @deprecated Use new architecture instead.
|
|
131
145
|
*/
|
|
146
|
+
@Deprecated
|
|
132
147
|
protected final synchronized void addRootViewGroup(int tag, View view) {}
|
|
133
148
|
|
|
134
149
|
/**
|
|
135
150
|
* @deprecated Use new architecture instead.
|
|
136
151
|
*/
|
|
152
|
+
@Deprecated
|
|
137
153
|
protected synchronized void dropView(View view) {}
|
|
138
154
|
|
|
139
155
|
/**
|
|
140
156
|
* @deprecated Use new architecture instead.
|
|
141
157
|
*/
|
|
158
|
+
@Deprecated
|
|
142
159
|
public synchronized void removeRootView(int rootViewTag) {}
|
|
143
160
|
|
|
144
161
|
/**
|
|
145
162
|
* @deprecated Use new architecture instead.
|
|
146
163
|
*/
|
|
164
|
+
@Deprecated
|
|
147
165
|
public synchronized int getRootViewNum() {
|
|
148
166
|
return 0;
|
|
149
167
|
}
|
|
@@ -151,16 +169,19 @@ public class NativeViewHierarchyManager {
|
|
|
151
169
|
/**
|
|
152
170
|
* @deprecated Use new architecture instead.
|
|
153
171
|
*/
|
|
172
|
+
@Deprecated
|
|
154
173
|
public synchronized void measure(int tag, int[] outputBuffer) {}
|
|
155
174
|
|
|
156
175
|
/**
|
|
157
176
|
* @deprecated Use new architecture instead.
|
|
158
177
|
*/
|
|
178
|
+
@Deprecated
|
|
159
179
|
public synchronized void measureInWindow(int tag, int[] outputBuffer) {}
|
|
160
180
|
|
|
161
181
|
/**
|
|
162
182
|
* @deprecated Use new architecture instead.
|
|
163
183
|
*/
|
|
184
|
+
@Deprecated
|
|
164
185
|
public synchronized int findTargetTagForTouch(int reactTag, float touchX, float touchY) {
|
|
165
186
|
return 0;
|
|
166
187
|
}
|
|
@@ -168,12 +189,14 @@ public class NativeViewHierarchyManager {
|
|
|
168
189
|
/**
|
|
169
190
|
* @deprecated Use new architecture instead.
|
|
170
191
|
*/
|
|
192
|
+
@Deprecated
|
|
171
193
|
public synchronized void setJSResponder(
|
|
172
194
|
int reactTag, int initialReactTag, boolean blockNativeResponder) {}
|
|
173
195
|
|
|
174
196
|
/**
|
|
175
197
|
* @deprecated Use new architecture instead.
|
|
176
198
|
*/
|
|
199
|
+
@Deprecated
|
|
177
200
|
public synchronized void clearJSResponder() {}
|
|
178
201
|
|
|
179
202
|
/**
|
|
@@ -186,11 +209,13 @@ public class NativeViewHierarchyManager {
|
|
|
186
209
|
/**
|
|
187
210
|
* @deprecated Use new architecture instead.
|
|
188
211
|
*/
|
|
212
|
+
@Deprecated
|
|
189
213
|
public synchronized void dispatchCommand(
|
|
190
214
|
int reactTag, String commandId, @Nullable ReadableArray args) {}
|
|
191
215
|
|
|
192
216
|
/**
|
|
193
217
|
* @deprecated Use new architecture instead.
|
|
194
218
|
*/
|
|
219
|
+
@Deprecated
|
|
195
220
|
public synchronized void sendAccessibilityEvent(int tag, int eventType) {}
|
|
196
221
|
}
|
package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt
CHANGED
|
@@ -35,7 +35,7 @@ import com.facebook.react.bridge.ReadableType
|
|
|
35
35
|
import com.facebook.react.bridge.WritableMap
|
|
36
36
|
import com.facebook.react.uimanager.UIManagerHelper.getSurfaceId
|
|
37
37
|
import com.facebook.react.uimanager.UIManagerHelper.getUIManager
|
|
38
|
-
import com.facebook.react.uimanager.common.
|
|
38
|
+
import com.facebook.react.uimanager.common.UIManagerType
|
|
39
39
|
import com.facebook.react.uimanager.events.Event
|
|
40
40
|
import com.facebook.react.uimanager.util.ReactFindViewUtil.findView
|
|
41
41
|
|
|
@@ -251,7 +251,7 @@ public open class ReactAccessibilityDelegate( // The View this delegate is attac
|
|
|
251
251
|
if (reactContext.hasActiveReactInstance()) {
|
|
252
252
|
val reactTag = host.id
|
|
253
253
|
val surfaceId = getSurfaceId(reactContext)
|
|
254
|
-
val uiManager = getUIManager(reactContext,
|
|
254
|
+
val uiManager = getUIManager(reactContext, UIManagerType.FABRIC)
|
|
255
255
|
if (uiManager != null) {
|
|
256
256
|
uiManager.eventDispatcher.dispatchEvent(
|
|
257
257
|
AccessibilityActionEvent(eventData, surfaceId, reactTag)
|
package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt
CHANGED
|
@@ -17,6 +17,7 @@ internal object ReactRootViewTagGenerator {
|
|
|
17
17
|
|
|
18
18
|
@JvmStatic
|
|
19
19
|
@Synchronized
|
|
20
|
-
fun getNextRootViewTag(): Int =
|
|
21
|
-
|
|
20
|
+
fun getNextRootViewTag(): Int = nextRootViewTag.also {
|
|
21
|
+
nextRootViewTag += ROOT_VIEW_TAG_INCREMENT
|
|
22
|
+
}
|
|
22
23
|
}
|