react-native-tvos 0.76.5-0 → 0.77.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/ActionSheetIOS/ActionSheetIOS.d.ts +1 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +13 -0
- package/Libraries/Animated/AnimatedEvent.js +1 -1
- package/Libraries/Animated/AnimatedImplementation.js +2 -2
- package/Libraries/Animated/NativeAnimatedAllowlist.js +20 -9
- package/Libraries/Animated/animations/Animation.js +60 -25
- package/Libraries/Animated/animations/DecayAnimation.js +26 -38
- package/Libraries/Animated/animations/SpringAnimation.js +33 -39
- package/Libraries/Animated/animations/TimingAnimation.js +34 -42
- package/Libraries/Animated/components/AnimatedFlatList.js +1 -1
- package/Libraries/Animated/components/AnimatedSectionList.js +3 -1
- package/Libraries/Animated/createAnimatedComponent.js +60 -33
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +1 -1
- package/Libraries/Animated/nodes/AnimatedNode.js +39 -45
- package/Libraries/Animated/nodes/AnimatedObject.js +13 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +104 -46
- package/Libraries/Animated/nodes/AnimatedStyle.js +116 -39
- package/Libraries/Animated/nodes/AnimatedTransform.js +56 -23
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -3
- package/Libraries/Animated/useAnimatedProps.js +41 -35
- package/Libraries/AppDelegate/RCTAppDelegate.h +10 -64
- package/Libraries/AppDelegate/RCTAppDelegate.mm +23 -21
- package/Libraries/AppDelegate/RCTAppSetupUtils.h +5 -1
- package/Libraries/AppDelegate/RCTAppSetupUtils.mm +8 -14
- package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +32 -0
- package/Libraries/AppDelegate/RCTDependencyProvider.h +26 -0
- package/Libraries/AppDelegate/RCTRootViewFactory.h +6 -2
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +27 -43
- package/Libraries/AppDelegate/RCTUIConfiguratorProtocol.h +56 -0
- package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -1
- package/Libraries/Blob/React-RCTBlob.podspec +3 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +19 -3
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +77 -5
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +4 -4
- package/Libraries/Components/Button.js +9 -4
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +3 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +7 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +2 -2
- package/Libraries/Components/Pressable/Pressable.js +7 -7
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +13 -7
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +3 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +4 -4
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +0 -1
- package/Libraries/Components/ScrollView/ScrollView.js +51 -90
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +0 -2
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +8 -9
- package/Libraries/Components/Switch/Switch.js +8 -6
- package/Libraries/Components/TV/TVFocusGuideView.js +2 -5
- package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +4 -4
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +6 -4
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +27 -4
- package/Libraries/Components/TextInput/TextInput.flow.js +36 -19
- package/Libraries/Components/TextInput/TextInput.js +38 -14
- package/Libraries/Components/TextInput/TextInputState.js +11 -13
- package/Libraries/Components/Touchable/BoundingDimensions.js +11 -3
- package/Libraries/Components/Touchable/Position.js +7 -2
- package/Libraries/Components/Touchable/Touchable.js +4 -0
- package/Libraries/Components/Touchable/TouchableBounce.js +6 -2
- package/Libraries/Components/Touchable/TouchableHighlight.js +5 -5
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableOpacity.js +7 -7
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -2
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -1
- package/Libraries/Components/View/View.js +6 -11
- package/Libraries/Components/View/ViewNativeComponent.js +8 -111
- package/Libraries/Components/View/ViewPropTypes.d.ts +7 -0
- package/Libraries/Components/View/ViewPropTypes.js +0 -3
- package/Libraries/Core/ExceptionsManager.js +50 -29
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -1
- package/Libraries/Core/setUpBatchedBridge.js +1 -10
- package/Libraries/Core/setUpDeveloperTools.js +1 -5
- package/Libraries/Core/setUpErrorHandling.js +20 -18
- package/Libraries/Core/setUpReactDevTools.js +107 -8
- package/Libraries/Core/setUpSegmentFetcher.js +1 -0
- package/Libraries/Core/setUpTimers.js +21 -18
- package/Libraries/Debugging/DebuggingOverlay.js +4 -5
- package/Libraries/Image/AssetSourceResolver.js +12 -1
- package/Libraries/Image/Image.android.js +1 -5
- package/Libraries/Image/Image.d.ts +20 -29
- package/Libraries/Image/Image.ios.js +0 -2
- package/Libraries/Image/ImageBackground.js +2 -5
- package/Libraries/Image/ImageProps.js +7 -6
- package/Libraries/Image/ImageResizeMode.d.ts +8 -1
- package/Libraries/Image/ImageResizeMode.js +4 -1
- package/Libraries/Image/ImageSource.d.ts +0 -2
- package/Libraries/Image/ImageSource.js +0 -2
- package/Libraries/Image/ImageTypes.flow.js +11 -9
- package/Libraries/Image/ImageUtils.js +6 -3
- package/Libraries/Image/ImageViewNativeComponent.js +5 -3
- package/Libraries/Image/RCTImageUtils.mm +2 -0
- package/Libraries/Image/RCTResizeMode.h +4 -1
- package/Libraries/Image/RCTResizeMode.mm +1 -0
- package/Libraries/Image/React-RCTImage.podspec +1 -1
- package/Libraries/Inspector/Inspector.js +1 -0
- package/Libraries/Inspector/NetworkOverlay.js +4 -0
- package/Libraries/Inspector/ReactDevToolsOverlay.js +8 -14
- package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +3 -5
- package/Libraries/Interaction/InteractionManager.js +6 -1
- package/Libraries/Interaction/InteractionManagerStub.js +176 -0
- package/Libraries/Interaction/TouchHistoryMath.js +22 -19
- package/Libraries/JSInspector/NetworkAgent.js +1 -1
- package/Libraries/LinkingIOS/RCTLinkingManager.mm +2 -1
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
- package/Libraries/Lists/FlatList.d.ts +1 -2
- package/Libraries/Lists/FlatList.js +2 -2
- package/Libraries/Lists/SectionListModern.js +7 -7
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +2 -2
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +3 -3
- package/Libraries/LogBox/LogBox.js +18 -5
- package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
- package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -3
- package/Libraries/LogBox/UI/AnsiHighlight.js +26 -17
- package/Libraries/LogBox/UI/LogBoxButton.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +1 -1
- package/Libraries/LogBox/UI/LogBoxMessage.js +2 -2
- package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
- package/Libraries/Modal/Modal.d.ts +12 -0
- package/Libraries/Modal/Modal.js +31 -4
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +72 -1
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -1
- package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -3
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -1
- package/Libraries/NativeComponent/TVViewConfig.js +1 -0
- package/Libraries/Network/FormData.js +11 -3
- package/Libraries/Network/React-RCTNetwork.podspec +1 -1
- package/Libraries/Network/XHRInterceptor.js +63 -14
- package/Libraries/Network/XMLHttpRequest.js +26 -1
- package/Libraries/NewAppScreen/components/HermesBadge.js +1 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +49 -2
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -4
- package/Libraries/Pressability/HoverState.js +2 -0
- package/Libraries/Pressability/Pressability.js +2 -3
- package/Libraries/Pressability/usePressability.js +4 -1
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistry.js +1 -11
- package/Libraries/ReactNative/DisplayMode.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -3
- package/Libraries/ReactNative/RendererImplementation.js +18 -17
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -3
- package/Libraries/ReactNative/renderApplication.js +9 -8
- package/Libraries/ReactNative/requireNativeComponent.js +5 -2
- package/Libraries/Renderer/shims/ReactFabric.js +3 -3
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
- package/Libraries/Renderer/shims/ReactNative.js +3 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.js +22 -35
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +5 -6
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Settings/React-RCTSettings.podspec +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +7 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +13 -2
- package/Libraries/StyleSheet/StyleSheetTypes.js +24 -6
- package/Libraries/StyleSheet/processBackgroundImage.js +87 -110
- package/Libraries/StyleSheet/processTransform.js +3 -34
- package/Libraries/Text/RCTTextAttributes.h +1 -2
- package/Libraries/Text/RCTTextAttributes.mm +9 -13
- package/Libraries/Text/Text.js +248 -249
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +1 -0
- package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +1 -0
- package/Libraries/Text/TextInput/RCTBaseTextInputView.h +1 -0
- package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +25 -3
- package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +1 -0
- package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +1 -0
- package/Libraries/Text/TextNativeComponent.js +0 -1
- package/Libraries/TurboModule/TurboModuleRegistry.js +5 -5
- package/Libraries/Types/CoreEventTypes.d.ts +3 -10
- package/Libraries/Types/CoreEventTypes.js +4 -6
- package/Libraries/Utilities/Appearance.js +3 -1
- package/Libraries/Utilities/BackHandler.android.js +6 -18
- package/Libraries/Utilities/BackHandler.d.ts +0 -4
- package/Libraries/Utilities/BackHandler.ios.js +3 -16
- package/Libraries/Utilities/BackHandler.js.flow +0 -4
- package/Libraries/Utilities/HMRClient.js +3 -4
- package/Libraries/Utilities/Platform.flow.js +2 -2
- package/Libraries/Utilities/__mocks__/BackHandler.js +3 -8
- package/Libraries/Utilities/codegenNativeComponent.js +1 -1
- package/Libraries/Utilities/setAndForwardRef.js +2 -2
- package/Libraries/Utilities/useMergeRefs.js +26 -7
- package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
- package/Libraries/WebSocket/WebSocketEvent.js +4 -1
- package/Libraries/WebSocket/WebSocketInterceptor.js +31 -13
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +6 -5
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/React/Base/RCTBridge.h +3 -0
- package/React/Base/RCTBridge.mm +12 -11
- package/React/Base/RCTBridgeModule.h +1 -9
- package/React/Base/RCTBridgeProxy.h +3 -0
- package/React/Base/RCTBridgeProxy.mm +10 -0
- package/React/Base/RCTCallInvoker.mm +5 -0
- package/React/Base/RCTConstants.h +2 -12
- package/React/Base/RCTConstants.m +3 -31
- package/React/Base/RCTConvert.mm +6 -1
- package/React/Base/RCTKeyCommands.m +0 -2
- package/React/Base/RCTModuleData.h +1 -7
- package/React/Base/RCTModuleData.mm +27 -34
- package/React/Base/RCTModuleMethod.mm +1 -1
- package/React/Base/RCTTouchEvent.m +1 -1
- package/React/Base/RCTUtils.h +1 -1
- package/React/Base/RCTUtils.m +9 -10
- package/React/Base/RCTVersion.m +2 -2
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +7 -0
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +2 -5
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +1 -1
- package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +57 -0
- package/React/CoreModules/RCTAccessibilityManager.h +1 -0
- package/React/CoreModules/RCTAccessibilityManager.mm +27 -0
- package/React/CoreModules/RCTActionSheetManager.mm +14 -7
- package/React/CoreModules/RCTAppearance.h +1 -1
- package/React/CoreModules/RCTAppearance.mm +8 -2
- package/React/CoreModules/RCTDevLoadingView.mm +42 -25
- package/React/CoreModules/RCTDevMenu.mm +5 -1
- package/{ReactAndroid/src/main/java/com/facebook/perftest/PerfTestConfig.java → React/CoreModules/RCTDevToolsRuntimeSettingsModule.h} +3 -7
- package/React/CoreModules/RCTDevToolsRuntimeSettingsModule.mm +58 -0
- package/React/CoreModules/RCTDeviceInfo.mm +4 -1
- package/React/CoreModules/RCTEventDispatcher.mm +1 -1
- package/React/CoreModules/RCTExceptionsManager.h +2 -6
- package/React/CoreModules/RCTExceptionsManager.mm +35 -30
- package/React/CoreModules/React-CoreModules.podspec +12 -2
- package/React/CxxBridge/RCTCxxBridge.mm +20 -23
- package/React/CxxModule/RCTCxxMethod.mm +10 -2
- package/React/DevSupport/RCTInspectorDevServerHelper.mm +1 -5
- package/React/DevSupport/RCTPackagerConnection.mm +11 -0
- package/React/DevSupport/RCTPausedInDebuggerOverlayController.mm +5 -1
- package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +2395 -0
- package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +2854 -0
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +2982 -0
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +8201 -0
- package/React/Fabric/AppleEventBeat.cpp +31 -0
- package/{ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.h → React/Fabric/AppleEventBeat.h} +8 -11
- package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +0 -8
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +0 -1
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +3 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +106 -59
- package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +2 -1
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +39 -15
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +9 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +173 -105
- package/React/Fabric/Mounting/RCTMountingManager.h +1 -1
- package/React/Fabric/Mounting/RCTMountingManager.mm +1 -2
- package/React/Fabric/RCTScheduler.h +3 -2
- package/React/Fabric/RCTScheduler.mm +5 -8
- package/React/Fabric/RCTSurfacePointerHandler.mm +8 -6
- package/React/Fabric/RCTSurfacePresenter.mm +6 -18
- package/React/Fabric/Surface/RCTFabricSurface.mm +7 -6
- package/React/Fabric/Utils/PlatformRunLoopObserver.h +6 -3
- package/React/Fabric/Utils/PlatformRunLoopObserver.mm +2 -5
- package/React/Fabric/Utils/RCTLinearGradient.h +19 -0
- package/React/Fabric/Utils/RCTLinearGradient.mm +134 -0
- package/React/I18n/FBXXHashUtils.h +10 -8
- package/React/Inspector/RCTCxxInspectorPackagerConnection.mm +3 -0
- package/React/Inspector/RCTCxxInspectorPackagerConnectionDelegate.mm +3 -0
- package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +12 -1
- package/React/Inspector/RCTInspector.mm +1 -1
- package/React/Modules/{RCTUIManager.m → RCTUIManager.mm} +7 -4
- package/React/React-RCTFBReactNativeSpec.podspec +87 -0
- package/React/React-RCTFabric.podspec +3 -1
- package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +274 -0
- package/React/Tests/Text/RCTParagraphComponentViewTests.mm +20 -20
- package/React/Tests/Text/RCTTextAttributesTest.mm +49 -0
- package/React/Views/RCTBorderDrawing.h +5 -5
- package/React/Views/RCTBorderDrawing.m +21 -23
- package/React/Views/{RCTComponentData.m → RCTComponentData.mm} +5 -4
- package/React/Views/RCTLayout.m +3 -0
- package/React/Views/RCTModalHostViewController.m +1 -1
- package/React/Views/RCTModalHostViewManager.m +3 -23
- package/React/Views/RCTView.m +9 -10
- package/React/Views/RCTViewManager.m +1 -1
- package/React/Views/ScrollView/RCTScrollEvent.m +3 -0
- package/React/Views/ScrollView/RCTScrollView.h +1 -1
- package/React/Views/ScrollView/RCTScrollView.m +80 -26
- package/React/Views/ScrollView/RCTScrollViewManager.m +1 -0
- package/React/third-party.xcconfig +1 -1
- package/React-Core.podspec +4 -2
- package/ReactAndroid/api/ReactAndroid.api +339 -814
- package/ReactAndroid/build.gradle.kts +48 -13
- package/ReactAndroid/cmake-utils/ReactNative-application.cmake +18 -3
- package/ReactAndroid/gradle.properties +8 -2
- package/ReactAndroid/hermes-engine/build.gradle.kts +28 -26
- package/ReactAndroid/src/main/AndroidManifest.xml +1 -1
- package/ReactAndroid/src/main/java/com/facebook/debug/debugoverlay/model/DebugOverlayTag.kt +21 -0
- package/ReactAndroid/src/main/java/com/facebook/debug/holder/NoopPrinter.kt +4 -5
- package/ReactAndroid/src/main/java/com/facebook/debug/holder/Printer.kt +4 -4
- package/ReactAndroid/src/main/java/com/facebook/debug/holder/PrinterHolder.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/debug/tags/ReactDebugOverlayTags.kt +45 -0
- package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/KeepGettersAndSetters.kt +24 -0
- package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +131 -0
- package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +61 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +12 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +74 -34
- package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +109 -27
- package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +25 -7
- package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +35 -3
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +43 -27
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.kt +53 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +43 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +28 -0
- package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.kt +13 -0
- package/ReactAndroid/src/main/java/com/facebook/react/{ViewManagerOnDemandReactPackage.java → ViewManagerOnDemandReactPackage.kt} +8 -8
- package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +22 -30
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.kt +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.kt +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/AssertionException.kt +14 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +9 -10
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxCallbackImpl.java +3 -6
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicNative.kt +2 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{InvalidIteratorException.java → InvalidIteratorException.kt} +4 -9
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JSApplicationCausedNativeException.java → JSApplicationCausedNativeException.kt} +7 -16
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSApplicationIllegalArgumentException.kt +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyArray.kt +148 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.kt +180 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.kt +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.kt +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeMap.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NoSuchKeyException.kt +14 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{ObjectAlreadyConsumedException.java → ObjectAlreadyConsumedException.kt} +4 -9
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +4 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactIgnorableMountingException.kt +35 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.kt +22 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +65 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArray.kt +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMap.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.kt +92 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.kt +8 -13
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{RetryableMountingLayerException.java → RetryableMountingLayerException.kt} +6 -11
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt +1 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.kt +52 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.kt +6 -9
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +49 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/{SurfaceDelegate.java → SurfaceDelegate.kt} +11 -11
- package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegateFactory.kt +22 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.kt +35 -0
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +14 -15
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +52 -3
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt +14 -18
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.java +124 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +33 -26
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +6 -3
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSettingsActivity.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +28 -38
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +22 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialog.kt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceDevHelper.java +12 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +37 -3
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +3 -6
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java +23 -5
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +6 -7
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +24 -26
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/{BindingImpl.kt → FabricUIManagerBinding.kt} +26 -20
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/LongStreamingStats.kt +62 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +10 -14
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.java +10 -57
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +5 -17
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +45 -62
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +10 -18
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DestroyUnmountedViewMountItem.kt +30 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/FabricNameComponentMapping.kt +3 -9
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +27 -11
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +63 -0
- package/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt +20 -10
- package/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/ReactSurface.kt +10 -10
- package/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/SurfaceHandler.kt +0 -11
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +78 -70
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsAccessor.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +106 -133
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +25 -29
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +25 -31
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +136 -155
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +23 -29
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +25 -22
- package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfo.kt +11 -16
- package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +121 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt +0 -11
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +7 -8
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/devtoolsruntimesettings/ReactDevToolsRuntimeSettingsModule.kt +49 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +57 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogTitle.kt +55 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +21 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ImageCacheControl.kt +31 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.kt +6 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +19 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +21 -14
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/XmlFormat.kt +143 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +270 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +4 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/reactdevtoolssettings/ReactDevToolsSettingsManagerModule.kt +34 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/SoundManagerModule.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +126 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.kt +87 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/VibrationModule.kt +8 -4
- package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/NativeModulePerfLogger.kt +11 -11
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +15 -8
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +153 -81
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +75 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.java +6 -2
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/cxxreactpackage/CxxReactPackage.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/{Continuation.java → Continuation.kt} +4 -8
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/{ExecutorException.java → ExecutorException.kt} +3 -9
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/TaskCompletionSource.kt +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedErrorNotifier.kt +27 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/{UnobservedTaskException.java → UnobservedTaskException.kt} +2 -8
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +272 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +398 -62
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +42 -36
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +40 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +7 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +12 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +13 -14
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ReactClippingProhibitedView.java → ReactClippingProhibitedView.kt} +6 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ReactCompoundView.java → ReactCompoundView.kt} +3 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ReactCompoundViewGroup.java → ReactCompoundViewGroup.kt} +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +4 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.java +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.java +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropertyHolder.java +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundDrawable.kt +257 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +1071 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +11 -9
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +200 -24
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +16 -20
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +189 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutsetBoxShadowDrawable.kt +15 -11
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +7 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderColors.kt +107 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +53 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +14 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +20 -29
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +137 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/OutlineStyle.kt +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/ReactFindViewUtil.kt +129 -0
- package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/common/ContextUtils.kt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +96 -90
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMethod.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMode.kt +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.kt +8 -56
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +74 -171
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +7 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +0 -35
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +24 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +25 -25
- package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerLegacyView.kt +46 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +27 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +56 -100
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +15 -93
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +44 -81
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewCommandHelper.kt +101 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +28 -49
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +12 -63
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt +5 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +131 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +153 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +72 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.kt +60 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.kt +45 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +12 -59
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.kt +92 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +20 -54
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManagerCallback.kt +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +114 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/{ReactVirtualTextShadowNode.java → ReactVirtualTextShadowNode.kt} +3 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.kt +38 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +161 -56
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextTransform.kt +48 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLineHeightSpan.kt +25 -38
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/LegacyLineHeightSpan.kt +69 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactTextPaintHolderSpan.kt +13 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +54 -58
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +16 -60
- package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedView.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.kt +14 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.kt +0 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.kt +82 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.java +9 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +150 -351
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +489 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +42 -0
- package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +11 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaBoxSizing.java +33 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +4 -0
- package/ReactAndroid/src/main/jni/CMakeLists.txt +1 -0
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +7 -0
- package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnection.cpp +4 -2
- package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnection.h +2 -0
- package/ReactAndroid/src/main/jni/react/fabric/{AsyncEventBeat.cpp → AndroidEventBeat.cpp} +10 -32
- package/ReactAndroid/src/main/jni/react/fabric/{AsyncEventBeat.h → AndroidEventBeat.h} +6 -9
- package/ReactAndroid/src/main/jni/react/fabric/Binding.h +3 -156
- package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +1 -0
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +422 -313
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +2 -4
- package/ReactAndroid/src/main/jni/react/fabric/{Binding.cpp → FabricUIManagerBinding.cpp} +249 -169
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +174 -0
- package/ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.cpp +5 -6
- package/ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.h +2 -2
- package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +2 -2
- package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +16 -48
- package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +1 -3
- package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +8 -36
- package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.h +2 -9
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +146 -174
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +31 -36
- package/ReactAndroid/src/main/jni/react/jni/JCallback.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JInspector.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.cpp +2 -3
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.cpp +2 -3
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.h +1 -1
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.cpp +29 -8
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.h +3 -1
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +2 -1
- package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +0 -1
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/BindingsInstallerHolder.cpp +12 -3
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/BindingsInstallerHolder.h +15 -4
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/OnLoad.cpp +0 -3
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +1 -1
- package/ReactAndroid/src/main/jni/third-party/fast_float/CMakeLists.txt +13 -0
- package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +5 -6
- package/ReactAndroid/src/main/res/views/alert/layout/alert_title_layout.xml +22 -0
- package/ReactCommon/React-Fabric.podspec +4 -2
- package/ReactCommon/React-FabricComponents.podspec +7 -4
- package/ReactCommon/React-FabricImage.podspec +6 -2
- package/ReactCommon/ReactCommon.podspec +5 -3
- package/ReactCommon/callinvoker/React-callinvoker.podspec +0 -6
- package/ReactCommon/cxxreact/CMakeLists.txt +0 -1
- package/ReactCommon/cxxreact/CxxNativeModule.cpp +6 -3
- package/ReactCommon/cxxreact/JSBigString.cpp +4 -4
- package/ReactCommon/cxxreact/JSExecutor.cpp +2 -4
- package/ReactCommon/cxxreact/React-cxxreact.podspec +4 -2
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/devtoolsruntimesettings/CMakeLists.txt +22 -0
- package/ReactCommon/devtoolsruntimesettings/DevToolsRuntimeSettings.cpp +27 -0
- package/ReactCommon/devtoolsruntimesettings/DevToolsRuntimeSettings.h +56 -0
- package/ReactCommon/hermes/React-hermes.podspec +3 -1
- package/ReactCommon/jsc/JSCRuntime.cpp +9 -9
- package/ReactCommon/jserrorhandler/CMakeLists.txt +2 -1
- package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +369 -98
- package/ReactCommon/jserrorhandler/JsErrorHandler.h +34 -8
- package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +8 -4
- package/ReactCommon/jserrorhandler/StackTraceParser.cpp +317 -0
- package/ReactCommon/jserrorhandler/StackTraceParser.h +23 -0
- package/ReactCommon/jserrorhandler/tests/StackTraceParserTest.cpp +1196 -0
- package/ReactCommon/jsi/React-jsi.podspec +8 -3
- package/ReactCommon/jsi/jsi/decorator.h +16 -0
- package/ReactCommon/jsi/jsi/jsi.cpp +113 -2
- package/ReactCommon/jsi/jsi/jsi.h +19 -6
- package/ReactCommon/jsi/jsi/test/testlib.cpp +59 -0
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +4 -2
- package/ReactCommon/jsinspector-modern/HostAgent.cpp +6 -40
- package/ReactCommon/jsinspector-modern/HostAgent.h +4 -1
- package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +2 -0
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +8 -7
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +2 -2
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +19 -9
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.h +4 -2
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +6 -3
- package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +59 -0
- package/ReactCommon/jsinspector-modern/TracingAgent.h +41 -0
- package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +29 -33
- package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +130 -0
- package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +4 -13
- package/ReactCommon/logger/React-logger.podspec +2 -1
- package/ReactCommon/react/bridging/Base.h +29 -4
- package/ReactCommon/react/bridging/Convert.h +2 -2
- package/ReactCommon/react/config/ReactNativeConfig.cpp +0 -3
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +66 -63
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +66 -64
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +174 -219
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +31 -35
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +36 -48
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +15 -18
- package/ReactCommon/react/featureflags/tests/ReactNativeFeatureFlagsTest.cpp +23 -0
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +4 -16
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.h +1 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +22 -22
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +65 -45
- package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +5 -2
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +2 -2
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.h +0 -8
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +4 -22
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleWithJSIBindings.h +9 -1
- package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
- package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +10 -0
- package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +18 -2
- package/ReactCommon/react/nativemodule/devtoolsruntimesettings/CMakeLists.txt +24 -0
- package/ReactCommon/react/nativemodule/devtoolsruntimesettings/DevToolsRuntimeSettingsModule.cpp +35 -0
- package/ReactCommon/react/nativemodule/devtoolsruntimesettings/DevToolsRuntimeSettingsModule.h +27 -0
- package/ReactCommon/react/nativemodule/devtoolsruntimesettings/README.md +6 -0
- package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +21 -3
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +53 -61
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +24 -28
- package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +19 -3
- package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +18 -3
- package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.cpp +6 -1
- package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h +3 -1
- package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +18 -3
- package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +2 -1
- package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +6 -3
- package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleJSIBindings.cpp +5 -4
- package/ReactCommon/react/nativemodule/samples/platform/android/SampleLegacyModule.kt +277 -0
- package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.kt +245 -0
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +4 -0
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleLegacyModule.mm +2 -2
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +3 -2
- package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +261 -28
- package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +131 -0
- package/ReactCommon/react/performance/timeline/CircularBuffer.h +133 -0
- package/ReactCommon/react/performance/timeline/PerformanceEntry.h +53 -0
- package/ReactCommon/react/performance/timeline/PerformanceEntryBuffer.h +40 -0
- package/ReactCommon/react/performance/timeline/PerformanceEntryCircularBuffer.cpp +38 -0
- package/ReactCommon/react/performance/timeline/PerformanceEntryCircularBuffer.h +34 -0
- package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.cpp +59 -0
- package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.h +39 -0
- package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +140 -206
- package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +82 -131
- package/ReactCommon/react/performance/timeline/PerformanceObserver.cpp +92 -0
- package/ReactCommon/react/performance/timeline/PerformanceObserver.h +139 -0
- package/ReactCommon/react/performance/timeline/PerformanceObserverRegistry.cpp +34 -0
- package/ReactCommon/react/performance/timeline/PerformanceObserverRegistry.h +54 -0
- package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
- package/ReactCommon/react/performance/timeline/tests/CircularBufferTest.cpp +127 -0
- package/ReactCommon/react/performance/timeline/tests/PerformanceEntryReporterTest.cpp +238 -254
- package/ReactCommon/react/performance/timeline/tests/PerformanceObserverTest.cpp +272 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +4 -4
- package/ReactCommon/react/renderer/attributedstring/AttributedString.cpp +13 -28
- package/ReactCommon/react/renderer/attributedstring/AttributedString.h +8 -6
- package/ReactCommon/react/renderer/attributedstring/conversions.h +4 -0
- package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringBoxTest.cpp +3 -3
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +5 -18
- package/ReactCommon/react/renderer/components/image/ImageProps.cpp +110 -36
- package/ReactCommon/react/renderer/components/image/ImageProps.h +8 -1
- package/ReactCommon/react/renderer/components/image/ImageShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/image/conversions.h +27 -0
- package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.cpp +0 -1
- package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.h +0 -1
- package/ReactCommon/react/renderer/components/rncore/Props.cpp +1 -0
- package/ReactCommon/react/renderer/components/rncore/Props.h +1 -0
- package/ReactCommon/react/renderer/components/rncore/ShadowNodes.cpp +0 -1
- package/ReactCommon/react/renderer/components/rncore/ShadowNodes.h +0 -11
- package/ReactCommon/react/renderer/components/rncore/States.h +0 -12
- package/ReactCommon/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewComponentDescriptor.h +18 -0
- package/ReactCommon/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewShadowNode.cpp +29 -0
- package/ReactCommon/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewShadowNode.h +26 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +8 -6
- package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +5 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +0 -8
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +0 -1
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +98 -100
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +0 -1
- package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +2 -2
- package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +19 -10
- package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +18 -16
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +1 -0
- package/ReactCommon/react/renderer/components/text/tests/BaseTextShadowNodeTest.cpp +93 -0
- package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +38 -2
- package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h +10 -0
- package/ReactCommon/react/renderer/components/textinput/{platform/ios/react/renderer/components/iostextinput/TextInputEventEmitter.cpp → TextInputEventEmitter.cpp} +3 -1
- package/ReactCommon/react/renderer/components/textinput/{platform/ios/react/renderer/components/iostextinput/TextInputEventEmitter.h → TextInputEventEmitter.h} +1 -0
- package/ReactCommon/react/renderer/components/textinput/baseConversions.h +46 -0
- package/ReactCommon/react/{utils/CoreFeatures.cpp → renderer/components/textinput/basePrimitives.h} +7 -4
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +8 -6
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +44 -57
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.h +1 -3
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +3 -20
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +0 -4
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.cpp +8 -1
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.h +1 -0
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.cpp +1 -18
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +1 -5
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/conversions.h +0 -20
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/primitives.h +1 -20
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/propsConversions.h +0 -12
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +36 -34
- package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +206 -149
- package/ReactCommon/react/renderer/components/view/BaseViewProps.h +8 -2
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +48 -36
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +18 -18
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +2 -2
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +60 -60
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +23 -17
- package/ReactCommon/react/renderer/components/view/conversions.h +136 -68
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +22 -20
- package/ReactCommon/react/renderer/components/view/primitives.h +2 -0
- package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +20 -20
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +2 -2
- package/ReactCommon/react/renderer/core/EventBeat.cpp +47 -14
- package/ReactCommon/react/renderer/core/EventBeat.h +87 -31
- package/ReactCommon/react/renderer/core/EventDispatcher.cpp +4 -9
- package/ReactCommon/react/renderer/core/EventDispatcher.h +1 -3
- package/ReactCommon/react/renderer/core/EventEmitter.h +0 -2
- package/ReactCommon/react/renderer/core/EventLogger.h +4 -1
- package/ReactCommon/react/renderer/core/EventQueue.cpp +3 -18
- package/ReactCommon/react/renderer/core/EventQueue.h +1 -8
- package/ReactCommon/react/renderer/core/LayoutPrimitives.h +1 -1
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +4 -4
- package/ReactCommon/react/renderer/core/Props.cpp +3 -2
- package/ReactCommon/react/renderer/core/RawEvent.h +6 -0
- package/ReactCommon/react/renderer/core/RawValue.h +20 -20
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +21 -28
- package/ReactCommon/react/renderer/core/ShadowNode.h +4 -13
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +24 -1
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +38 -1
- package/ReactCommon/react/renderer/core/ShadowNodeFragment.h +0 -1
- package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +5 -5
- package/ReactCommon/react/renderer/core/conversions.h +3 -3
- package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +4 -2
- package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +2 -51
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +18 -18
- package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +2 -0
- package/ReactCommon/react/renderer/dom/DOM.cpp +4 -7
- package/ReactCommon/react/renderer/graphics/BackgroundImage.h +4 -32
- package/ReactCommon/react/renderer/graphics/LinearGradient.h +62 -0
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +4 -1
- package/ReactCommon/react/renderer/graphics/Transform.h +4 -4
- package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +20 -48
- package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +2 -2
- package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.mm +2 -0
- package/ReactCommon/react/renderer/imagemanager/ImageRequest.cpp +4 -8
- package/ReactCommon/react/renderer/imagemanager/ImageRequest.h +2 -12
- package/ReactCommon/react/renderer/imagemanager/ImageResponse.h +1 -0
- package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +27 -3
- package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.h +15 -0
- package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +5 -2
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImageManager.mm +24 -16
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +44 -8
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +4 -3
- package/ReactCommon/react/renderer/imagemanager/primitives.h +5 -0
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +36 -23
- package/ReactCommon/react/renderer/mounting/Differentiator.h +41 -2
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +12 -7
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +0 -3
- package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +5 -4
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +10 -130
- package/ReactCommon/react/renderer/mounting/ShadowTree.h +2 -7
- package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +1 -1
- package/ReactCommon/react/renderer/mounting/ShadowView.cpp +0 -8
- package/ReactCommon/react/renderer/mounting/ShadowView.h +0 -44
- package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +4 -4
- package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.h +1 -1
- package/ReactCommon/react/renderer/mounting/stubs/stubs.h +2 -2
- package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +3 -3
- package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +35 -109
- package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +10 -6
- package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +5 -2
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +36 -16
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +4 -3
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +6 -2
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.h +1 -0
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.cpp +9 -6
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.h +11 -1
- package/ReactCommon/react/renderer/observers/mutation/MutationObserver.cpp +14 -16
- package/ReactCommon/react/renderer/observers/mutation/MutationObserver.h +15 -4
- package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +2 -2
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +2 -1
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +6 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +42 -51
- package/ReactCommon/react/renderer/runtimescheduler/primitives.h +0 -1
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +86 -68
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +33 -37
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +3 -3
- package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +4 -2
- package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +1 -2
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +3 -3
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.h +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +2 -3
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +2 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +25 -0
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +4 -10
- package/ReactCommon/react/renderer/uimanager/UIManager.h +1 -1
- package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +1 -3
- package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +1 -1
- package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +1 -1
- package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +10 -10
- package/ReactCommon/react/runtime/React-RuntimeCore.podspec +5 -2
- package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +4 -2
- package/ReactCommon/react/runtime/ReactInstance.cpp +189 -39
- package/ReactCommon/react/runtime/ReactInstance.h +1 -0
- package/ReactCommon/react/runtime/TimerManager.cpp +1 -1
- package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +3 -6
- package/ReactCommon/react/runtime/iostests/RCTHostTests.mm +20 -2
- package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +7 -2
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost+Internal.h +3 -0
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +14 -6
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +59 -21
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +11 -6
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +65 -27
- package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +2 -131
- package/ReactCommon/react/timing/CMakeLists.txt +1 -1
- package/ReactCommon/react/timing/primitives.h +2 -0
- package/ReactCommon/react/utils/RunLoopObserver.cpp +2 -4
- package/ReactCommon/react/utils/RunLoopObserver.h +1 -3
- package/ReactCommon/react/utils/SharedFunction.h +1 -0
- package/ReactCommon/reactperflogger/CMakeLists.txt +4 -1
- package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -0
- package/ReactCommon/reactperflogger/reactperflogger/FuseboxPerfettoDataSource.cpp +143 -0
- package/ReactCommon/reactperflogger/reactperflogger/FuseboxPerfettoDataSource.h +48 -0
- package/ReactCommon/reactperflogger/reactperflogger/ReactPerfLogger.cpp +65 -0
- package/ReactCommon/reactperflogger/reactperflogger/ReactPerfLogger.h +35 -0
- package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +2 -0
- package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +2 -1
- package/ReactCommon/yoga/yoga/YGEnums.cpp +14 -2
- package/ReactCommon/yoga/yoga/YGEnums.h +8 -2
- package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +38 -28
- package/ReactCommon/yoga/yoga/YGNodeStyle.h +3 -0
- package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +51 -117
- package/ReactCommon/yoga/yoga/algorithm/Align.h +4 -4
- package/ReactCommon/yoga/yoga/algorithm/Baseline.cpp +2 -6
- package/ReactCommon/yoga/yoga/algorithm/BoundAxis.h +13 -6
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +349 -341
- package/ReactCommon/yoga/yoga/algorithm/FlexLine.cpp +19 -18
- package/ReactCommon/yoga/yoga/algorithm/FlexLine.h +2 -4
- package/ReactCommon/yoga/yoga/enums/BoxSizing.h +40 -0
- package/ReactCommon/yoga/yoga/enums/Display.h +2 -1
- package/ReactCommon/yoga/yoga/enums/Errata.h +1 -1
- package/ReactCommon/yoga/yoga/node/LayoutableChildren.h +148 -0
- package/ReactCommon/yoga/yoga/node/Node.cpp +60 -7
- package/ReactCommon/yoga/yoga/node/Node.h +51 -9
- package/ReactCommon/yoga/yoga/style/Style.h +64 -1
- package/ReactCommon/yoga/yoga/style/StyleLength.h +0 -32
- package/ReactCommon/yoga/yoga/style/StyleValuePool.h +4 -4
- package/cli.js +2 -2
- package/gradle/libs.versions.toml +9 -8
- package/index.js +15 -8
- package/jest/setup.js +31 -0
- package/package.json +11 -13
- package/scripts/cocoapods/codegen_utils.rb +42 -17
- package/scripts/cocoapods/helpers.rb +16 -2
- package/scripts/cocoapods/new_architecture.rb +2 -0
- package/scripts/cocoapods/spm.rb +1 -1
- package/scripts/cocoapods/utils.rb +8 -6
- package/scripts/codegen/generate-artifacts-executor.js +336 -172
- package/scripts/codegen/generate-specs-cli-executor.js +3 -3
- package/scripts/codegen/templates/RCTAppDependencyProviderH.template +25 -0
- package/scripts/codegen/templates/RCTAppDependencyProviderMM.template +55 -0
- package/scripts/codegen/templates/RCTThirdPartyComponentsProviderH.template +16 -0
- package/scripts/codegen/templates/RCTThirdPartyComponentsProviderMM.template +23 -0
- package/scripts/codegen/templates/ReactAppDependencyProvider.podspec.template +34 -0
- package/scripts/generate-provider-cli.js +1 -2
- package/scripts/ios-configure-glog.sh +2 -2
- package/scripts/react-native-xcode.sh +8 -5
- package/scripts/react_native_pods.rb +16 -0
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/hermes-engine.podspec +15 -9
- package/sdks/hermes-engine/hermes-utils.rb +29 -8
- package/sdks/hermes-engine/utils/build-ios-framework.sh +4 -24
- package/sdks/hermesc/linux64-bin/hermesc +0 -0
- package/sdks/hermesc/osx-bin/hermes +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/src/private/animated/NativeAnimatedHelper.js +18 -16
- package/src/private/animated/useAnimatedPropsMemo.js +356 -0
- package/src/private/components/HScrollViewNativeComponents.js +1 -27
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +11 -8
- package/src/private/components/VScrollViewNativeComponents.js +2 -25
- package/src/private/debugging/ReactDevToolsSettingsManager.android.js +20 -0
- package/src/private/debugging/ReactDevToolsSettingsManager.ios.js +30 -0
- package/{Libraries/ReactNative/ReactFabricInternals.js → src/private/debugging/ReactDevToolsSettingsManager.js.flow} +5 -6
- package/src/private/{fusebox → debugging}/setUpFuseboxReactDevToolsDispatcher.js +6 -0
- package/src/private/devmenu/DevMenu.d.ts +20 -0
- package/src/private/devmenu/DevMenu.js +31 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +95 -86
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +8 -2
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -19
- package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
- package/src/private/setup/setUpDOM.js +14 -6
- package/src/private/setup/setUpMutationObserver.js +5 -0
- package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -0
- package/src/private/specs/components/RCTModalHostViewNativeComponent.js +8 -0
- package/src/private/specs/modules/NativeAccessibilityInfo.js +9 -0
- package/src/private/specs/modules/NativeAccessibilityManager.js +4 -0
- package/src/private/specs/modules/NativeActionSheetManager.js +2 -0
- package/src/private/specs/modules/NativeAppearance.js +4 -10
- package/src/private/specs/modules/NativeExceptionsManager.js +0 -12
- package/src/private/specs/modules/{NativeDevToolsSettingsManager.js → NativeReactDevToolsSettingsManager.js} +3 -5
- package/src/private/webapis/dom/geometry/DOMRect.js +2 -2
- package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +2 -2
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -3
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +102 -11
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +26 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +1 -0
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
- package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +9 -0
- package/src/private/webapis/performance/EventTiming.js +13 -8
- package/src/private/webapis/performance/Performance.js +66 -73
- package/src/private/webapis/performance/PerformanceEntry.js +2 -5
- package/src/private/webapis/performance/PerformanceObserver.js +65 -164
- package/src/private/webapis/performance/RawPerformanceEntry.js +1 -1
- package/src/private/webapis/performance/UserTiming.js +11 -7
- package/src/private/webapis/performance/Utilities.js +18 -0
- package/src/private/webapis/performance/specs/NativePerformance.js +71 -2
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +267 -0
- package/third-party-podspecs/DoubleConversion.podspec +1 -0
- package/third-party-podspecs/RCT-Folly.podspec +20 -11
- package/third-party-podspecs/boost.podspec +4 -0
- package/third-party-podspecs/fast_float.podspec +29 -0
- package/third-party-podspecs/glog.podspec +2 -1
- package/types/index.d.ts +1 -1
- package/types/public/ReactNativeTVTypes.d.ts +9 -7
- package/types/public/ReactNativeTypes.d.ts +4 -8
- package/types/tsconfig.json +13 -13
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +0 -35
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +0 -20
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +0 -49
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.js.flow +0 -19
- package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +0 -13
- package/React/Base/RCTRuntimeExecutorModule.h +0 -19
- package/ReactAndroid/src/main/java/com/facebook/debug/debugoverlay/model/DebugOverlayTag.java +0 -30
- package/ReactAndroid/src/main/java/com/facebook/debug/tags/ReactDebugOverlayTags.java +0 -38
- package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/KeepGettersAndSetters.java +0 -27
- package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.java +0 -159
- package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +0 -131
- package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackageTurboModuleManagerDelegate.java +0 -57
- package/ReactAndroid/src/main/java/com/facebook/react/EagerModuleProvider.java +0 -26
- package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.java +0 -69
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.java +0 -67
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.java +0 -56
- package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.java +0 -14
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/AssertionException.java +0 -20
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSApplicationIllegalArgumentException.java +0 -20
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyArray.java +0 -219
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.java +0 -266
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.java +0 -22
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.java +0 -28
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NoSuchKeyException.java +0 -20
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactIgnorableMountingException.java +0 -36
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.java +0 -27
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.java +0 -29
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.java +0 -66
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.java +0 -174
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.java +0 -68
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.java +0 -57
- package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegateFactory.java +0 -24
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +0 -79
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/AndroidManifest.xml +0 -10
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.kt +0 -74
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.kt +0 -45
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/LongStreamingStats.java +0 -76
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +0 -90
- package/ReactAndroid/src/main/java/com/facebook/react/flipper/ReactNativeFlipper.kt +0 -34
- package/ReactAndroid/src/main/java/com/facebook/react/modules/devtoolssettings/DevToolsSettingsManagerModule.kt +0 -40
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +0 -280
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java +0 -175
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java +0 -104
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessDevSupportManager.java +0 -159
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/TaskCompletionSource.java +0 -73
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedErrorNotifier.java +0 -42
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -329
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.kt +0 -85
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.java +0 -30
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/ReactFindViewUtil.java +0 -138
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerView.java +0 -82
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewCommandHelper.java +0 -141
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +0 -151
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.java +0 -194
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.java +0 -65
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +0 -66
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.java +0 -55
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.java +0 -153
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManagerCallback.java +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +0 -198
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.java +0 -47
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextTransform.java +0 -63
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.java +0 -95
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +0 -146
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +0 -588
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CompositeTurboModuleManagerDelegate.cpp +0 -58
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CompositeTurboModuleManagerDelegate.h +0 -48
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTRuntimeExecutor.h +0 -32
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTRuntimeExecutor.mm +0 -34
- package/ReactCommon/react/nativemodule/samples/platform/android/SampleLegacyModule.java +0 -246
- package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +0 -281
- package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.cpp +0 -130
- package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.h +0 -91
- package/ReactCommon/react/performance/timeline/BoundedConsumableBuffer.h +0 -247
- package/ReactCommon/react/performance/timeline/tests/BoundedConsumableBufferTest.cpp +0 -219
- package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +0 -57
- package/ReactCommon/react/utils/CoreFeatures.h +0 -30
- package/src/private/components/useSyncOnScroll.js +0 -48
- package/src/private/fusebox/README.md +0 -12
- package/src/private/webapis/performance/specs/NativePerformanceObserver.js +0 -61
- package/src/private/webapis/performance/specs/__mocks__/NativePerformance.js +0 -67
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceObserver.js +0 -127
- package/types/experimental.d.ts +0 -59
- /package/src/private/{fusebox → debugging}/FuseboxSessionObserver.js +0 -0
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
package com.facebook.react.views.view;
|
|
9
9
|
|
|
10
|
+
import static com.facebook.infer.annotation.Assertions.nullsafeFIXME;
|
|
10
11
|
import static com.facebook.react.common.ReactConstants.TAG;
|
|
11
12
|
|
|
12
13
|
import android.annotation.SuppressLint;
|
|
@@ -14,13 +15,9 @@ import android.annotation.TargetApi;
|
|
|
14
15
|
import android.content.Context;
|
|
15
16
|
import android.graphics.BlendMode;
|
|
16
17
|
import android.graphics.Canvas;
|
|
17
|
-
import android.graphics.Color;
|
|
18
18
|
import android.graphics.Paint;
|
|
19
|
-
import android.graphics.Path;
|
|
20
19
|
import android.graphics.Rect;
|
|
21
|
-
import android.graphics.RectF;
|
|
22
20
|
import android.graphics.drawable.Drawable;
|
|
23
|
-
import android.graphics.drawable.LayerDrawable;
|
|
24
21
|
import android.os.Build;
|
|
25
22
|
import android.os.Bundle;
|
|
26
23
|
import android.view.FocusFinder;
|
|
@@ -39,20 +36,18 @@ import androidx.core.view.ViewCompat;
|
|
|
39
36
|
|
|
40
37
|
import com.facebook.common.logging.FLog;
|
|
41
38
|
import com.facebook.infer.annotation.Assertions;
|
|
39
|
+
import com.facebook.infer.annotation.Nullsafe;
|
|
42
40
|
import com.facebook.react.R;
|
|
43
41
|
import com.facebook.react.bridge.ReactContext;
|
|
44
42
|
import com.facebook.react.bridge.ReactNoCrashSoftException;
|
|
45
43
|
import com.facebook.react.bridge.ReactSoftExceptionLogger;
|
|
46
44
|
import com.facebook.react.bridge.UiThreadUtil;
|
|
47
|
-
import com.facebook.react.
|
|
48
|
-
import com.facebook.react.common.annotations.VisibleForTesting;
|
|
49
|
-
import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
|
|
50
|
-
import com.facebook.react.modules.i18nmanager.I18nUtil;
|
|
45
|
+
import com.facebook.react.config.ReactFeatureFlags;
|
|
51
46
|
import com.facebook.react.touch.OnInterceptTouchEventListener;
|
|
52
47
|
import com.facebook.react.touch.ReactHitSlopView;
|
|
53
48
|
import com.facebook.react.touch.ReactInterceptingViewGroup;
|
|
54
49
|
import com.facebook.react.uimanager.BackgroundStyleApplicator;
|
|
55
|
-
import com.facebook.react.uimanager.
|
|
50
|
+
import com.facebook.react.uimanager.BlendModeHelper;
|
|
56
51
|
import com.facebook.react.uimanager.LengthPercentage;
|
|
57
52
|
import com.facebook.react.uimanager.LengthPercentageType;
|
|
58
53
|
import com.facebook.react.uimanager.MeasureSpecAssertions;
|
|
@@ -80,11 +75,10 @@ import com.facebook.react.uimanager.events.PressOutEvent;
|
|
|
80
75
|
import com.facebook.react.uimanager.style.BackgroundImageLayer;
|
|
81
76
|
import com.facebook.react.uimanager.style.BorderRadiusProp;
|
|
82
77
|
import com.facebook.react.uimanager.style.BorderStyle;
|
|
83
|
-
import com.facebook.react.uimanager.style.ComputedBorderRadius;
|
|
84
|
-
import com.facebook.react.uimanager.style.CornerRadii;
|
|
85
78
|
import com.facebook.react.uimanager.style.LogicalEdge;
|
|
86
79
|
import com.facebook.react.uimanager.style.Overflow;
|
|
87
|
-
import java.util.
|
|
80
|
+
import java.util.HashSet;
|
|
81
|
+
import java.util.Set;
|
|
88
82
|
|
|
89
83
|
import java.lang.ref.WeakReference;
|
|
90
84
|
import java.util.ArrayList;
|
|
@@ -93,6 +87,7 @@ import java.util.ArrayList;
|
|
|
93
87
|
* Backing for a React View. Has support for borders, but since borders aren't common, lazy
|
|
94
88
|
* initializes most of the storage needed for them.
|
|
95
89
|
*/
|
|
90
|
+
@Nullsafe(Nullsafe.Mode.LOCAL)
|
|
96
91
|
public class ReactViewGroup extends ViewGroup
|
|
97
92
|
implements ReactInterceptingViewGroup,
|
|
98
93
|
ReactClippingViewGroup,
|
|
@@ -102,11 +97,8 @@ public class ReactViewGroup extends ViewGroup
|
|
|
102
97
|
ReactOverflowViewWithInset {
|
|
103
98
|
|
|
104
99
|
private static final int ARRAY_CAPACITY_INCREMENT = 12;
|
|
105
|
-
private static final int DEFAULT_BACKGROUND_COLOR = Color.TRANSPARENT;
|
|
106
100
|
private static final LayoutParams sDefaultLayoutParam = new ViewGroup.LayoutParams(0, 0);
|
|
107
101
|
private final Rect mOverflowInset = new Rect();
|
|
108
|
-
/* should only be used in {@link #updateClippingToRect} */
|
|
109
|
-
private static final Rect sHelperRect = new Rect();
|
|
110
102
|
|
|
111
103
|
private @NonNull int[] focusDestinations = new int[0];
|
|
112
104
|
private boolean autoFocus = false;
|
|
@@ -130,7 +122,7 @@ public class ReactViewGroup extends ViewGroup
|
|
|
130
122
|
*/
|
|
131
123
|
private static final class ChildrenLayoutChangeListener implements View.OnLayoutChangeListener {
|
|
132
124
|
|
|
133
|
-
private
|
|
125
|
+
@Nullable private ReactViewGroup mParent;
|
|
134
126
|
|
|
135
127
|
private ChildrenLayoutChangeListener(ReactViewGroup parent) {
|
|
136
128
|
mParent = parent;
|
|
@@ -147,12 +139,18 @@ public class ReactViewGroup extends ViewGroup
|
|
|
147
139
|
int oldTop,
|
|
148
140
|
int oldRight,
|
|
149
141
|
int oldBottom) {
|
|
150
|
-
if (mParent.getRemoveClippedSubviews()) {
|
|
142
|
+
if (mParent != null && mParent.getRemoveClippedSubviews()) {
|
|
151
143
|
mParent.updateSubviewClipStatus(v);
|
|
152
144
|
}
|
|
153
145
|
}
|
|
146
|
+
|
|
147
|
+
public void shutdown() {
|
|
148
|
+
mParent = null;
|
|
149
|
+
}
|
|
154
150
|
}
|
|
155
151
|
|
|
152
|
+
private int mRecycleCount = 0;
|
|
153
|
+
|
|
156
154
|
// Following properties are here to support the option {@code removeClippedSubviews}. This is a
|
|
157
155
|
// temporary optimization/hack that is mainly applicable to the large list of images. The way
|
|
158
156
|
// it's implemented is that we store an additional array of children in view node. We selectively
|
|
@@ -167,17 +165,22 @@ public class ReactViewGroup extends ViewGroup
|
|
|
167
165
|
private @Nullable Rect mClippingRect;
|
|
168
166
|
private @Nullable Rect mHitSlopRect;
|
|
169
167
|
private Overflow mOverflow;
|
|
170
|
-
private PointerEvents mPointerEvents;
|
|
168
|
+
private PointerEvents mPointerEvents = PointerEvents.AUTO;
|
|
171
169
|
private @Nullable ChildrenLayoutChangeListener mChildrenLayoutChangeListener;
|
|
172
|
-
private @Nullable CSSBackgroundDrawable mCSSBackgroundDrawable;
|
|
173
170
|
private @Nullable OnInterceptTouchEventListener mOnInterceptTouchEventListener;
|
|
174
171
|
private boolean mNeedsOffscreenAlphaCompositing;
|
|
175
172
|
private @Nullable ViewGroupDrawingOrderHelper mDrawingOrderHelper;
|
|
176
|
-
private @Nullable Path mPath;
|
|
177
173
|
private float mBackfaceOpacity;
|
|
178
174
|
private String mBackfaceVisibility;
|
|
175
|
+
private @Nullable Set<Integer> mChildrenRemovedWhileTransitioning;
|
|
179
176
|
|
|
180
|
-
|
|
177
|
+
/**
|
|
178
|
+
* Creates a new `ReactViewGroup` instance.
|
|
179
|
+
*
|
|
180
|
+
* @param context A {@link Context} instance. It's Nullable to not break compatibility with OSS
|
|
181
|
+
* users (could be made non-null in the future but requires proper comms).
|
|
182
|
+
*/
|
|
183
|
+
public ReactViewGroup(@Nullable Context context) {
|
|
181
184
|
super(context);
|
|
182
185
|
initView();
|
|
183
186
|
}
|
|
@@ -185,7 +188,7 @@ public class ReactViewGroup extends ViewGroup
|
|
|
185
188
|
/**
|
|
186
189
|
* Set all default values here as opposed to in the constructor or field defaults. It is important
|
|
187
190
|
* that these properties are set during the constructor, but also on-demand whenever an existing
|
|
188
|
-
*
|
|
191
|
+
* ReactViewGroup is recycled.
|
|
189
192
|
*/
|
|
190
193
|
private void initView() {
|
|
191
194
|
setClipChildren(false);
|
|
@@ -198,18 +201,19 @@ public class ReactViewGroup extends ViewGroup
|
|
|
198
201
|
mOverflow = Overflow.VISIBLE;
|
|
199
202
|
mPointerEvents = PointerEvents.AUTO;
|
|
200
203
|
mChildrenLayoutChangeListener = null;
|
|
201
|
-
mCSSBackgroundDrawable = null;
|
|
202
204
|
mOnInterceptTouchEventListener = null;
|
|
203
205
|
mNeedsOffscreenAlphaCompositing = false;
|
|
204
206
|
mDrawingOrderHelper = null;
|
|
205
|
-
mPath = null;
|
|
206
207
|
mBackfaceOpacity = 1.f;
|
|
207
208
|
mBackfaceVisibility = "visible";
|
|
209
|
+
mChildrenRemovedWhileTransitioning = null;
|
|
208
210
|
}
|
|
209
211
|
|
|
210
212
|
/* package */ void recycleView() {
|
|
213
|
+
mRecycleCount++;
|
|
211
214
|
// Remove dangling listeners
|
|
212
215
|
if (mAllChildren != null && mChildrenLayoutChangeListener != null) {
|
|
216
|
+
mChildrenLayoutChangeListener.shutdown();
|
|
213
217
|
for (int i = 0; i < mAllChildrenCount; i++) {
|
|
214
218
|
mAllChildren[i].removeOnLayoutChangeListener(mChildrenLayoutChangeListener);
|
|
215
219
|
}
|
|
@@ -218,7 +222,6 @@ public class ReactViewGroup extends ViewGroup
|
|
|
218
222
|
// Set default field values
|
|
219
223
|
initView();
|
|
220
224
|
mOverflowInset.setEmpty();
|
|
221
|
-
sHelperRect.setEmpty();
|
|
222
225
|
|
|
223
226
|
// Remove any children
|
|
224
227
|
removeAllViews();
|
|
@@ -270,44 +273,12 @@ public class ReactViewGroup extends ViewGroup
|
|
|
270
273
|
|
|
271
274
|
@Override
|
|
272
275
|
public void setBackgroundColor(int color) {
|
|
273
|
-
|
|
274
|
-
BackgroundStyleApplicator.setBackgroundColor(this, color);
|
|
275
|
-
} else {
|
|
276
|
-
if (color == Color.TRANSPARENT && mCSSBackgroundDrawable == null) {
|
|
277
|
-
// don't do anything, no need to allocate ReactBackgroundDrawable for transparent background
|
|
278
|
-
} else {
|
|
279
|
-
getOrCreateReactViewBackground().setColor(color);
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
@UnstableReactNativeAPI
|
|
285
|
-
/*package*/ void setBackgroundImage(@Nullable List<BackgroundImageLayer> backgroundImageLayers) {
|
|
286
|
-
if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
|
|
287
|
-
BackgroundStyleApplicator.setBackgroundImage(this, backgroundImageLayers);
|
|
288
|
-
} else {
|
|
289
|
-
getOrCreateReactViewBackground().setBackgroundImage(backgroundImageLayers);
|
|
290
|
-
}
|
|
276
|
+
BackgroundStyleApplicator.setBackgroundColor(this, color);
|
|
291
277
|
}
|
|
292
278
|
|
|
293
279
|
@Deprecated(since = "0.76.0", forRemoval = true)
|
|
294
280
|
public void setTranslucentBackgroundDrawable(@Nullable Drawable background) {
|
|
295
|
-
|
|
296
|
-
BackgroundStyleApplicator.setFeedbackUnderlay(this, background);
|
|
297
|
-
} else {
|
|
298
|
-
// it's required to call setBackground to null, as in some of the cases we may set new
|
|
299
|
-
// background to be a layer drawable that contains a drawable that has been setup
|
|
300
|
-
// as a background previously. This will not work correctly as the drawable callback logic is
|
|
301
|
-
// messed up in AOSP
|
|
302
|
-
updateBackgroundDrawable(null);
|
|
303
|
-
if (mCSSBackgroundDrawable != null && background != null) {
|
|
304
|
-
LayerDrawable layerDrawable =
|
|
305
|
-
new LayerDrawable(new Drawable[] {mCSSBackgroundDrawable, background});
|
|
306
|
-
updateBackgroundDrawable(layerDrawable);
|
|
307
|
-
} else if (background != null) {
|
|
308
|
-
updateBackgroundDrawable(background);
|
|
309
|
-
}
|
|
310
|
-
}
|
|
281
|
+
BackgroundStyleApplicator.setFeedbackUnderlay(this, background);
|
|
311
282
|
}
|
|
312
283
|
|
|
313
284
|
@Override
|
|
@@ -329,7 +300,7 @@ public class ReactViewGroup extends ViewGroup
|
|
|
329
300
|
}
|
|
330
301
|
|
|
331
302
|
@Override
|
|
332
|
-
public boolean onTouchEvent(MotionEvent
|
|
303
|
+
public boolean onTouchEvent(MotionEvent event) {
|
|
333
304
|
// We do not accept the touch event if this view is not supposed to receive it.
|
|
334
305
|
if (!PointerEvents.canBeTouchTarget(mPointerEvents)) {
|
|
335
306
|
return false;
|
|
@@ -342,6 +313,15 @@ public class ReactViewGroup extends ViewGroup
|
|
|
342
313
|
return true;
|
|
343
314
|
}
|
|
344
315
|
|
|
316
|
+
@Override
|
|
317
|
+
public boolean onHoverEvent(MotionEvent event) {
|
|
318
|
+
if (ReactFeatureFlags.dispatchPointerEvents) {
|
|
319
|
+
// Match the logic from onTouchEvent if pointer events are enabled
|
|
320
|
+
return PointerEvents.canBeTouchTarget(mPointerEvents);
|
|
321
|
+
}
|
|
322
|
+
return super.onHoverEvent(event);
|
|
323
|
+
}
|
|
324
|
+
|
|
345
325
|
@Override
|
|
346
326
|
public boolean dispatchGenericMotionEvent(MotionEvent ev) {
|
|
347
327
|
// We do not dispatch the motion event if its children are not supposed to receive it
|
|
@@ -367,20 +347,12 @@ public class ReactViewGroup extends ViewGroup
|
|
|
367
347
|
}
|
|
368
348
|
|
|
369
349
|
public void setBorderWidth(int position, float width) {
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
this, LogicalEdge.values()[position], PixelUtil.toDIPFromPixel(width));
|
|
373
|
-
} else {
|
|
374
|
-
getOrCreateReactViewBackground().setBorderWidth(position, width);
|
|
375
|
-
}
|
|
350
|
+
BackgroundStyleApplicator.setBorderWidth(
|
|
351
|
+
this, LogicalEdge.values()[position], PixelUtil.toDIPFromPixel(width));
|
|
376
352
|
}
|
|
377
353
|
|
|
378
354
|
public void setBorderColor(int position, @Nullable Integer color) {
|
|
379
|
-
|
|
380
|
-
BackgroundStyleApplicator.setBorderColor(this, LogicalEdge.values()[position], color);
|
|
381
|
-
} else {
|
|
382
|
-
getOrCreateReactViewBackground().setBorderColor(position, color);
|
|
383
|
-
}
|
|
355
|
+
BackgroundStyleApplicator.setBorderColor(this, LogicalEdge.values()[position], color);
|
|
384
356
|
}
|
|
385
357
|
|
|
386
358
|
/**
|
|
@@ -396,34 +368,21 @@ public class ReactViewGroup extends ViewGroup
|
|
|
396
368
|
*/
|
|
397
369
|
@Deprecated(since = "0.75.0", forRemoval = true)
|
|
398
370
|
public void setBorderRadius(float borderRadius, int position) {
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
BackgroundStyleApplicator.setBorderRadius(this, BorderRadiusProp.values()[position], radius);
|
|
406
|
-
} else {
|
|
407
|
-
getOrCreateReactViewBackground().setRadius(borderRadius, position);
|
|
408
|
-
}
|
|
371
|
+
@Nullable
|
|
372
|
+
LengthPercentage radius =
|
|
373
|
+
Float.isNaN(borderRadius)
|
|
374
|
+
? null
|
|
375
|
+
: new LengthPercentage(borderRadius, LengthPercentageType.POINT);
|
|
376
|
+
BackgroundStyleApplicator.setBorderRadius(this, BorderRadiusProp.values()[position], radius);
|
|
409
377
|
}
|
|
410
378
|
|
|
411
379
|
public void setBorderRadius(BorderRadiusProp property, @Nullable LengthPercentage borderRadius) {
|
|
412
|
-
|
|
413
|
-
BackgroundStyleApplicator.setBorderRadius(this, property, borderRadius);
|
|
414
|
-
} else {
|
|
415
|
-
CSSBackgroundDrawable backgroundDrawable = getOrCreateReactViewBackground();
|
|
416
|
-
backgroundDrawable.setBorderRadius(property, borderRadius);
|
|
417
|
-
}
|
|
380
|
+
BackgroundStyleApplicator.setBorderRadius(this, property, borderRadius);
|
|
418
381
|
}
|
|
419
382
|
|
|
420
383
|
public void setBorderStyle(@Nullable String style) {
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
this, style == null ? null : BorderStyle.fromString(style));
|
|
424
|
-
} else {
|
|
425
|
-
getOrCreateReactViewBackground().setBorderStyle(style);
|
|
426
|
-
}
|
|
384
|
+
BackgroundStyleApplicator.setBorderStyle(
|
|
385
|
+
this, style == null ? null : BorderStyle.fromString(style));
|
|
427
386
|
}
|
|
428
387
|
|
|
429
388
|
@Override
|
|
@@ -432,6 +391,7 @@ public class ReactViewGroup extends ViewGroup
|
|
|
432
391
|
return;
|
|
433
392
|
}
|
|
434
393
|
mRemoveClippedSubviews = removeClippedSubviews;
|
|
394
|
+
mChildrenRemovedWhileTransitioning = null;
|
|
435
395
|
if (removeClippedSubviews) {
|
|
436
396
|
mClippingRect = new Rect();
|
|
437
397
|
ReactClippingViewGroupHelper.calculateClippingRect(this, mClippingRect);
|
|
@@ -469,7 +429,7 @@ public class ReactViewGroup extends ViewGroup
|
|
|
469
429
|
|
|
470
430
|
@Override
|
|
471
431
|
public void getClippingRect(Rect outClippingRect) {
|
|
472
|
-
outClippingRect.set(mClippingRect);
|
|
432
|
+
outClippingRect.set(nullsafeFIXME(mClippingRect, "Fix in Kotlin"));
|
|
473
433
|
}
|
|
474
434
|
|
|
475
435
|
@Override
|
|
@@ -485,12 +445,47 @@ public class ReactViewGroup extends ViewGroup
|
|
|
485
445
|
updateClippingToRect(mClippingRect);
|
|
486
446
|
}
|
|
487
447
|
|
|
448
|
+
@Override
|
|
449
|
+
public void endViewTransition(View view) {
|
|
450
|
+
super.endViewTransition(view);
|
|
451
|
+
if (mChildrenRemovedWhileTransitioning != null) {
|
|
452
|
+
mChildrenRemovedWhileTransitioning.remove(view.getId());
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
private void trackChildViewTransition(int childId) {
|
|
457
|
+
if (mChildrenRemovedWhileTransitioning == null) {
|
|
458
|
+
mChildrenRemovedWhileTransitioning = new HashSet<>();
|
|
459
|
+
}
|
|
460
|
+
mChildrenRemovedWhileTransitioning.add(childId);
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
private boolean isChildRemovedWhileTransitioning(View child) {
|
|
464
|
+
return mChildrenRemovedWhileTransitioning != null
|
|
465
|
+
&& mChildrenRemovedWhileTransitioning.contains(child.getId());
|
|
466
|
+
}
|
|
467
|
+
|
|
488
468
|
private void updateClippingToRect(Rect clippingRect) {
|
|
489
469
|
Assertions.assertNotNull(mAllChildren);
|
|
490
470
|
int clippedSoFar = 0;
|
|
491
471
|
for (int i = 0; i < mAllChildrenCount; i++) {
|
|
492
|
-
|
|
493
|
-
|
|
472
|
+
try {
|
|
473
|
+
updateSubviewClipStatus(clippingRect, i, clippedSoFar);
|
|
474
|
+
} catch (IndexOutOfBoundsException e) {
|
|
475
|
+
throw new IllegalStateException(
|
|
476
|
+
"Invalid clipping state. i="
|
|
477
|
+
+ i
|
|
478
|
+
+ " clippedSoFar="
|
|
479
|
+
+ clippedSoFar
|
|
480
|
+
+ " count="
|
|
481
|
+
+ getChildCount()
|
|
482
|
+
+ " allChildrenCount="
|
|
483
|
+
+ mAllChildrenCount
|
|
484
|
+
+ " recycleCount="
|
|
485
|
+
+ mRecycleCount,
|
|
486
|
+
e);
|
|
487
|
+
}
|
|
488
|
+
if (isViewClipped(mAllChildren[i])) {
|
|
494
489
|
clippedSoFar++;
|
|
495
490
|
}
|
|
496
491
|
}
|
|
@@ -500,10 +495,9 @@ public class ReactViewGroup extends ViewGroup
|
|
|
500
495
|
UiThreadUtil.assertOnUiThread();
|
|
501
496
|
|
|
502
497
|
View child = Assertions.assertNotNull(mAllChildren)[idx];
|
|
503
|
-
sHelperRect.set(child.getLeft(), child.getTop(), child.getRight(), child.getBottom());
|
|
504
498
|
boolean intersects =
|
|
505
499
|
clippingRect.intersects(
|
|
506
|
-
|
|
500
|
+
child.getLeft(), child.getTop(), child.getRight(), child.getBottom());
|
|
507
501
|
boolean needUpdateClippingRecursive = false;
|
|
508
502
|
// We never want to clip children that are being animated, as this can easily break layout :
|
|
509
503
|
// when layout animation changes size and/or position of views contained inside a listview that
|
|
@@ -513,13 +507,13 @@ public class ReactViewGroup extends ViewGroup
|
|
|
513
507
|
// it won't be size and located properly.
|
|
514
508
|
Animation animation = child.getAnimation();
|
|
515
509
|
boolean isAnimating = animation != null && !animation.hasEnded();
|
|
516
|
-
if (!intersects && child
|
|
510
|
+
if (!intersects && !isViewClipped(child) && !isAnimating) {
|
|
517
511
|
recoverFocus(child);
|
|
518
512
|
// We can try saving on invalidate call here as the view that we remove is out of visible area
|
|
519
513
|
// therefore invalidation is not necessary.
|
|
520
514
|
removeViewInLayout(child);
|
|
521
515
|
needUpdateClippingRecursive = true;
|
|
522
|
-
} else if (intersects && child
|
|
516
|
+
} else if (intersects && isViewClipped(child)) {
|
|
523
517
|
addViewInLayout(child, idx - clippedSoFar, sDefaultLayoutParam, true);
|
|
524
518
|
invalidate();
|
|
525
519
|
needUpdateClippingRecursive = true;
|
|
@@ -529,8 +523,6 @@ public class ReactViewGroup extends ViewGroup
|
|
|
529
523
|
}
|
|
530
524
|
if (needUpdateClippingRecursive) {
|
|
531
525
|
if (child instanceof ReactClippingViewGroup) {
|
|
532
|
-
// we don't use {@link sHelperRect} until the end of this loop, therefore it's safe
|
|
533
|
-
// to call this method that may write to the same {@link sHelperRect} object.
|
|
534
526
|
ReactClippingViewGroup clippingChild = (ReactClippingViewGroup) child;
|
|
535
527
|
if (clippingChild.getRemoveClippedSubviews()) {
|
|
536
528
|
clippingChild.updateClippingRect();
|
|
@@ -548,13 +540,12 @@ public class ReactViewGroup extends ViewGroup
|
|
|
548
540
|
Assertions.assertNotNull(mAllChildren);
|
|
549
541
|
|
|
550
542
|
// do fast check whether intersect state changed
|
|
551
|
-
sHelperRect.set(subview.getLeft(), subview.getTop(), subview.getRight(), subview.getBottom());
|
|
552
543
|
boolean intersects =
|
|
553
544
|
mClippingRect.intersects(
|
|
554
|
-
|
|
545
|
+
subview.getLeft(), subview.getTop(), subview.getRight(), subview.getBottom());
|
|
555
546
|
|
|
556
547
|
// If it was intersecting before, should be attached to the parent
|
|
557
|
-
boolean oldIntersects = (subview
|
|
548
|
+
boolean oldIntersects = !isViewClipped(subview);
|
|
558
549
|
|
|
559
550
|
if (intersects != oldIntersects) {
|
|
560
551
|
int clippedSoFar = 0;
|
|
@@ -563,18 +554,13 @@ public class ReactViewGroup extends ViewGroup
|
|
|
563
554
|
updateSubviewClipStatus(mClippingRect, i, clippedSoFar);
|
|
564
555
|
break;
|
|
565
556
|
}
|
|
566
|
-
if (mAllChildren[i]
|
|
557
|
+
if (isViewClipped(mAllChildren[i])) {
|
|
567
558
|
clippedSoFar++;
|
|
568
559
|
}
|
|
569
560
|
}
|
|
570
561
|
}
|
|
571
562
|
}
|
|
572
563
|
|
|
573
|
-
@Override
|
|
574
|
-
public boolean getChildVisibleRect(View child, Rect r, android.graphics.Point offset) {
|
|
575
|
-
return super.getChildVisibleRect(child, r, offset);
|
|
576
|
-
}
|
|
577
|
-
|
|
578
564
|
private View getFirstFocusableView(ReactViewGroup viewGroup) {
|
|
579
565
|
ArrayList<View> focusables = new ArrayList<View>(0);
|
|
580
566
|
/**
|
|
@@ -683,85 +669,39 @@ public class ReactViewGroup extends ViewGroup
|
|
|
683
669
|
return ViewUtil.getUIManagerType(getId()) == UIManagerType.FABRIC;
|
|
684
670
|
}
|
|
685
671
|
|
|
686
|
-
|
|
672
|
+
@Override
|
|
673
|
+
public void onViewAdded(View child) {
|
|
687
674
|
UiThreadUtil.assertOnUiThread();
|
|
688
675
|
|
|
689
676
|
if (!customDrawOrderDisabled()) {
|
|
690
|
-
getDrawingOrderHelper().handleAddView(
|
|
677
|
+
getDrawingOrderHelper().handleAddView(child);
|
|
691
678
|
setChildrenDrawingOrderEnabled(getDrawingOrderHelper().shouldEnableCustomDrawingOrder());
|
|
692
679
|
} else {
|
|
693
680
|
setChildrenDrawingOrderEnabled(false);
|
|
694
681
|
}
|
|
682
|
+
super.onViewAdded(child);
|
|
695
683
|
}
|
|
696
684
|
|
|
697
|
-
|
|
685
|
+
@Override
|
|
686
|
+
public void onViewRemoved(View child) {
|
|
698
687
|
UiThreadUtil.assertOnUiThread();
|
|
699
688
|
|
|
700
689
|
if (!customDrawOrderDisabled()) {
|
|
701
|
-
if (indexOfChild(
|
|
690
|
+
if (indexOfChild(child) == -1) {
|
|
702
691
|
return;
|
|
703
692
|
}
|
|
704
|
-
getDrawingOrderHelper().handleRemoveView(
|
|
693
|
+
getDrawingOrderHelper().handleRemoveView(child);
|
|
705
694
|
setChildrenDrawingOrderEnabled(getDrawingOrderHelper().shouldEnableCustomDrawingOrder());
|
|
706
695
|
} else {
|
|
707
696
|
setChildrenDrawingOrderEnabled(false);
|
|
708
697
|
}
|
|
709
|
-
}
|
|
710
698
|
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
if (index < getChildCount()) {
|
|
715
|
-
handleRemoveView(getChildAt(index));
|
|
716
|
-
}
|
|
699
|
+
// The parent might not be null in case the child is transitioning.
|
|
700
|
+
if (child.getParent() != null) {
|
|
701
|
+
trackChildViewTransition(child.getId());
|
|
717
702
|
}
|
|
718
|
-
}
|
|
719
703
|
|
|
720
|
-
|
|
721
|
-
public void addView(View child, int index, ViewGroup.LayoutParams params) {
|
|
722
|
-
// This will get called for every overload of addView so there is not need to override every
|
|
723
|
-
// method.
|
|
724
|
-
handleAddView(child);
|
|
725
|
-
super.addView(child, index, params);
|
|
726
|
-
}
|
|
727
|
-
|
|
728
|
-
@Override
|
|
729
|
-
protected boolean addViewInLayout(
|
|
730
|
-
View child, int index, LayoutParams params, boolean preventRequestLayout) {
|
|
731
|
-
handleAddView(child);
|
|
732
|
-
return super.addViewInLayout(child, index, params, preventRequestLayout);
|
|
733
|
-
}
|
|
734
|
-
|
|
735
|
-
@Override
|
|
736
|
-
public void removeView(View view) {
|
|
737
|
-
handleRemoveView(view);
|
|
738
|
-
recoverFocus(view);
|
|
739
|
-
super.removeView(view);
|
|
740
|
-
}
|
|
741
|
-
|
|
742
|
-
@Override
|
|
743
|
-
public void removeViewAt(int index) {
|
|
744
|
-
handleRemoveView(getChildAt(index));
|
|
745
|
-
recoverFocus(getChildAt(index));
|
|
746
|
-
super.removeViewAt(index);
|
|
747
|
-
}
|
|
748
|
-
|
|
749
|
-
@Override
|
|
750
|
-
public void removeViewInLayout(View view) {
|
|
751
|
-
handleRemoveView(view);
|
|
752
|
-
super.removeViewInLayout(view);
|
|
753
|
-
}
|
|
754
|
-
|
|
755
|
-
@Override
|
|
756
|
-
public void removeViewsInLayout(int start, int count) {
|
|
757
|
-
handleRemoveViews(start, count);
|
|
758
|
-
super.removeViewsInLayout(start, count);
|
|
759
|
-
}
|
|
760
|
-
|
|
761
|
-
@Override
|
|
762
|
-
public void removeViews(int start, int count) {
|
|
763
|
-
handleRemoveViews(start, count);
|
|
764
|
-
super.removeViews(start, count);
|
|
704
|
+
super.onViewRemoved(child);
|
|
765
705
|
}
|
|
766
706
|
|
|
767
707
|
@Override
|
|
@@ -835,18 +775,19 @@ public class ReactViewGroup extends ViewGroup
|
|
|
835
775
|
/*package*/ void addViewWithSubviewClippingEnabled(
|
|
836
776
|
final View child, int index, ViewGroup.LayoutParams params) {
|
|
837
777
|
Assertions.assertCondition(mRemoveClippedSubviews);
|
|
838
|
-
Assertions.assertNotNull(mClippingRect);
|
|
839
|
-
Assertions.assertNotNull(mAllChildren);
|
|
840
778
|
addInArray(child, index);
|
|
779
|
+
|
|
841
780
|
// we add view as "clipped" and then run {@link #updateSubviewClipStatus} to conditionally
|
|
842
781
|
// attach it
|
|
782
|
+
Rect clippingRect = Assertions.assertNotNull(mClippingRect);
|
|
783
|
+
View[] childArray = Assertions.assertNotNull(mAllChildren);
|
|
843
784
|
int clippedSoFar = 0;
|
|
844
785
|
for (int i = 0; i < index; i++) {
|
|
845
|
-
if (
|
|
786
|
+
if (isViewClipped(childArray[i])) {
|
|
846
787
|
clippedSoFar++;
|
|
847
788
|
}
|
|
848
789
|
}
|
|
849
|
-
updateSubviewClipStatus(
|
|
790
|
+
updateSubviewClipStatus(clippingRect, index, clippedSoFar);
|
|
850
791
|
child.addOnLayoutChangeListener(mChildrenLayoutChangeListener);
|
|
851
792
|
|
|
852
793
|
if (child instanceof ReactClippingProhibitedView) {
|
|
@@ -878,36 +819,44 @@ public class ReactViewGroup extends ViewGroup
|
|
|
878
819
|
|
|
879
820
|
Assertions.assertCondition(mRemoveClippedSubviews);
|
|
880
821
|
Assertions.assertNotNull(mClippingRect);
|
|
881
|
-
Assertions.assertNotNull(mAllChildren);
|
|
822
|
+
View[] childArray = Assertions.assertNotNull(mAllChildren);
|
|
882
823
|
view.removeOnLayoutChangeListener(mChildrenLayoutChangeListener);
|
|
883
824
|
int index = indexOfChildInAllChildren(view);
|
|
884
|
-
if (
|
|
825
|
+
if (!isViewClipped(childArray[index])) {
|
|
885
826
|
int clippedSoFar = 0;
|
|
886
827
|
for (int i = 0; i < index; i++) {
|
|
887
|
-
if (
|
|
828
|
+
if (isViewClipped(childArray[i])) {
|
|
888
829
|
clippedSoFar++;
|
|
889
830
|
}
|
|
890
831
|
}
|
|
891
832
|
removeViewsInLayout(index - clippedSoFar, 1);
|
|
833
|
+
invalidate();
|
|
892
834
|
}
|
|
893
835
|
removeFromArray(index);
|
|
894
836
|
}
|
|
895
837
|
|
|
896
838
|
/*package*/ void removeAllViewsWithSubviewClippingEnabled() {
|
|
897
839
|
Assertions.assertCondition(mRemoveClippedSubviews);
|
|
898
|
-
Assertions.assertNotNull(mAllChildren);
|
|
840
|
+
View[] childArray = Assertions.assertNotNull(mAllChildren);
|
|
899
841
|
for (int i = 0; i < mAllChildrenCount; i++) {
|
|
900
|
-
|
|
842
|
+
childArray[i].removeOnLayoutChangeListener(mChildrenLayoutChangeListener);
|
|
901
843
|
}
|
|
902
844
|
removeAllViewsInLayout();
|
|
903
845
|
mAllChildrenCount = 0;
|
|
904
846
|
}
|
|
905
847
|
|
|
848
|
+
/**
|
|
849
|
+
* @return {@code true} if the view has been removed from the ViewGroup.
|
|
850
|
+
*/
|
|
851
|
+
private boolean isViewClipped(View view) {
|
|
852
|
+
return view.getParent() == null;
|
|
853
|
+
}
|
|
854
|
+
|
|
906
855
|
private int indexOfChildInAllChildren(View child) {
|
|
907
856
|
final int count = mAllChildrenCount;
|
|
908
|
-
final View[]
|
|
857
|
+
final View[] childArray = Assertions.assertNotNull(mAllChildren);
|
|
909
858
|
for (int i = 0; i < count; i++) {
|
|
910
|
-
if (
|
|
859
|
+
if (childArray[i] == child) {
|
|
911
860
|
return i;
|
|
912
861
|
}
|
|
913
862
|
}
|
|
@@ -915,26 +864,26 @@ public class ReactViewGroup extends ViewGroup
|
|
|
915
864
|
}
|
|
916
865
|
|
|
917
866
|
private void addInArray(View child, int index) {
|
|
918
|
-
View[]
|
|
867
|
+
View[] childArray = Assertions.assertNotNull(mAllChildren);
|
|
919
868
|
final int count = mAllChildrenCount;
|
|
920
|
-
final int size =
|
|
869
|
+
final int size = childArray.length;
|
|
921
870
|
if (index == count) {
|
|
922
871
|
if (size == count) {
|
|
923
872
|
mAllChildren = new View[size + ARRAY_CAPACITY_INCREMENT];
|
|
924
|
-
System.arraycopy(
|
|
925
|
-
|
|
873
|
+
System.arraycopy(childArray, 0, mAllChildren, 0, size);
|
|
874
|
+
childArray = mAllChildren;
|
|
926
875
|
}
|
|
927
|
-
|
|
876
|
+
childArray[mAllChildrenCount++] = child;
|
|
928
877
|
} else if (index < count) {
|
|
929
878
|
if (size == count) {
|
|
930
879
|
mAllChildren = new View[size + ARRAY_CAPACITY_INCREMENT];
|
|
931
|
-
System.arraycopy(
|
|
932
|
-
System.arraycopy(
|
|
933
|
-
|
|
880
|
+
System.arraycopy(childArray, 0, mAllChildren, 0, index);
|
|
881
|
+
System.arraycopy(childArray, index, mAllChildren, index + 1, count - index);
|
|
882
|
+
childArray = mAllChildren;
|
|
934
883
|
} else {
|
|
935
|
-
System.arraycopy(
|
|
884
|
+
System.arraycopy(childArray, index, childArray, index + 1, count - index);
|
|
936
885
|
}
|
|
937
|
-
|
|
886
|
+
childArray[index] = child;
|
|
938
887
|
mAllChildrenCount++;
|
|
939
888
|
} else {
|
|
940
889
|
throw new IndexOutOfBoundsException("index=" + index + " count=" + count);
|
|
@@ -942,69 +891,18 @@ public class ReactViewGroup extends ViewGroup
|
|
|
942
891
|
}
|
|
943
892
|
|
|
944
893
|
private void removeFromArray(int index) {
|
|
945
|
-
final View[]
|
|
894
|
+
final View[] childArray = Assertions.assertNotNull(mAllChildren);
|
|
946
895
|
final int count = mAllChildrenCount;
|
|
947
896
|
if (index == count - 1) {
|
|
948
|
-
|
|
897
|
+
childArray[--mAllChildrenCount] = null;
|
|
949
898
|
} else if (index >= 0 && index < count) {
|
|
950
|
-
System.arraycopy(
|
|
951
|
-
|
|
899
|
+
System.arraycopy(childArray, index + 1, childArray, index, count - index - 1);
|
|
900
|
+
childArray[--mAllChildrenCount] = null;
|
|
952
901
|
} else {
|
|
953
902
|
throw new IndexOutOfBoundsException();
|
|
954
903
|
}
|
|
955
904
|
}
|
|
956
905
|
|
|
957
|
-
private boolean needsIsolatedLayer() {
|
|
958
|
-
if (!ReactNativeFeatureFlags.enableAndroidMixBlendModeProp()) {
|
|
959
|
-
return false;
|
|
960
|
-
}
|
|
961
|
-
|
|
962
|
-
for (int i = 0; i < getChildCount(); i++) {
|
|
963
|
-
if (getChildAt(i).getTag(R.id.mix_blend_mode) != null) {
|
|
964
|
-
return true;
|
|
965
|
-
}
|
|
966
|
-
}
|
|
967
|
-
|
|
968
|
-
return false;
|
|
969
|
-
}
|
|
970
|
-
|
|
971
|
-
@VisibleForTesting
|
|
972
|
-
public int getBackgroundColor() {
|
|
973
|
-
if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
|
|
974
|
-
@Nullable Integer color = BackgroundStyleApplicator.getBackgroundColor(this);
|
|
975
|
-
return color == null ? DEFAULT_BACKGROUND_COLOR : color;
|
|
976
|
-
} else {
|
|
977
|
-
if (getBackground() != null) {
|
|
978
|
-
return ((CSSBackgroundDrawable) getBackground()).getColor();
|
|
979
|
-
}
|
|
980
|
-
return DEFAULT_BACKGROUND_COLOR;
|
|
981
|
-
}
|
|
982
|
-
}
|
|
983
|
-
|
|
984
|
-
/* package */ CSSBackgroundDrawable getOrCreateReactViewBackground() {
|
|
985
|
-
if (mCSSBackgroundDrawable == null) {
|
|
986
|
-
mCSSBackgroundDrawable = new CSSBackgroundDrawable(getContext());
|
|
987
|
-
Drawable backgroundDrawable = getBackground();
|
|
988
|
-
updateBackgroundDrawable(
|
|
989
|
-
null); // required so that drawable callback is cleared before we add the
|
|
990
|
-
// drawable back as a part of LayerDrawable
|
|
991
|
-
if (backgroundDrawable == null) {
|
|
992
|
-
updateBackgroundDrawable(mCSSBackgroundDrawable);
|
|
993
|
-
} else {
|
|
994
|
-
LayerDrawable layerDrawable =
|
|
995
|
-
new LayerDrawable(new Drawable[] {mCSSBackgroundDrawable, backgroundDrawable});
|
|
996
|
-
updateBackgroundDrawable(layerDrawable);
|
|
997
|
-
}
|
|
998
|
-
if (!ReactNativeFeatureFlags.setAndroidLayoutDirection()) {
|
|
999
|
-
mCSSBackgroundDrawable.setLayoutDirectionOverride(
|
|
1000
|
-
I18nUtil.getInstance().isRTL(getContext())
|
|
1001
|
-
? LAYOUT_DIRECTION_RTL
|
|
1002
|
-
: LAYOUT_DIRECTION_LTR);
|
|
1003
|
-
}
|
|
1004
|
-
}
|
|
1005
|
-
return mCSSBackgroundDrawable;
|
|
1006
|
-
}
|
|
1007
|
-
|
|
1008
906
|
@Override
|
|
1009
907
|
public @Nullable Rect getHitSlopRect() {
|
|
1010
908
|
return mHitSlopRect;
|
|
@@ -1041,7 +939,7 @@ public class ReactViewGroup extends ViewGroup
|
|
|
1041
939
|
|
|
1042
940
|
@Override
|
|
1043
941
|
public void setOverflowInset(int left, int top, int right, int bottom) {
|
|
1044
|
-
if (needsIsolatedLayer()
|
|
942
|
+
if (BlendModeHelper.needsIsolatedLayer(this)
|
|
1045
943
|
&& (mOverflowInset.left != left
|
|
1046
944
|
|| mOverflowInset.top != top
|
|
1047
945
|
|| mOverflowInset.right != right
|
|
@@ -1071,7 +969,7 @@ public class ReactViewGroup extends ViewGroup
|
|
|
1071
969
|
public void draw(Canvas canvas) {
|
|
1072
970
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
|
|
1073
971
|
&& ViewUtil.getUIManagerType(this) == UIManagerType.FABRIC
|
|
1074
|
-
&& needsIsolatedLayer()) {
|
|
972
|
+
&& BlendModeHelper.needsIsolatedLayer(this)) {
|
|
1075
973
|
|
|
1076
974
|
// Check if the view is a stacking context and has children, if it does, do the rendering
|
|
1077
975
|
// offscreen and then composite back. This follows the idea of group isolation on blending
|
|
@@ -1092,33 +990,10 @@ public class ReactViewGroup extends ViewGroup
|
|
|
1092
990
|
|
|
1093
991
|
@Override
|
|
1094
992
|
protected void dispatchDraw(Canvas canvas) {
|
|
1095
|
-
if (
|
|
1096
|
-
|
|
1097
|
-
BackgroundStyleApplicator.clipToPaddingBox(this, canvas);
|
|
1098
|
-
}
|
|
1099
|
-
super.dispatchDraw(canvas);
|
|
1100
|
-
return;
|
|
1101
|
-
}
|
|
1102
|
-
|
|
1103
|
-
try {
|
|
1104
|
-
dispatchOverflowDraw(canvas);
|
|
1105
|
-
super.dispatchDraw(canvas);
|
|
1106
|
-
} catch (NullPointerException | StackOverflowError e) {
|
|
1107
|
-
// Adding special exception management for StackOverflowError for logging purposes.
|
|
1108
|
-
// This will be removed in the future.
|
|
1109
|
-
RootView rootView = RootViewUtil.getRootView(ReactViewGroup.this);
|
|
1110
|
-
if (rootView != null) {
|
|
1111
|
-
rootView.handleException(e);
|
|
1112
|
-
} else {
|
|
1113
|
-
if (getContext() instanceof ReactContext) {
|
|
1114
|
-
ReactContext reactContext = (ReactContext) getContext();
|
|
1115
|
-
reactContext.handleException(
|
|
1116
|
-
new IllegalViewOperationException("StackOverflowException", this, e));
|
|
1117
|
-
} else {
|
|
1118
|
-
throw e;
|
|
1119
|
-
}
|
|
1120
|
-
}
|
|
993
|
+
if (mOverflow != Overflow.VISIBLE || getTag(R.id.filter) != null) {
|
|
994
|
+
BackgroundStyleApplicator.clipToPaddingBox(this, canvas);
|
|
1121
995
|
}
|
|
996
|
+
super.dispatchDraw(canvas);
|
|
1122
997
|
}
|
|
1123
998
|
|
|
1124
999
|
@Override
|
|
@@ -1130,7 +1005,8 @@ public class ReactViewGroup extends ViewGroup
|
|
|
1130
1005
|
}
|
|
1131
1006
|
|
|
1132
1007
|
BlendMode mixBlendMode = null;
|
|
1133
|
-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
|
|
1008
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
|
|
1009
|
+
&& BlendModeHelper.needsIsolatedLayer(this)) {
|
|
1134
1010
|
mixBlendMode = (BlendMode) child.getTag(R.id.mix_blend_mode);
|
|
1135
1011
|
if (mixBlendMode != null) {
|
|
1136
1012
|
Paint p = new Paint();
|
|
@@ -1157,83 +1033,6 @@ public class ReactViewGroup extends ViewGroup
|
|
|
1157
1033
|
return result;
|
|
1158
1034
|
}
|
|
1159
1035
|
|
|
1160
|
-
private void dispatchOverflowDraw(Canvas canvas) {
|
|
1161
|
-
Overflow tempOverflow = mOverflow;
|
|
1162
|
-
|
|
1163
|
-
// If the view contains a filter, we clip to the padding box.
|
|
1164
|
-
if (getTag(R.id.filter) != null) {
|
|
1165
|
-
tempOverflow = Overflow.HIDDEN;
|
|
1166
|
-
}
|
|
1167
|
-
|
|
1168
|
-
switch (tempOverflow) {
|
|
1169
|
-
case VISIBLE:
|
|
1170
|
-
if (mPath != null) {
|
|
1171
|
-
mPath.rewind();
|
|
1172
|
-
}
|
|
1173
|
-
break;
|
|
1174
|
-
case HIDDEN:
|
|
1175
|
-
case SCROLL:
|
|
1176
|
-
float left = 0f;
|
|
1177
|
-
float top = 0f;
|
|
1178
|
-
float right = getWidth();
|
|
1179
|
-
float bottom = getHeight();
|
|
1180
|
-
|
|
1181
|
-
boolean hasClipPath = false;
|
|
1182
|
-
|
|
1183
|
-
if (mCSSBackgroundDrawable != null) {
|
|
1184
|
-
final RectF borderWidth = mCSSBackgroundDrawable.getDirectionAwareBorderInsets();
|
|
1185
|
-
|
|
1186
|
-
if (borderWidth.top > 0
|
|
1187
|
-
|| borderWidth.left > 0
|
|
1188
|
-
|| borderWidth.bottom > 0
|
|
1189
|
-
|| borderWidth.right > 0) {
|
|
1190
|
-
left += borderWidth.left;
|
|
1191
|
-
top += borderWidth.top;
|
|
1192
|
-
right -= borderWidth.right;
|
|
1193
|
-
bottom -= borderWidth.bottom;
|
|
1194
|
-
}
|
|
1195
|
-
|
|
1196
|
-
final ComputedBorderRadius borderRadius =
|
|
1197
|
-
mCSSBackgroundDrawable.getComputedBorderRadius();
|
|
1198
|
-
|
|
1199
|
-
if (borderRadius.hasRoundedBorders()) {
|
|
1200
|
-
if (mPath == null) {
|
|
1201
|
-
mPath = new Path();
|
|
1202
|
-
}
|
|
1203
|
-
|
|
1204
|
-
CornerRadii topLeftRadius = borderRadius.getTopLeft().toPixelFromDIP();
|
|
1205
|
-
CornerRadii topRightRadius = borderRadius.getTopRight().toPixelFromDIP();
|
|
1206
|
-
CornerRadii bottomLeftRadius = borderRadius.getBottomLeft().toPixelFromDIP();
|
|
1207
|
-
CornerRadii bottomRightRadius = borderRadius.getBottomRight().toPixelFromDIP();
|
|
1208
|
-
|
|
1209
|
-
mPath.rewind();
|
|
1210
|
-
mPath.addRoundRect(
|
|
1211
|
-
new RectF(left, top, right, bottom),
|
|
1212
|
-
new float[] {
|
|
1213
|
-
Math.max(topLeftRadius.getHorizontal() - borderWidth.left, 0),
|
|
1214
|
-
Math.max(topLeftRadius.getVertical() - borderWidth.top, 0),
|
|
1215
|
-
Math.max(topRightRadius.getHorizontal() - borderWidth.right, 0),
|
|
1216
|
-
Math.max(topRightRadius.getVertical() - borderWidth.top, 0),
|
|
1217
|
-
Math.max(bottomRightRadius.getHorizontal() - borderWidth.right, 0),
|
|
1218
|
-
Math.max(bottomRightRadius.getVertical() - borderWidth.bottom, 0),
|
|
1219
|
-
Math.max(bottomLeftRadius.getHorizontal() - borderWidth.left, 0),
|
|
1220
|
-
Math.max(bottomLeftRadius.getVertical() - borderWidth.bottom, 0),
|
|
1221
|
-
},
|
|
1222
|
-
Path.Direction.CW);
|
|
1223
|
-
canvas.clipPath(mPath);
|
|
1224
|
-
hasClipPath = true;
|
|
1225
|
-
}
|
|
1226
|
-
}
|
|
1227
|
-
|
|
1228
|
-
if (!hasClipPath) {
|
|
1229
|
-
canvas.clipRect(new RectF(left, top, right, bottom));
|
|
1230
|
-
}
|
|
1231
|
-
break;
|
|
1232
|
-
default:
|
|
1233
|
-
break;
|
|
1234
|
-
}
|
|
1235
|
-
}
|
|
1236
|
-
|
|
1237
1036
|
public void setOpacityIfPossible(float opacity) {
|
|
1238
1037
|
mBackfaceOpacity = opacity;
|
|
1239
1038
|
setBackfaceVisibilityDependantOpacity();
|