react-native-tvos 0.76.3-0 → 0.77.0-0rc1
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.js +4 -4
- 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 +49 -89
- 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/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 +37 -13
- 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/TouchableOpacity.js +6 -5
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -2
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -1
- package/Libraries/Components/View/View.js +4 -8
- package/Libraries/Components/View/ViewNativeComponent.js +6 -109
- 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 +3 -3
- 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 +2 -2
- package/Libraries/LogBox/UI/AnsiHighlight.js +26 -17
- 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/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 -2
- 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 +0 -8
- 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/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 +3 -0
- 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 +3 -3
- 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/Modal/RCTModalHostViewComponentView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +8 -18
- 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.h +3 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +38 -41
- package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +2 -1
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +36 -16
- 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/RCTFont.h +2 -0
- package/React/Views/RCTFont.mm +4 -5
- 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 +2 -0
- package/React/Views/ScrollView/RCTScrollView.m +23 -0
- 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 +340 -815
- package/ReactAndroid/build.gradle.kts +48 -13
- package/ReactAndroid/cmake-utils/ReactNative-application.cmake +5 -0
- package/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp +13 -0
- 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 +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +61 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +66 -34
- package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +72 -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 +18 -4
- 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 +22 -18
- 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 +4 -27
- 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 +3 -3
- 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 +2 -4
- 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 +67 -103
- 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 +55 -84
- 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 +53 -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 +85 -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 +121 -354
- 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 +3 -3
- 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/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +10 -10
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +25 -0
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +33 -18
- 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 +10 -3
- package/jest/setup.js +36 -1
- 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 +2 -0
- package/scripts/codegen/generate-artifacts-executor.js +321 -106
- 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/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,8 @@ 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.List;
|
|
88
80
|
|
|
89
81
|
import java.lang.ref.WeakReference;
|
|
90
82
|
import java.util.ArrayList;
|
|
@@ -93,6 +85,7 @@ import java.util.ArrayList;
|
|
|
93
85
|
* Backing for a React View. Has support for borders, but since borders aren't common, lazy
|
|
94
86
|
* initializes most of the storage needed for them.
|
|
95
87
|
*/
|
|
88
|
+
@Nullsafe(Nullsafe.Mode.LOCAL)
|
|
96
89
|
public class ReactViewGroup extends ViewGroup
|
|
97
90
|
implements ReactInterceptingViewGroup,
|
|
98
91
|
ReactClippingViewGroup,
|
|
@@ -102,11 +95,8 @@ public class ReactViewGroup extends ViewGroup
|
|
|
102
95
|
ReactOverflowViewWithInset {
|
|
103
96
|
|
|
104
97
|
private static final int ARRAY_CAPACITY_INCREMENT = 12;
|
|
105
|
-
private static final int DEFAULT_BACKGROUND_COLOR = Color.TRANSPARENT;
|
|
106
98
|
private static final LayoutParams sDefaultLayoutParam = new ViewGroup.LayoutParams(0, 0);
|
|
107
99
|
private final Rect mOverflowInset = new Rect();
|
|
108
|
-
/* should only be used in {@link #updateClippingToRect} */
|
|
109
|
-
private static final Rect sHelperRect = new Rect();
|
|
110
100
|
|
|
111
101
|
private @NonNull int[] focusDestinations = new int[0];
|
|
112
102
|
private boolean autoFocus = false;
|
|
@@ -130,7 +120,7 @@ public class ReactViewGroup extends ViewGroup
|
|
|
130
120
|
*/
|
|
131
121
|
private static final class ChildrenLayoutChangeListener implements View.OnLayoutChangeListener {
|
|
132
122
|
|
|
133
|
-
private
|
|
123
|
+
@Nullable private ReactViewGroup mParent;
|
|
134
124
|
|
|
135
125
|
private ChildrenLayoutChangeListener(ReactViewGroup parent) {
|
|
136
126
|
mParent = parent;
|
|
@@ -147,12 +137,18 @@ public class ReactViewGroup extends ViewGroup
|
|
|
147
137
|
int oldTop,
|
|
148
138
|
int oldRight,
|
|
149
139
|
int oldBottom) {
|
|
150
|
-
if (mParent.getRemoveClippedSubviews()) {
|
|
140
|
+
if (mParent != null && mParent.getRemoveClippedSubviews()) {
|
|
151
141
|
mParent.updateSubviewClipStatus(v);
|
|
152
142
|
}
|
|
153
143
|
}
|
|
144
|
+
|
|
145
|
+
public void shutdown() {
|
|
146
|
+
mParent = null;
|
|
147
|
+
}
|
|
154
148
|
}
|
|
155
149
|
|
|
150
|
+
private int mRecycleCount = 0;
|
|
151
|
+
|
|
156
152
|
// Following properties are here to support the option {@code removeClippedSubviews}. This is a
|
|
157
153
|
// temporary optimization/hack that is mainly applicable to the large list of images. The way
|
|
158
154
|
// it's implemented is that we store an additional array of children in view node. We selectively
|
|
@@ -167,17 +163,21 @@ public class ReactViewGroup extends ViewGroup
|
|
|
167
163
|
private @Nullable Rect mClippingRect;
|
|
168
164
|
private @Nullable Rect mHitSlopRect;
|
|
169
165
|
private Overflow mOverflow;
|
|
170
|
-
private PointerEvents mPointerEvents;
|
|
166
|
+
private PointerEvents mPointerEvents = PointerEvents.AUTO;
|
|
171
167
|
private @Nullable ChildrenLayoutChangeListener mChildrenLayoutChangeListener;
|
|
172
|
-
private @Nullable CSSBackgroundDrawable mCSSBackgroundDrawable;
|
|
173
168
|
private @Nullable OnInterceptTouchEventListener mOnInterceptTouchEventListener;
|
|
174
169
|
private boolean mNeedsOffscreenAlphaCompositing;
|
|
175
170
|
private @Nullable ViewGroupDrawingOrderHelper mDrawingOrderHelper;
|
|
176
|
-
private @Nullable Path mPath;
|
|
177
171
|
private float mBackfaceOpacity;
|
|
178
172
|
private String mBackfaceVisibility;
|
|
179
173
|
|
|
180
|
-
|
|
174
|
+
/**
|
|
175
|
+
* Creates a new `ReactViewGroup` instance.
|
|
176
|
+
*
|
|
177
|
+
* @param context A {@link Context} instance. It's Nullable to not break compatibility with OSS
|
|
178
|
+
* users (could be made non-null in the future but requires proper comms).
|
|
179
|
+
*/
|
|
180
|
+
public ReactViewGroup(@Nullable Context context) {
|
|
181
181
|
super(context);
|
|
182
182
|
initView();
|
|
183
183
|
}
|
|
@@ -185,7 +185,7 @@ public class ReactViewGroup extends ViewGroup
|
|
|
185
185
|
/**
|
|
186
186
|
* Set all default values here as opposed to in the constructor or field defaults. It is important
|
|
187
187
|
* that these properties are set during the constructor, but also on-demand whenever an existing
|
|
188
|
-
*
|
|
188
|
+
* ReactViewGroup is recycled.
|
|
189
189
|
*/
|
|
190
190
|
private void initView() {
|
|
191
191
|
setClipChildren(false);
|
|
@@ -198,18 +198,18 @@ public class ReactViewGroup extends ViewGroup
|
|
|
198
198
|
mOverflow = Overflow.VISIBLE;
|
|
199
199
|
mPointerEvents = PointerEvents.AUTO;
|
|
200
200
|
mChildrenLayoutChangeListener = null;
|
|
201
|
-
mCSSBackgroundDrawable = null;
|
|
202
201
|
mOnInterceptTouchEventListener = null;
|
|
203
202
|
mNeedsOffscreenAlphaCompositing = false;
|
|
204
203
|
mDrawingOrderHelper = null;
|
|
205
|
-
mPath = null;
|
|
206
204
|
mBackfaceOpacity = 1.f;
|
|
207
205
|
mBackfaceVisibility = "visible";
|
|
208
206
|
}
|
|
209
207
|
|
|
210
208
|
/* package */ void recycleView() {
|
|
209
|
+
mRecycleCount++;
|
|
211
210
|
// Remove dangling listeners
|
|
212
211
|
if (mAllChildren != null && mChildrenLayoutChangeListener != null) {
|
|
212
|
+
mChildrenLayoutChangeListener.shutdown();
|
|
213
213
|
for (int i = 0; i < mAllChildrenCount; i++) {
|
|
214
214
|
mAllChildren[i].removeOnLayoutChangeListener(mChildrenLayoutChangeListener);
|
|
215
215
|
}
|
|
@@ -218,7 +218,6 @@ public class ReactViewGroup extends ViewGroup
|
|
|
218
218
|
// Set default field values
|
|
219
219
|
initView();
|
|
220
220
|
mOverflowInset.setEmpty();
|
|
221
|
-
sHelperRect.setEmpty();
|
|
222
221
|
|
|
223
222
|
// Remove any children
|
|
224
223
|
removeAllViews();
|
|
@@ -270,44 +269,12 @@ public class ReactViewGroup extends ViewGroup
|
|
|
270
269
|
|
|
271
270
|
@Override
|
|
272
271
|
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
|
-
}
|
|
272
|
+
BackgroundStyleApplicator.setBackgroundColor(this, color);
|
|
291
273
|
}
|
|
292
274
|
|
|
293
275
|
@Deprecated(since = "0.76.0", forRemoval = true)
|
|
294
276
|
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
|
-
}
|
|
277
|
+
BackgroundStyleApplicator.setFeedbackUnderlay(this, background);
|
|
311
278
|
}
|
|
312
279
|
|
|
313
280
|
@Override
|
|
@@ -329,7 +296,7 @@ public class ReactViewGroup extends ViewGroup
|
|
|
329
296
|
}
|
|
330
297
|
|
|
331
298
|
@Override
|
|
332
|
-
public boolean onTouchEvent(MotionEvent
|
|
299
|
+
public boolean onTouchEvent(MotionEvent event) {
|
|
333
300
|
// We do not accept the touch event if this view is not supposed to receive it.
|
|
334
301
|
if (!PointerEvents.canBeTouchTarget(mPointerEvents)) {
|
|
335
302
|
return false;
|
|
@@ -342,6 +309,15 @@ public class ReactViewGroup extends ViewGroup
|
|
|
342
309
|
return true;
|
|
343
310
|
}
|
|
344
311
|
|
|
312
|
+
@Override
|
|
313
|
+
public boolean onHoverEvent(MotionEvent event) {
|
|
314
|
+
if (ReactFeatureFlags.dispatchPointerEvents) {
|
|
315
|
+
// Match the logic from onTouchEvent if pointer events are enabled
|
|
316
|
+
return PointerEvents.canBeTouchTarget(mPointerEvents);
|
|
317
|
+
}
|
|
318
|
+
return super.onHoverEvent(event);
|
|
319
|
+
}
|
|
320
|
+
|
|
345
321
|
@Override
|
|
346
322
|
public boolean dispatchGenericMotionEvent(MotionEvent ev) {
|
|
347
323
|
// We do not dispatch the motion event if its children are not supposed to receive it
|
|
@@ -367,20 +343,12 @@ public class ReactViewGroup extends ViewGroup
|
|
|
367
343
|
}
|
|
368
344
|
|
|
369
345
|
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
|
-
}
|
|
346
|
+
BackgroundStyleApplicator.setBorderWidth(
|
|
347
|
+
this, LogicalEdge.values()[position], PixelUtil.toDIPFromPixel(width));
|
|
376
348
|
}
|
|
377
349
|
|
|
378
350
|
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
|
-
}
|
|
351
|
+
BackgroundStyleApplicator.setBorderColor(this, LogicalEdge.values()[position], color);
|
|
384
352
|
}
|
|
385
353
|
|
|
386
354
|
/**
|
|
@@ -396,34 +364,21 @@ public class ReactViewGroup extends ViewGroup
|
|
|
396
364
|
*/
|
|
397
365
|
@Deprecated(since = "0.75.0", forRemoval = true)
|
|
398
366
|
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
|
-
}
|
|
367
|
+
@Nullable
|
|
368
|
+
LengthPercentage radius =
|
|
369
|
+
Float.isNaN(borderRadius)
|
|
370
|
+
? null
|
|
371
|
+
: new LengthPercentage(borderRadius, LengthPercentageType.POINT);
|
|
372
|
+
BackgroundStyleApplicator.setBorderRadius(this, BorderRadiusProp.values()[position], radius);
|
|
409
373
|
}
|
|
410
374
|
|
|
411
375
|
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
|
-
}
|
|
376
|
+
BackgroundStyleApplicator.setBorderRadius(this, property, borderRadius);
|
|
418
377
|
}
|
|
419
378
|
|
|
420
379
|
public void setBorderStyle(@Nullable String style) {
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
this, style == null ? null : BorderStyle.fromString(style));
|
|
424
|
-
} else {
|
|
425
|
-
getOrCreateReactViewBackground().setBorderStyle(style);
|
|
426
|
-
}
|
|
380
|
+
BackgroundStyleApplicator.setBorderStyle(
|
|
381
|
+
this, style == null ? null : BorderStyle.fromString(style));
|
|
427
382
|
}
|
|
428
383
|
|
|
429
384
|
@Override
|
|
@@ -469,7 +424,7 @@ public class ReactViewGroup extends ViewGroup
|
|
|
469
424
|
|
|
470
425
|
@Override
|
|
471
426
|
public void getClippingRect(Rect outClippingRect) {
|
|
472
|
-
outClippingRect.set(mClippingRect);
|
|
427
|
+
outClippingRect.set(nullsafeFIXME(mClippingRect, "Fix in Kotlin"));
|
|
473
428
|
}
|
|
474
429
|
|
|
475
430
|
@Override
|
|
@@ -489,8 +444,23 @@ public class ReactViewGroup extends ViewGroup
|
|
|
489
444
|
Assertions.assertNotNull(mAllChildren);
|
|
490
445
|
int clippedSoFar = 0;
|
|
491
446
|
for (int i = 0; i < mAllChildrenCount; i++) {
|
|
492
|
-
|
|
493
|
-
|
|
447
|
+
try {
|
|
448
|
+
updateSubviewClipStatus(clippingRect, i, clippedSoFar);
|
|
449
|
+
} catch (IndexOutOfBoundsException e) {
|
|
450
|
+
throw new IllegalStateException(
|
|
451
|
+
"Invalid clipping state. i="
|
|
452
|
+
+ i
|
|
453
|
+
+ " clippedSoFar="
|
|
454
|
+
+ clippedSoFar
|
|
455
|
+
+ " count="
|
|
456
|
+
+ getChildCount()
|
|
457
|
+
+ " allChildrenCount="
|
|
458
|
+
+ mAllChildrenCount
|
|
459
|
+
+ " recycleCount="
|
|
460
|
+
+ mRecycleCount,
|
|
461
|
+
e);
|
|
462
|
+
}
|
|
463
|
+
if (isViewClipped(mAllChildren[i])) {
|
|
494
464
|
clippedSoFar++;
|
|
495
465
|
}
|
|
496
466
|
}
|
|
@@ -500,10 +470,9 @@ public class ReactViewGroup extends ViewGroup
|
|
|
500
470
|
UiThreadUtil.assertOnUiThread();
|
|
501
471
|
|
|
502
472
|
View child = Assertions.assertNotNull(mAllChildren)[idx];
|
|
503
|
-
sHelperRect.set(child.getLeft(), child.getTop(), child.getRight(), child.getBottom());
|
|
504
473
|
boolean intersects =
|
|
505
474
|
clippingRect.intersects(
|
|
506
|
-
|
|
475
|
+
child.getLeft(), child.getTop(), child.getRight(), child.getBottom());
|
|
507
476
|
boolean needUpdateClippingRecursive = false;
|
|
508
477
|
// We never want to clip children that are being animated, as this can easily break layout :
|
|
509
478
|
// when layout animation changes size and/or position of views contained inside a listview that
|
|
@@ -513,13 +482,13 @@ public class ReactViewGroup extends ViewGroup
|
|
|
513
482
|
// it won't be size and located properly.
|
|
514
483
|
Animation animation = child.getAnimation();
|
|
515
484
|
boolean isAnimating = animation != null && !animation.hasEnded();
|
|
516
|
-
if (!intersects && child
|
|
485
|
+
if (!intersects && !isViewClipped(child) && !isAnimating) {
|
|
517
486
|
recoverFocus(child);
|
|
518
487
|
// We can try saving on invalidate call here as the view that we remove is out of visible area
|
|
519
488
|
// therefore invalidation is not necessary.
|
|
520
489
|
removeViewInLayout(child);
|
|
521
490
|
needUpdateClippingRecursive = true;
|
|
522
|
-
} else if (intersects && child
|
|
491
|
+
} else if (intersects && isViewClipped(child)) {
|
|
523
492
|
addViewInLayout(child, idx - clippedSoFar, sDefaultLayoutParam, true);
|
|
524
493
|
invalidate();
|
|
525
494
|
needUpdateClippingRecursive = true;
|
|
@@ -529,8 +498,6 @@ public class ReactViewGroup extends ViewGroup
|
|
|
529
498
|
}
|
|
530
499
|
if (needUpdateClippingRecursive) {
|
|
531
500
|
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
501
|
ReactClippingViewGroup clippingChild = (ReactClippingViewGroup) child;
|
|
535
502
|
if (clippingChild.getRemoveClippedSubviews()) {
|
|
536
503
|
clippingChild.updateClippingRect();
|
|
@@ -548,13 +515,12 @@ public class ReactViewGroup extends ViewGroup
|
|
|
548
515
|
Assertions.assertNotNull(mAllChildren);
|
|
549
516
|
|
|
550
517
|
// do fast check whether intersect state changed
|
|
551
|
-
sHelperRect.set(subview.getLeft(), subview.getTop(), subview.getRight(), subview.getBottom());
|
|
552
518
|
boolean intersects =
|
|
553
519
|
mClippingRect.intersects(
|
|
554
|
-
|
|
520
|
+
subview.getLeft(), subview.getTop(), subview.getRight(), subview.getBottom());
|
|
555
521
|
|
|
556
522
|
// If it was intersecting before, should be attached to the parent
|
|
557
|
-
boolean oldIntersects = (subview
|
|
523
|
+
boolean oldIntersects = !isViewClipped(subview);
|
|
558
524
|
|
|
559
525
|
if (intersects != oldIntersects) {
|
|
560
526
|
int clippedSoFar = 0;
|
|
@@ -563,18 +529,13 @@ public class ReactViewGroup extends ViewGroup
|
|
|
563
529
|
updateSubviewClipStatus(mClippingRect, i, clippedSoFar);
|
|
564
530
|
break;
|
|
565
531
|
}
|
|
566
|
-
if (mAllChildren[i]
|
|
532
|
+
if (isViewClipped(mAllChildren[i])) {
|
|
567
533
|
clippedSoFar++;
|
|
568
534
|
}
|
|
569
535
|
}
|
|
570
536
|
}
|
|
571
537
|
}
|
|
572
538
|
|
|
573
|
-
@Override
|
|
574
|
-
public boolean getChildVisibleRect(View child, Rect r, android.graphics.Point offset) {
|
|
575
|
-
return super.getChildVisibleRect(child, r, offset);
|
|
576
|
-
}
|
|
577
|
-
|
|
578
539
|
private View getFirstFocusableView(ReactViewGroup viewGroup) {
|
|
579
540
|
ArrayList<View> focusables = new ArrayList<View>(0);
|
|
580
541
|
/**
|
|
@@ -683,85 +644,33 @@ public class ReactViewGroup extends ViewGroup
|
|
|
683
644
|
return ViewUtil.getUIManagerType(getId()) == UIManagerType.FABRIC;
|
|
684
645
|
}
|
|
685
646
|
|
|
686
|
-
|
|
647
|
+
@Override
|
|
648
|
+
public void onViewAdded(View child) {
|
|
687
649
|
UiThreadUtil.assertOnUiThread();
|
|
688
650
|
|
|
689
651
|
if (!customDrawOrderDisabled()) {
|
|
690
|
-
getDrawingOrderHelper().handleAddView(
|
|
652
|
+
getDrawingOrderHelper().handleAddView(child);
|
|
691
653
|
setChildrenDrawingOrderEnabled(getDrawingOrderHelper().shouldEnableCustomDrawingOrder());
|
|
692
654
|
} else {
|
|
693
655
|
setChildrenDrawingOrderEnabled(false);
|
|
694
656
|
}
|
|
657
|
+
super.onViewAdded(child);
|
|
695
658
|
}
|
|
696
659
|
|
|
697
|
-
|
|
660
|
+
@Override
|
|
661
|
+
public void onViewRemoved(View child) {
|
|
698
662
|
UiThreadUtil.assertOnUiThread();
|
|
699
663
|
|
|
700
664
|
if (!customDrawOrderDisabled()) {
|
|
701
|
-
if (indexOfChild(
|
|
665
|
+
if (indexOfChild(child) == -1) {
|
|
702
666
|
return;
|
|
703
667
|
}
|
|
704
|
-
getDrawingOrderHelper().handleRemoveView(
|
|
668
|
+
getDrawingOrderHelper().handleRemoveView(child);
|
|
705
669
|
setChildrenDrawingOrderEnabled(getDrawingOrderHelper().shouldEnableCustomDrawingOrder());
|
|
706
670
|
} else {
|
|
707
671
|
setChildrenDrawingOrderEnabled(false);
|
|
708
672
|
}
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
private void handleRemoveViews(int start, int count) {
|
|
712
|
-
int endIndex = start + count;
|
|
713
|
-
for (int index = start; index < endIndex; index++) {
|
|
714
|
-
if (index < getChildCount()) {
|
|
715
|
-
handleRemoveView(getChildAt(index));
|
|
716
|
-
}
|
|
717
|
-
}
|
|
718
|
-
}
|
|
719
|
-
|
|
720
|
-
@Override
|
|
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);
|
|
673
|
+
super.onViewRemoved(child);
|
|
765
674
|
}
|
|
766
675
|
|
|
767
676
|
@Override
|
|
@@ -835,18 +744,19 @@ public class ReactViewGroup extends ViewGroup
|
|
|
835
744
|
/*package*/ void addViewWithSubviewClippingEnabled(
|
|
836
745
|
final View child, int index, ViewGroup.LayoutParams params) {
|
|
837
746
|
Assertions.assertCondition(mRemoveClippedSubviews);
|
|
838
|
-
Assertions.assertNotNull(mClippingRect);
|
|
839
|
-
Assertions.assertNotNull(mAllChildren);
|
|
840
747
|
addInArray(child, index);
|
|
748
|
+
|
|
841
749
|
// we add view as "clipped" and then run {@link #updateSubviewClipStatus} to conditionally
|
|
842
750
|
// attach it
|
|
751
|
+
Rect clippingRect = Assertions.assertNotNull(mClippingRect);
|
|
752
|
+
View[] childArray = Assertions.assertNotNull(mAllChildren);
|
|
843
753
|
int clippedSoFar = 0;
|
|
844
754
|
for (int i = 0; i < index; i++) {
|
|
845
|
-
if (
|
|
755
|
+
if (isViewClipped(childArray[i])) {
|
|
846
756
|
clippedSoFar++;
|
|
847
757
|
}
|
|
848
758
|
}
|
|
849
|
-
updateSubviewClipStatus(
|
|
759
|
+
updateSubviewClipStatus(clippingRect, index, clippedSoFar);
|
|
850
760
|
child.addOnLayoutChangeListener(mChildrenLayoutChangeListener);
|
|
851
761
|
|
|
852
762
|
if (child instanceof ReactClippingProhibitedView) {
|
|
@@ -878,13 +788,13 @@ public class ReactViewGroup extends ViewGroup
|
|
|
878
788
|
|
|
879
789
|
Assertions.assertCondition(mRemoveClippedSubviews);
|
|
880
790
|
Assertions.assertNotNull(mClippingRect);
|
|
881
|
-
Assertions.assertNotNull(mAllChildren);
|
|
791
|
+
View[] childArray = Assertions.assertNotNull(mAllChildren);
|
|
882
792
|
view.removeOnLayoutChangeListener(mChildrenLayoutChangeListener);
|
|
883
793
|
int index = indexOfChildInAllChildren(view);
|
|
884
|
-
if (
|
|
794
|
+
if (!isViewClipped(childArray[index])) {
|
|
885
795
|
int clippedSoFar = 0;
|
|
886
796
|
for (int i = 0; i < index; i++) {
|
|
887
|
-
if (
|
|
797
|
+
if (isViewClipped(childArray[i])) {
|
|
888
798
|
clippedSoFar++;
|
|
889
799
|
}
|
|
890
800
|
}
|
|
@@ -895,19 +805,26 @@ public class ReactViewGroup extends ViewGroup
|
|
|
895
805
|
|
|
896
806
|
/*package*/ void removeAllViewsWithSubviewClippingEnabled() {
|
|
897
807
|
Assertions.assertCondition(mRemoveClippedSubviews);
|
|
898
|
-
Assertions.assertNotNull(mAllChildren);
|
|
808
|
+
View[] childArray = Assertions.assertNotNull(mAllChildren);
|
|
899
809
|
for (int i = 0; i < mAllChildrenCount; i++) {
|
|
900
|
-
|
|
810
|
+
childArray[i].removeOnLayoutChangeListener(mChildrenLayoutChangeListener);
|
|
901
811
|
}
|
|
902
812
|
removeAllViewsInLayout();
|
|
903
813
|
mAllChildrenCount = 0;
|
|
904
814
|
}
|
|
905
815
|
|
|
816
|
+
/**
|
|
817
|
+
* @return {@code true} if the view has been removed from the ViewGroup.
|
|
818
|
+
*/
|
|
819
|
+
private boolean isViewClipped(View view) {
|
|
820
|
+
return view.getParent() == null;
|
|
821
|
+
}
|
|
822
|
+
|
|
906
823
|
private int indexOfChildInAllChildren(View child) {
|
|
907
824
|
final int count = mAllChildrenCount;
|
|
908
|
-
final View[]
|
|
825
|
+
final View[] childArray = Assertions.assertNotNull(mAllChildren);
|
|
909
826
|
for (int i = 0; i < count; i++) {
|
|
910
|
-
if (
|
|
827
|
+
if (childArray[i] == child) {
|
|
911
828
|
return i;
|
|
912
829
|
}
|
|
913
830
|
}
|
|
@@ -915,26 +832,26 @@ public class ReactViewGroup extends ViewGroup
|
|
|
915
832
|
}
|
|
916
833
|
|
|
917
834
|
private void addInArray(View child, int index) {
|
|
918
|
-
View[]
|
|
835
|
+
View[] childArray = Assertions.assertNotNull(mAllChildren);
|
|
919
836
|
final int count = mAllChildrenCount;
|
|
920
|
-
final int size =
|
|
837
|
+
final int size = childArray.length;
|
|
921
838
|
if (index == count) {
|
|
922
839
|
if (size == count) {
|
|
923
840
|
mAllChildren = new View[size + ARRAY_CAPACITY_INCREMENT];
|
|
924
|
-
System.arraycopy(
|
|
925
|
-
|
|
841
|
+
System.arraycopy(childArray, 0, mAllChildren, 0, size);
|
|
842
|
+
childArray = mAllChildren;
|
|
926
843
|
}
|
|
927
|
-
|
|
844
|
+
childArray[mAllChildrenCount++] = child;
|
|
928
845
|
} else if (index < count) {
|
|
929
846
|
if (size == count) {
|
|
930
847
|
mAllChildren = new View[size + ARRAY_CAPACITY_INCREMENT];
|
|
931
|
-
System.arraycopy(
|
|
932
|
-
System.arraycopy(
|
|
933
|
-
|
|
848
|
+
System.arraycopy(childArray, 0, mAllChildren, 0, index);
|
|
849
|
+
System.arraycopy(childArray, index, mAllChildren, index + 1, count - index);
|
|
850
|
+
childArray = mAllChildren;
|
|
934
851
|
} else {
|
|
935
|
-
System.arraycopy(
|
|
852
|
+
System.arraycopy(childArray, index, childArray, index + 1, count - index);
|
|
936
853
|
}
|
|
937
|
-
|
|
854
|
+
childArray[index] = child;
|
|
938
855
|
mAllChildrenCount++;
|
|
939
856
|
} else {
|
|
940
857
|
throw new IndexOutOfBoundsException("index=" + index + " count=" + count);
|
|
@@ -942,69 +859,18 @@ public class ReactViewGroup extends ViewGroup
|
|
|
942
859
|
}
|
|
943
860
|
|
|
944
861
|
private void removeFromArray(int index) {
|
|
945
|
-
final View[]
|
|
862
|
+
final View[] childArray = Assertions.assertNotNull(mAllChildren);
|
|
946
863
|
final int count = mAllChildrenCount;
|
|
947
864
|
if (index == count - 1) {
|
|
948
|
-
|
|
865
|
+
childArray[--mAllChildrenCount] = null;
|
|
949
866
|
} else if (index >= 0 && index < count) {
|
|
950
|
-
System.arraycopy(
|
|
951
|
-
|
|
867
|
+
System.arraycopy(childArray, index + 1, childArray, index, count - index - 1);
|
|
868
|
+
childArray[--mAllChildrenCount] = null;
|
|
952
869
|
} else {
|
|
953
870
|
throw new IndexOutOfBoundsException();
|
|
954
871
|
}
|
|
955
872
|
}
|
|
956
873
|
|
|
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
874
|
@Override
|
|
1009
875
|
public @Nullable Rect getHitSlopRect() {
|
|
1010
876
|
return mHitSlopRect;
|
|
@@ -1041,7 +907,7 @@ public class ReactViewGroup extends ViewGroup
|
|
|
1041
907
|
|
|
1042
908
|
@Override
|
|
1043
909
|
public void setOverflowInset(int left, int top, int right, int bottom) {
|
|
1044
|
-
if (needsIsolatedLayer()
|
|
910
|
+
if (BlendModeHelper.needsIsolatedLayer(this)
|
|
1045
911
|
&& (mOverflowInset.left != left
|
|
1046
912
|
|| mOverflowInset.top != top
|
|
1047
913
|
|| mOverflowInset.right != right
|
|
@@ -1071,7 +937,7 @@ public class ReactViewGroup extends ViewGroup
|
|
|
1071
937
|
public void draw(Canvas canvas) {
|
|
1072
938
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
|
|
1073
939
|
&& ViewUtil.getUIManagerType(this) == UIManagerType.FABRIC
|
|
1074
|
-
&& needsIsolatedLayer()) {
|
|
940
|
+
&& BlendModeHelper.needsIsolatedLayer(this)) {
|
|
1075
941
|
|
|
1076
942
|
// Check if the view is a stacking context and has children, if it does, do the rendering
|
|
1077
943
|
// offscreen and then composite back. This follows the idea of group isolation on blending
|
|
@@ -1092,33 +958,10 @@ public class ReactViewGroup extends ViewGroup
|
|
|
1092
958
|
|
|
1093
959
|
@Override
|
|
1094
960
|
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
|
-
}
|
|
961
|
+
if (mOverflow != Overflow.VISIBLE || getTag(R.id.filter) != null) {
|
|
962
|
+
BackgroundStyleApplicator.clipToPaddingBox(this, canvas);
|
|
1121
963
|
}
|
|
964
|
+
super.dispatchDraw(canvas);
|
|
1122
965
|
}
|
|
1123
966
|
|
|
1124
967
|
@Override
|
|
@@ -1130,7 +973,8 @@ public class ReactViewGroup extends ViewGroup
|
|
|
1130
973
|
}
|
|
1131
974
|
|
|
1132
975
|
BlendMode mixBlendMode = null;
|
|
1133
|
-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
|
|
976
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
|
|
977
|
+
&& BlendModeHelper.needsIsolatedLayer(this)) {
|
|
1134
978
|
mixBlendMode = (BlendMode) child.getTag(R.id.mix_blend_mode);
|
|
1135
979
|
if (mixBlendMode != null) {
|
|
1136
980
|
Paint p = new Paint();
|
|
@@ -1157,83 +1001,6 @@ public class ReactViewGroup extends ViewGroup
|
|
|
1157
1001
|
return result;
|
|
1158
1002
|
}
|
|
1159
1003
|
|
|
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
1004
|
public void setOpacityIfPossible(float opacity) {
|
|
1238
1005
|
mBackfaceOpacity = opacity;
|
|
1239
1006
|
setBackfaceVisibilityDependantOpacity();
|