react-native-tvos 0.84.1-0 → 0.85.0-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
- package/Libraries/Animated/Animated.d.ts +8 -1
- package/Libraries/Animated/AnimatedEvent.js +4 -4
- package/Libraries/Animated/AnimatedImplementation.js +2 -2
- package/Libraries/Animated/animations/Animation.js +3 -3
- package/Libraries/Animated/animations/DecayAnimation.js +4 -4
- package/Libraries/Animated/animations/SpringAnimation.js +5 -5
- package/Libraries/Animated/animations/TimingAnimation.js +5 -5
- package/Libraries/Animated/createAnimatedComponent.js +7 -7
- package/Libraries/Animated/nodes/AnimatedColor.js +2 -2
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +12 -12
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
- package/Libraries/Animated/nodes/AnimatedObject.js +3 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +6 -6
- package/Libraries/Animated/nodes/AnimatedStyle.js +7 -7
- package/Libraries/Animated/nodes/AnimatedTransform.js +13 -13
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
- package/{jest/mocks/Vibration.js → Libraries/Animated/useAnimatedColor.d.ts} +5 -6
- package/Libraries/Animated/useAnimatedColor.js +25 -0
- package/{jest/mocks/Clipboard.js → Libraries/Animated/useAnimatedValueXY.d.ts} +5 -6
- package/Libraries/Animated/useAnimatedValueXY.js +26 -0
- package/Libraries/AppDelegate/RCTAppDelegate.mm +0 -8
- package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +1 -3
- package/Libraries/AppDelegate/RCTReactNativeFactory.mm +1 -0
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -6
- package/Libraries/AppState/AppState.js +1 -1
- package/Libraries/BatchedBridge/MessageQueue.js +3 -3
- package/Libraries/BatchedBridge/NativeModules.js +12 -10
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -26
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +2 -2
- package/Libraries/Components/Button.js +2 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +2 -2
- package/Libraries/Components/Keyboard/Keyboard.js +6 -6
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
- package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
- package/Libraries/Components/Pressable/Pressable.d.ts +5 -0
- package/Libraries/Components/Pressable/Pressable.js +3 -3
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +4 -4
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +3 -3
- package/Libraries/Components/RefreshControl/RefreshControl.js +5 -5
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +10 -12
- package/Libraries/Components/ScrollView/ScrollView.d.ts +18 -1
- package/Libraries/Components/ScrollView/ScrollView.js +33 -10
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +12 -18
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +7 -4
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +8 -8
- package/Libraries/Components/Switch/Switch.js +3 -3
- package/Libraries/Components/TV/TVViewPropTypes.js +7 -0
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -48
- package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +6 -11
- package/Libraries/Components/TextInput/TextInput.flow.js +21 -20
- package/Libraries/Components/TextInput/TextInput.js +8 -4
- package/Libraries/Components/Touchable/PooledClass.js +1 -1
- package/Libraries/Components/Touchable/Touchable.js +2 -2
- package/Libraries/Components/Touchable/TouchableBounce.js +4 -4
- package/Libraries/Components/Touchable/TouchableHighlight.js +6 -6
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +7 -7
- package/Libraries/Components/Touchable/TouchableOpacity.js +3 -3
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +68 -31
- package/Libraries/Components/View/View.js +6 -0
- package/Libraries/Components/View/ViewAccessibility.js +7 -7
- package/Libraries/Components/View/ViewPropTypes.js +15 -15
- package/Libraries/Core/Devtools/parseHermesStack.js +8 -8
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/ExtendedError.js +3 -3
- package/Libraries/Core/RawEventEmitter.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/Timers/JSTimers.js +3 -2
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpErrorHandling.js +4 -2
- package/Libraries/Core/setUpReactDevTools.js +23 -6
- package/Libraries/Core/setUpSegmentFetcher.js +1 -1
- package/Libraries/Debugging/DebuggingOverlay.js +2 -2
- package/Libraries/EventEmitter/NativeEventEmitter.js +7 -9
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
- package/Libraries/FBLazyVector/FBLazyVector/FBLazyIterator.h +0 -6
- package/Libraries/Image/AssetSourceResolver.js +1 -1
- package/Libraries/Image/Image.android.js +172 -306
- package/Libraries/Image/ImageProps.js +9 -11
- package/Libraries/Image/ImageSource.js +2 -2
- package/Libraries/Image/ImageSourceUtils.js +8 -4
- package/Libraries/Image/ImageTypes.flow.js +2 -2
- package/Libraries/Image/ImageViewNativeComponent.js +7 -16
- package/Libraries/Image/RCTImageUtils.mm +37 -1
- package/Libraries/Image/nativeImageSource.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +5 -4
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Lists/FlatList.js +3 -3
- package/Libraries/Lists/SectionList.js +1 -1
- package/Libraries/Lists/SectionListModern.js +2 -2
- package/Libraries/LogBox/Data/LogBoxData.js +38 -24
- package/Libraries/LogBox/Data/LogBoxLog.js +43 -112
- package/Libraries/LogBox/Data/parseLogBoxLog.js +21 -117
- package/Libraries/LogBox/LogBox.js +42 -19
- package/Libraries/LogBox/LogBoxInspectorContainer.js +2 -2
- package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
- package/Libraries/LogBox/UI/LogBoxButton.js +28 -30
- package/Libraries/LogBox/UI/LogBoxInspector.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -9
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +10 -15
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +25 -18
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +5 -7
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +8 -10
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -6
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +17 -29
- package/Libraries/LogBox/UI/LogBoxMessage.js +28 -37
- package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
- package/Libraries/Modal/Modal.js +3 -3
- package/Libraries/NativeComponent/BaseViewConfig.android.js +28 -52
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -21
- package/Libraries/NativeComponent/TVViewConfig.js +1 -0
- package/Libraries/Network/RCTHTTPRequestHandler.h +9 -0
- package/Libraries/Network/RCTHTTPRequestHandler.mm +15 -1
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js.flow +1 -1
- package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
- package/Libraries/Pressability/Pressability.js +12 -5
- package/Libraries/Pressability/PressabilityDebug.js +1 -1
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
- package/Libraries/Pressability/usePressability.js +3 -14
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +11 -21
- package/Libraries/ReactNative/AppContainer-dev.js +18 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
- package/Libraries/ReactNative/AppRegistryImpl.js +2 -2
- package/Libraries/ReactNative/FabricUIManager.js +1 -1
- package/Libraries/ReactNative/RendererImplementation.js +4 -4
- package/Libraries/ReactNative/UIManagerProperties.js +1 -1
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +3 -2
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -2
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -2
- package/Libraries/Renderer/shims/ReactFabric.js +1 -3
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +1 -3
- package/Libraries/Renderer/shims/ReactNative.js +3 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -3
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +1 -3
- package/Libraries/StyleSheet/PointPropType.js +1 -1
- package/Libraries/StyleSheet/Rect.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.d.ts +0 -5
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
- package/Libraries/StyleSheet/StyleSheetExports.js +16 -25
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +2 -7
- package/Libraries/StyleSheet/StyleSheetTypes.js +33 -36
- package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +5 -5
- package/Libraries/StyleSheet/private/_TransformStyle.js +7 -7
- package/Libraries/StyleSheet/processBackgroundImage.js +7 -7
- package/Libraries/StyleSheet/processBackgroundPosition.js +4 -4
- package/Libraries/StyleSheet/processBackgroundRepeat.js +4 -4
- package/Libraries/StyleSheet/processBackgroundSize.js +4 -4
- package/Libraries/StyleSheet/processBoxShadow.js +44 -4
- package/Libraries/StyleSheet/processColorArray.js +2 -2
- package/Libraries/StyleSheet/processFilter.js +2 -2
- package/Libraries/Text/Text/RCTDynamicTypeRamp.mm +5 -4
- package/Libraries/Text/Text.js +295 -627
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +7 -1
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +14 -12
- package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +1 -1
- package/Libraries/Text/TextNativeComponent.js +14 -7
- package/Libraries/Text/TextProps.js +4 -4
- package/Libraries/Types/CodegenTypes.js +1 -1
- package/Libraries/Types/CoreEventTypes.js +21 -21
- package/Libraries/Types/ReactDevToolsTypes.js +2 -2
- package/Libraries/Utilities/Appearance.js +6 -1
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/HMRClient.js +4 -4
- package/Libraries/Utilities/IPerformanceLogger.js +4 -4
- package/Libraries/Utilities/codegenNativeCommands.js +4 -4
- package/Libraries/Utilities/codegenNativeComponent.d.ts +2 -0
- package/Libraries/Utilities/codegenNativeComponent.js +2 -2
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +3 -3
- package/Libraries/Utilities/useMergeRefs.js +2 -2
- package/Libraries/WebSocket/RCTReconnectingWebSocket.m +4 -1
- package/Libraries/vendor/core/ErrorUtils.js +4 -4
- package/Libraries/vendor/emitter/EventEmitter.js +16 -20
- package/README.md +52 -0
- package/React/Base/RCTBridge.mm +1 -1
- package/React/Base/RCTBundleURLProvider.mm +29 -8
- package/React/Base/RCTConvert.mm +3 -18
- package/React/Base/RCTDefines.h +7 -8
- package/React/Base/RCTDevSupportHttpHeaders.h +24 -0
- package/React/Base/RCTDevSupportHttpHeaders.m +65 -0
- package/React/Base/RCTJavaScriptLoader.h +1 -0
- package/React/Base/RCTJavaScriptLoader.mm +6 -2
- package/React/Base/RCTMultipartDataTask.h +9 -0
- package/React/Base/RCTMultipartDataTask.m +19 -1
- package/React/Base/RCTTVColorSupport.h +17 -0
- package/React/Base/RCTTVColorSupport.mm +23 -0
- package/React/Base/RCTUtils.mm +15 -6
- package/React/Base/RCTVersion.m +2 -2
- package/React/CoreModules/RCTActionSheetManager.mm +28 -3
- package/React/CoreModules/RCTClipboard.mm +5 -5
- package/React/CoreModules/RCTDevLoadingView.mm +1 -1
- package/React/CoreModules/RCTDevSettings.mm +8 -0
- package/React/CoreModules/RCTDeviceInfo.mm +4 -3
- package/React/CoreModules/RCTKeyboardObserver.mm +9 -2
- package/React/CoreModules/RCTLogBoxView.mm +4 -8
- package/React/CoreModules/RCTPerfMonitor.mm +5 -0
- package/React/CoreModules/RCTStatusBarManager.h +2 -0
- package/React/CoreModules/RCTWebSocketModule.h +6 -0
- package/React/CoreModules/RCTWebSocketModule.mm +14 -1
- package/React/DevSupport/RCTInspectorDevServerHelper.mm +33 -22
- package/React/DevSupport/RCTInspectorNetworkHelper.mm +2 -0
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +66 -79
- package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.cpp +8 -8
- package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +2 -2
- package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm +4 -0
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +6 -0
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +8 -4
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.h +2 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +81 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +16 -4
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +145 -8
- package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +10 -5
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +13 -0
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +9 -13
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.h +2 -0
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +2 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +2 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +42 -4
- package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.h +2 -1
- package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +92 -163
- package/React/Fabric/Mounting/RCTMountingManager.mm +8 -3
- package/React/Fabric/RCTScheduler.h +2 -0
- package/React/Fabric/RCTScheduler.mm +57 -0
- package/React/Fabric/RCTSurfacePointerHandler.mm +15 -9
- package/React/Fabric/RCTSurfacePresenter.mm +9 -0
- package/React/Fabric/RCTSurfaceTouchHandler.mm +4 -2
- package/React/Fabric/Surface/RCTFabricSurface.mm +4 -0
- package/React/Fabric/Utils/RCTLinearGradient.mm +4 -9
- package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +5 -1
- package/React/Modules/RCTLayoutAnimation.m +10 -0
- package/React/Modules/RCTUIManager.mm +2 -4
- package/React/Profiler/RCTProfile.m +2 -0
- package/React/React-RCTFabric.podspec +3 -0
- package/React/Views/RCTView.m +6 -1
- package/React/Views/ScrollView/RCTScrollViewManager.m +1 -0
- package/React-Core-prebuilt.podspec +1 -1
- package/ReactAndroid/api/ReactAndroid.api +120 -298
- package/ReactAndroid/build.gradle.kts +9 -0
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +11 -101
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +10 -10
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimationDriver.kt +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +11 -11
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +11 -11
- package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +0 -26
- package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +12 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +11 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.kt +19 -19
- package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.kt +9 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +15 -15
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.kt +8 -6
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ScrollEndedListener.kt +70 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +36 -34
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +14 -9
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +2 -8
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +17 -13
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.kt +10 -19
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxContentView.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/DevSupportHttpClient.kt +74 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +110 -80
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +1 -12
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevLoadingViewManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +87 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +36 -7
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +16 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/LongStreamingStats.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.kt +6 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +0 -29
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +2 -8
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +1258 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/FabricNameComponentMapping.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +37 -55
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +66 -96
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +14 -20
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +15 -21
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +74 -107
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +14 -20
- package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +1 -15
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +4 -10
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +4 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +45 -74
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +17 -13
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressRequestBody.kt +2 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +3 -4
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.kt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.kt +2 -8
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +9 -3
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +8 -8
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +12 -12
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +13 -7
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +14 -14
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +14 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +42 -28
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +8 -49
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +11 -8
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +13 -8
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.kt +751 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +104 -781
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.kt +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +7 -9
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +7 -31
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactZIndexedViewGroup.kt +11 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +103 -759
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +14 -38
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +41 -170
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +33 -962
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt +22 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +15 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +1 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +2 -9
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +12 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +1 -16
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +0 -33
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +27 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundPosition.kt +20 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundRepeat.kt +27 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundSize.kt +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderColors.kt +33 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +25 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +46 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderStyle.kt +14 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +23 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +45 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +40 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +21 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +34 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LogicalEdge.kt +33 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/OutlineStyle.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Overflow.kt +15 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/RadialGradient.kt +42 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/common/UiModeUtils.kt +20 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +9 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +6 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +132 -16
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +1647 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollViewManager.kt +466 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +104 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +71 -9
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainer.kt +2 -35
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateClassic.kt +7 -30
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +20 -41
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/generate-nested-scroll-view.js +270 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayout.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +39 -17
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextViewManager.kt +4 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.kt +4 -65
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +86 -111
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +243 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/SelectableTextViewManager.kt +29 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.kt +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +54 -77
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/DrawCommandSpan.kt +27 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactLinkSpan.kt +10 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +2 -75
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.kt +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextContentSizeWatcher.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +5 -38
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputTextWatcher.kt +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextScrollWatcher.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ImportantForInteractionHelper.kt +55 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +19 -60
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +7 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +150 -296
- package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualViewManager.kt +11 -13
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.kt +64 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +4 -4
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDirection.kt +29 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.kt +244 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.kt +183 -0
- package/ReactAndroid/src/main/jni/CMakeLists.txt +6 -0
- package/ReactAndroid/src/main/jni/react/fabric/AndroidAnimationChoreographer.h +38 -0
- package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +4 -4
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +7 -0
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +2 -0
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +50 -2
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +11 -0
- package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.cpp +23 -0
- package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.h +37 -0
- package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +2 -1
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +89 -131
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +19 -28
- package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +0 -1
- package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -7
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +24 -60
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +12 -28
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +13 -6
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +2 -1
- package/{ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.cpp → ReactAndroid/src/main/jni/react/uimanager/StateWrapper.h} +7 -2
- package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
- package/ReactAndroid/src/main/res/views/uimanager/values-ne/strings.xml +2 -0
- package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.mm +8 -1
- package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +1 -1
- package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -2
- package/ReactCommon/React-Fabric.podspec +5 -6
- package/ReactCommon/React-FabricComponents.podspec +6 -8
- package/ReactCommon/cxxreact/ReactNativeVersion.h +8 -6
- package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +1 -1
- package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.cpp +25 -16
- package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.h +1 -1
- package/ReactCommon/jsinspector-modern/HostAgent.cpp +10 -30
- package/ReactCommon/jsinspector-modern/HostAgent.h +4 -11
- package/ReactCommon/jsinspector-modern/HostTarget.cpp +33 -33
- package/ReactCommon/jsinspector-modern/HostTarget.h +23 -24
- package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +1 -2
- package/ReactCommon/jsinspector-modern/HostTargetTracing.h +89 -0
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +4 -9
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +0 -1
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +164 -54
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +39 -4
- package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +12 -3
- package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +13 -0
- package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +6 -0
- package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +34 -18
- package/ReactCommon/jsinspector-modern/RuntimeTarget.h +19 -0
- package/ReactCommon/jsinspector-modern/RuntimeTargetDebuggerSessionObserver.cpp +6 -95
- package/ReactCommon/jsinspector-modern/RuntimeTargetGlobalStateObserver.cpp +122 -0
- package/ReactCommon/jsinspector-modern/RuntimeTargetGlobalStateObserver.h +42 -0
- package/ReactCommon/jsinspector-modern/RuntimeTargetTracingStateObserver.cpp +27 -0
- package/ReactCommon/jsinspector-modern/RuntimeTargetTracingStateObserver.h +27 -0
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +7 -45
- package/ReactCommon/jsinspector-modern/TracingAgent.h +0 -11
- package/ReactCommon/jsinspector-modern/UniqueMonostate.h +0 -4
- package/ReactCommon/jsinspector-modern/WeakList.h +60 -1
- package/ReactCommon/jsinspector-modern/network/NetworkHandler.cpp +25 -21
- package/ReactCommon/jsinspector-modern/network/NetworkHandler.h +21 -15
- package/ReactCommon/jsinspector-modern/tests/GmockHelpers.h +1 -1
- package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +3 -3
- package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionMultiSessionTest.cpp +692 -0
- package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +10 -123
- package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.h +140 -0
- package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +158 -6
- package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +34 -0
- package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +223 -4
- package/ReactCommon/jsinspector-modern/tests/WeakListTest.cpp +31 -1
- package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestHermesEngineAdapter.cpp +1 -1
- package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +6 -9
- package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +4 -6
- package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +6 -17
- package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +4 -5
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +27 -39
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +32 -47
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +153 -207
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +18 -24
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +26 -38
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +56 -83
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +9 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +9 -12
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +3 -1
- package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
- package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +10 -4
- package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -0
- package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +32 -0
- package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.h +2 -0
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +32 -47
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +14 -20
- package/ReactCommon/react/renderer/animated/AnimatedModule.h +1 -1
- package/ReactCommon/react/renderer/animated/CMakeLists.txt +0 -1
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +108 -151
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +16 -11
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +80 -86
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.h +0 -1
- package/ReactCommon/react/renderer/animated/event_drivers/EventAnimationDriver.h +0 -1
- package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.h +0 -2
- package/ReactCommon/react/renderer/animated/internal/NativeAnimatedAllowlist.h +2 -2
- package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +32 -4
- package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +6 -0
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +14 -21
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +3 -1
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +6 -3
- package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +125 -63
- package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +33 -33
- package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.cpp +18 -8
- package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +1 -1
- package/ReactCommon/react/renderer/animationbackend/AnimationChoreographer.h +39 -0
- package/ReactCommon/react/renderer/animationbackend/CMakeLists.txt +0 -1
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1 -2
- package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
- package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.cpp +0 -6
- package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +0 -1
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +0 -4
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +0 -1
- package/ReactCommon/react/renderer/attributedstring/conversions.h +60 -0
- package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +3 -5
- package/ReactCommon/react/renderer/components/image/ImageProps.h +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{LegacyViewManagerInteropComponentDescriptor.mm → platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm} +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{LegacyViewManagerInteropState.mm → platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.mm} +1 -1
- package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.cpp +20 -0
- package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.h +2 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +1 -1
- package/ReactCommon/react/renderer/components/scrollview/conversions.h +6 -0
- package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.cpp +18 -1
- package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.h +2 -0
- package/ReactCommon/react/renderer/components/scrollview/primitives.h +2 -11
- package/ReactCommon/react/renderer/components/scrollview/tests/ScrollViewTest.cpp +83 -3
- package/ReactCommon/react/renderer/components/text/BaseParagraphComponentDescriptor.h +49 -0
- package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +14 -14
- package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +3 -28
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +10 -10
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +4 -4
- package/ReactCommon/react/renderer/components/text/SelectableParagraphComponentDescriptor.h +24 -0
- package/ReactCommon/react/renderer/components/text/SelectableParagraphShadowNode.h +32 -0
- package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.cpp +1 -1
- package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.cpp +1 -1
- package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +2 -2
- package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +13 -1
- package/ReactCommon/react/renderer/components/textinput/TextInputEventEmitter.cpp +2 -1
- package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +2 -21
- package/ReactCommon/react/renderer/components/view/BackgroundImagePropsConversions.cpp +15 -24
- package/ReactCommon/react/renderer/components/view/BaseTouch.h +7 -7
- package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +11 -1
- package/ReactCommon/react/renderer/components/view/BaseViewProps.h +4 -0
- package/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h +0 -3
- package/ReactCommon/react/renderer/components/view/FilterPropsConversions.h +57 -53
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +1 -0
- package/ReactCommon/react/renderer/components/view/conversions.h +250 -2
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +19 -63
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +1 -0
- package/ReactCommon/react/renderer/components/view/primitives.h +3 -86
- package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +215 -0
- package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +1 -1
- package/ReactCommon/react/renderer/components/virtualview/VirtualViewComponentDescriptor.h +1 -1
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +1 -1
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +2 -2
- package/ReactCommon/react/renderer/core/EventEmitter.h +8 -8
- package/ReactCommon/react/renderer/core/EventPipe.h +1 -1
- package/ReactCommon/react/renderer/core/EventTarget.cpp +3 -3
- package/ReactCommon/react/renderer/core/EventTarget.h +7 -7
- package/ReactCommon/react/renderer/core/LayoutConstraints.h +0 -5
- package/ReactCommon/react/renderer/core/LayoutContext.h +0 -5
- package/ReactCommon/react/renderer/core/LayoutMetrics.h +0 -2
- package/ReactCommon/react/renderer/core/RawPropsKey.cpp +11 -21
- package/ReactCommon/react/renderer/core/RawPropsKey.h +0 -1
- package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +4 -1
- package/ReactCommon/react/renderer/core/RawPropsParser.cpp +1 -7
- package/ReactCommon/react/renderer/core/RawPropsParser.h +2 -6
- package/ReactCommon/react/renderer/core/RawValue.h +1 -2
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +33 -31
- package/ReactCommon/react/renderer/core/ShadowNode.h +19 -29
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +6 -6
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +14 -14
- package/ReactCommon/react/renderer/core/ShadowNodeFragment.cpp +4 -2
- package/ReactCommon/react/renderer/core/ShadowNodeFragment.h +2 -2
- package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +57 -2
- package/ReactCommon/react/renderer/css/CSSBackgroundImage.h +112 -140
- package/ReactCommon/react/renderer/css/CSSColor.h +7 -8
- package/ReactCommon/react/renderer/css/CSSColorFunction.h +38 -39
- package/ReactCommon/react/renderer/css/CSSCompoundDataType.h +23 -17
- package/ReactCommon/react/renderer/css/CSSDataType.h +15 -10
- package/ReactCommon/react/renderer/css/CSSFilter.h +12 -17
- package/ReactCommon/react/renderer/css/CSSKeyword.h +8 -0
- package/ReactCommon/react/renderer/css/CSSList.h +11 -11
- package/ReactCommon/react/renderer/css/CSSRatio.h +4 -4
- package/ReactCommon/react/renderer/css/CSSShadow.h +7 -7
- package/ReactCommon/react/renderer/css/CSSSyntaxParser.h +10 -6
- package/ReactCommon/react/renderer/css/CSSTokenizer.h +2 -0
- package/ReactCommon/react/renderer/css/CSSTransform.h +20 -20
- package/ReactCommon/react/renderer/css/CSSTransformOrigin.h +4 -5
- package/ReactCommon/react/renderer/css/CSSValueParser.h +71 -67
- package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +11 -10
- package/ReactCommon/react/renderer/graphics/BackgroundPosition.h +0 -1
- package/ReactCommon/react/renderer/graphics/BackgroundRepeat.h +0 -1
- package/ReactCommon/react/renderer/graphics/BackgroundSize.h +0 -1
- package/ReactCommon/react/renderer/graphics/Filter.h +3 -2
- package/ReactCommon/react/renderer/graphics/LinearGradient.cpp +9 -15
- package/ReactCommon/react/renderer/graphics/LinearGradient.h +7 -19
- package/ReactCommon/react/renderer/graphics/Point.h +0 -2
- package/ReactCommon/react/renderer/graphics/RadialGradient.h +4 -35
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
- package/ReactCommon/react/renderer/graphics/Rect.h +1 -9
- package/ReactCommon/react/renderer/graphics/RectangleCorners.h +1 -10
- package/ReactCommon/react/renderer/graphics/RectangleEdges.h +1 -10
- package/ReactCommon/react/renderer/graphics/Size.h +0 -5
- package/ReactCommon/react/renderer/graphics/Transform.cpp +0 -4
- package/ReactCommon/react/renderer/graphics/Transform.h +1 -13
- package/ReactCommon/react/renderer/graphics/TransformUtils.h +95 -0
- package/ReactCommon/react/renderer/graphics/ValueUnit.h +3 -11
- package/ReactCommon/react/renderer/graphics/fromRawValueShared.h +13 -1
- package/ReactCommon/react/renderer/imagemanager/ImageManager.h +0 -4
- package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +11 -12
- package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.h +4 -3
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +1 -36
- package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequestParams.h +1 -9
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageRequestParams.h +1 -9
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +1 -1
- package/ReactCommon/react/renderer/imagemanager/primitives.h +0 -5
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +51 -30
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +2 -0
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +21 -38
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +153 -18
- package/ReactCommon/react/renderer/mounting/ShadowTree.h +30 -6
- package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +11 -0
- package/ReactCommon/react/renderer/mounting/ShadowView.cpp +0 -4
- package/ReactCommon/react/renderer/mounting/ShadowView.h +0 -1
- package/ReactCommon/react/renderer/mounting/internal/DiffMap.h +170 -0
- package/ReactCommon/react/renderer/mounting/internal/ShadowViewNodePair.h +0 -5
- package/ReactCommon/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.h +3 -3
- package/ReactCommon/react/renderer/mounting/stubs/StubView.cpp +0 -4
- package/ReactCommon/react/renderer/mounting/stubs/StubView.h +0 -1
- package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +0 -4
- package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.h +0 -2
- package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +6 -0
- package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +12 -4
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +2 -1
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.cpp +0 -5
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.h +0 -1
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +1 -1
- package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +28 -1
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +2 -2
- package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +6 -0
- package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +7 -0
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +2 -2
- package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManagerExtended.h +18 -18
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +8 -7
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +5 -5
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +3 -3
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +4 -3
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.h +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +15 -5
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +2 -2
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +10 -1
- package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.cpp +1 -1
- package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.h +1 -3
- package/ReactCommon/react/renderer/uimanager/PointerHoverTracker.cpp +1 -1
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +68 -38
- package/ReactCommon/react/renderer/uimanager/UIManager.h +17 -8
- package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +17 -5
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +2 -2
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +2 -2
- package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +10 -0
- package/ReactCommon/react/renderer/uimanager/consistency/LazyShadowTreeRevisionConsistencyManager.cpp +19 -23
- package/ReactCommon/react/renderer/uimanager/consistency/LazyShadowTreeRevisionConsistencyManager.h +2 -3
- package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +13 -5
- package/ReactCommon/react/renderer/uimanager/primitives.h +16 -7
- package/ReactCommon/react/renderer/uimanager/tests/FindShadowNodeByTagTest.cpp +287 -0
- package/ReactCommon/react/runtime/TimerManager.cpp +16 -2
- package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +11 -6
- package/ReactCommon/react/runtime/iostests/RCTHostTests.mm +11 -0
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +17 -3
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +8 -1
- package/ReactCommon/react/test_utils/shadowTreeGeneration.h +8 -5
- package/ReactCommon/react/utils/ContextContainer.h +0 -2
- package/ReactCommon/yoga/yoga/YGNode.cpp +14 -0
- package/ReactCommon/yoga/yoga/YGValue.h +0 -4
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +7 -7
- package/ReactCommon/yoga/yoga/enums/YogaEnums.h +0 -1
- package/ReactCommon/yoga/yoga/node/LayoutResults.h +0 -3
- package/ReactCommon/yoga/yoga/numeric/FloatOptional.h +0 -9
- package/ReactCommon/yoga/yoga/style/Style.h +0 -4
- package/flow/bom.js.flow +18 -17
- package/flow/dom.js.flow +12 -5
- package/flow/global.js +1 -1
- package/gradle/libs.versions.toml +1 -1
- package/index.js +9 -0
- package/index.js.flow +8 -1
- package/jest-preset.js +14 -18
- package/package.json +17 -17
- package/scripts/cocoapods/rncore.rb +111 -2
- package/scripts/cocoapods/utils.rb +2 -0
- package/scripts/codegen/templates/Package.swift.template +7 -0
- package/scripts/react_native_pods.rb +13 -6
- package/scripts/replace-rncore-version.js +12 -3
- package/sdks/.hermesv1version +1 -1
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/version.properties +2 -2
- package/src/private/animated/NativeAnimatedHelper.js +2 -2
- package/src/private/animated/createAnimatedPropsMemoHook.js +19 -19
- package/src/private/components/virtualview/VirtualView.js +14 -21
- package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +11 -10
- package/src/private/components/virtualview/VirtualViewNativeComponent.js +4 -4
- package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +3 -3
- package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +4 -4
- package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/Inspector.js +39 -17
- package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +15 -3
- package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -8
- package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +102 -0
- package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +12 -25
- package/src/private/devsupport/rndevtools/GlobalStateObserver.js +56 -0
- package/src/private/devsupport/rndevtools/TracingStateObserver.js +28 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +49 -82
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -2
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +9 -12
- package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
- package/src/private/styles/composeStyles.js +1 -1
- package/src/private/utilities/toError.js +27 -0
- package/src/private/utilities/toExtendedError.js +30 -0
- package/src/private/webapis/dom/events/Event.js +1 -1
- package/src/private/webapis/dom/events/EventHandlerAttributes.js +2 -2
- package/src/private/webapis/dom/events/EventTarget.js +3 -3
- package/src/private/webapis/dom/events/internals/EventInternals.js +2 -2
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +2 -2
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +14 -14
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +1 -1
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
- package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +1 -1
- package/src/private/webapis/geometry/DOMRectList.js +2 -2
- package/src/private/webapis/geometry/DOMRectList.js.flow +1 -1
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +8 -8
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +6 -6
- package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
- package/src/private/webapis/mutationobserver/MutationRecord.js +2 -2
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +3 -3
- package/src/private/webapis/performance/LongTasks.js +3 -3
- package/src/private/webapis/performance/Performance.js +4 -4
- package/src/private/webapis/performance/PerformanceEntry.js +1 -1
- package/src/private/webapis/performance/PerformanceObserver.js +2 -2
- package/src/private/webapis/performance/specs/NativePerformance.js +8 -8
- package/src/private/webapis/structuredClone/structuredClone.js +2 -2
- package/src/types/globals.d.ts +4 -4
- package/third-party-podspecs/RCT-Folly.podspec +1 -1
- package/third-party-podspecs/fmt.podspec +2 -2
- package/types/index.d.ts +2 -0
- package/types/public/ReactNativeTVTypes.d.ts +27 -2
- package/Libraries/Components/View/ReactNativeViewAttributes.js +0 -60
- package/Libraries/Image/TextInlineImageNativeComponent.js +0 -49
- package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.h +0 -25
- package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.mm +0 -321
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +0 -620
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +0 -1411
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +0 -985
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +0 -403
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.kt +0 -336
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventEmitterImpl.kt +0 -135
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +0 -81
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +0 -72
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.kt +0 -677
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt +0 -218
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.kt +0 -369
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +0 -156
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.kt +0 -174
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +0 -54
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.kt +0 -30
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineImageSpan.kt +0 -58
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt +0 -228
- package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimental.kt +0 -305
- package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimentalManager.kt +0 -110
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.java +0 -62
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDirection.java +0 -35
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +0 -279
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +0 -197
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +0 -410
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +0 -113
- package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalComponentDescriptor.h +0 -19
- package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalShadowNode.h +0 -38
- package/jest/MockNativeMethods.js +0 -27
- package/jest/RefreshControlMock.js +0 -32
- package/jest/assetFileTransformer.js +0 -33
- package/jest/local-setup.js +0 -29
- package/jest/mock.js +0 -39
- package/jest/mockComponent.js +0 -104
- package/jest/mockNativeComponent.js +0 -52
- package/jest/mocks/AccessibilityInfo.js +0 -62
- package/jest/mocks/ActivityIndicator.js +0 -23
- package/jest/mocks/AppState.js +0 -19
- package/jest/mocks/Image.js +0 -23
- package/jest/mocks/InitializeCore.js +0 -9
- package/jest/mocks/Linking.js +0 -28
- package/jest/mocks/Modal.js +0 -33
- package/jest/mocks/NativeComponentRegistry.js +0 -30
- package/jest/mocks/NativeModules.js +0 -239
- package/jest/mocks/RefreshControl.js +0 -31
- package/jest/mocks/RendererProxy.js +0 -45
- package/jest/mocks/ScrollView.js +0 -58
- package/jest/mocks/Text.js +0 -27
- package/jest/mocks/TextInput.js +0 -32
- package/jest/mocks/UIManager.js +0 -60
- package/jest/mocks/View.js +0 -27
- package/jest/mocks/ViewNativeComponent.js +0 -23
- package/jest/mocks/requireNativeComponent.js +0 -22
- package/jest/mocks/useColorScheme.js +0 -18
- package/jest/react-native-env.js +0 -17
- package/jest/renderer.js +0 -40
- package/jest/resolver.js +0 -32
- package/jest/setup.js +0 -140
- /package/React/Fabric/Mounting/ComponentViews/{VirtualViewExperimental → VirtualView}/RCTVirtualViewMode.h +0 -0
- /package/React/Fabric/Mounting/ComponentViews/{VirtualViewExperimental → VirtualView}/RCTVirtualViewRenderState.h +0 -0
- /package/ReactAndroid/src/main/java/com/facebook/react/fabric/internal/interop/{InteropUiBlockListener.kt → InteropUIBlockListener.kt} +0 -0
- /package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{LegacyViewManagerInteropComponentDescriptor.h → platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h} +0 -0
- /package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{RCTLegacyViewManagerInteropCoordinator.h → platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h} +0 -0
- /package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{RCTLegacyViewManagerInteropCoordinator.mm → platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm} +0 -0
- /package/ReactCommon/react/renderer/components/scrollview/{RCTComponentViewHelpers.h → platform/ios/react/renderer/components/scrollview/RCTComponentViewHelpers.h} +0 -0
package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java
CHANGED
|
@@ -7,64 +7,17 @@
|
|
|
7
7
|
|
|
8
8
|
package com.facebook.react.uimanager;
|
|
9
9
|
|
|
10
|
-
import android.graphics.Matrix;
|
|
11
|
-
import android.graphics.Rect;
|
|
12
|
-
import android.graphics.RectF;
|
|
13
|
-
import android.util.SparseArray;
|
|
14
|
-
import android.util.SparseBooleanArray;
|
|
15
10
|
import android.view.View;
|
|
16
|
-
import android.view.ViewGroup;
|
|
17
|
-
import android.view.ViewParent;
|
|
18
11
|
import androidx.annotation.Nullable;
|
|
19
|
-
import com.facebook.common.logging.FLog;
|
|
20
|
-
import com.facebook.react.R;
|
|
21
|
-
import com.facebook.react.bridge.Callback;
|
|
22
|
-
import com.facebook.react.bridge.JSApplicationIllegalArgumentException;
|
|
23
|
-
import com.facebook.react.bridge.ReactContext;
|
|
24
12
|
import com.facebook.react.bridge.ReadableArray;
|
|
25
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
26
|
-
import com.facebook.react.bridge.RetryableMountingLayerException;
|
|
27
|
-
import com.facebook.react.bridge.SoftAssertions;
|
|
28
|
-
import com.facebook.react.bridge.UiThreadUtil;
|
|
29
13
|
import com.facebook.react.common.annotations.internal.LegacyArchitecture;
|
|
30
14
|
import com.facebook.react.common.annotations.internal.LegacyArchitectureLogLevel;
|
|
31
15
|
import com.facebook.react.common.annotations.internal.LegacyArchitectureLogger;
|
|
32
|
-
import com.facebook.react.common.build.ReactBuildConfig;
|
|
33
|
-
import com.facebook.react.touch.JSResponderHandler;
|
|
34
|
-
import com.facebook.systrace.Systrace;
|
|
35
|
-
import com.facebook.systrace.SystraceMessage;
|
|
36
|
-
import com.facebook.yoga.YogaDirection;
|
|
37
|
-
import java.util.HashMap;
|
|
38
|
-
import java.util.HashSet;
|
|
39
|
-
import java.util.Set;
|
|
40
|
-
import javax.annotation.concurrent.NotThreadSafe;
|
|
41
16
|
|
|
42
17
|
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* UIManagerModule} communicates with this class by it's public interface methods:
|
|
46
|
-
*
|
|
47
|
-
* <ul>
|
|
48
|
-
* <li>{@link #updateProperties}
|
|
49
|
-
* <li>{@link #updateLayout}
|
|
50
|
-
* <li>{@link #createView}
|
|
51
|
-
* <li>{@link #manageChildren}
|
|
52
|
-
* </ul>
|
|
53
|
-
*
|
|
54
|
-
* executing all the scheduled UI operations at the end of JS batch.
|
|
55
|
-
*
|
|
56
|
-
* <p>NB: All native view management methods listed above must be called from the UI thread.
|
|
57
|
-
*
|
|
58
|
-
* <p>The {@link ReactContext} instance that is passed to views that this manager creates differs
|
|
59
|
-
* from the one that we pass as a constructor. Instead we wrap the provided instance of {@link
|
|
60
|
-
* ReactContext} in an instance of {@link ThemedReactContext} that additionally provide a correct
|
|
61
|
-
* theme based on the root view for a view tree that we attach newly created view to. Therefore this
|
|
62
|
-
* view manager will create a copy of {@link ThemedReactContext} that wraps the instance of {@link
|
|
63
|
-
* ReactContext} for each root view added to the manager (see {@link #addRootView}).
|
|
64
|
-
*
|
|
65
|
-
* <p>TODO(5483031): Only dispatch updates when shadow views have changed
|
|
18
|
+
* @deprecated This class is part of Legacy Architecture and has been stubbed out. It will be
|
|
19
|
+
* removed in a future release.
|
|
66
20
|
*/
|
|
67
|
-
@NotThreadSafe
|
|
68
21
|
@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
|
|
69
22
|
@Deprecated(
|
|
70
23
|
since = "This class is part of Legacy Architecture and will be removed in a future release")
|
|
@@ -75,799 +28,169 @@ public class NativeViewHierarchyManager {
|
|
|
75
28
|
"NativeViewHierarchyManager", LegacyArchitectureLogLevel.ERROR);
|
|
76
29
|
}
|
|
77
30
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
private final SparseArray<ViewManager> mTagsToViewManagers;
|
|
83
|
-
private final SparseBooleanArray mRootTags;
|
|
84
|
-
private final ViewManagerRegistry mViewManagers;
|
|
85
|
-
private final JSResponderHandler mJSResponderHandler = new JSResponderHandler();
|
|
86
|
-
private final RootViewManager mRootViewManager;
|
|
87
|
-
private final RectF mBoundingBox = new RectF();
|
|
88
|
-
|
|
89
|
-
private volatile boolean mLayoutAnimationEnabled;
|
|
90
|
-
private HashMap<Integer, Set<Integer>> mPendingDeletionsForTag;
|
|
91
|
-
|
|
92
|
-
public NativeViewHierarchyManager(ViewManagerRegistry viewManagers) {
|
|
93
|
-
this(viewManagers, new RootViewManager());
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
public NativeViewHierarchyManager(ViewManagerRegistry viewManagers, RootViewManager manager) {
|
|
97
|
-
mViewManagers = viewManagers;
|
|
98
|
-
mTagsToViews = new SparseArray<>();
|
|
99
|
-
mTagsToViewManagers = new SparseArray<>();
|
|
100
|
-
mRootTags = new SparseBooleanArray();
|
|
101
|
-
mRootViewManager = manager;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
public final synchronized View resolveView(int tag) {
|
|
105
|
-
View view = mTagsToViews.get(tag);
|
|
106
|
-
if (view == null) {
|
|
107
|
-
throw new IllegalViewOperationException(
|
|
108
|
-
"Trying to resolve view with tag " + tag + " which doesn't exist");
|
|
109
|
-
}
|
|
110
|
-
return view;
|
|
111
|
-
}
|
|
31
|
+
/**
|
|
32
|
+
* @deprecated Use new architecture instead.
|
|
33
|
+
*/
|
|
34
|
+
public NativeViewHierarchyManager(ViewManagerRegistry viewManagers) {}
|
|
112
35
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
"ViewManager for tag " + tag + " could not be found.\n");
|
|
118
|
-
}
|
|
119
|
-
return viewManager;
|
|
120
|
-
}
|
|
36
|
+
/**
|
|
37
|
+
* @deprecated Use new architecture instead.
|
|
38
|
+
*/
|
|
39
|
+
public NativeViewHierarchyManager(ViewManagerRegistry viewManagers, RootViewManager manager) {}
|
|
121
40
|
|
|
122
|
-
|
|
123
|
-
|
|
41
|
+
/**
|
|
42
|
+
* @deprecated Use new architecture instead.
|
|
43
|
+
*/
|
|
44
|
+
public final synchronized @Nullable View resolveView(int tag) {
|
|
45
|
+
return null;
|
|
124
46
|
}
|
|
125
47
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
} catch (IllegalViewOperationException e) {
|
|
132
|
-
FLog.e(TAG, "Unable to update properties for view tag " + tag, e);
|
|
133
|
-
}
|
|
48
|
+
/**
|
|
49
|
+
* @deprecated Use new architecture instead.
|
|
50
|
+
*/
|
|
51
|
+
public final synchronized @Nullable ViewManager resolveViewManager(int tag) {
|
|
52
|
+
return null;
|
|
134
53
|
}
|
|
135
54
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
UiThreadUtil.assertOnUiThread();
|
|
141
|
-
|
|
142
|
-
try {
|
|
143
|
-
ViewManager viewManager = resolveViewManager(tag);
|
|
144
|
-
View viewToUpdate = resolveView(tag);
|
|
55
|
+
/**
|
|
56
|
+
* @deprecated Use new architecture instead.
|
|
57
|
+
*/
|
|
58
|
+
public void setLayoutAnimationEnabled(boolean enabled) {}
|
|
145
59
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
FLog.e(TAG, "Unable to update properties for view tag " + tag, e);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
60
|
+
/**
|
|
61
|
+
* @deprecated Use new architecture instead.
|
|
62
|
+
*/
|
|
63
|
+
public synchronized void updateInstanceHandle(int tag, long instanceHandle) {}
|
|
153
64
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
UiThreadUtil.assertOnUiThread();
|
|
65
|
+
/**
|
|
66
|
+
* @deprecated Use new architecture instead.
|
|
67
|
+
*/
|
|
68
|
+
public synchronized void updateProperties(int tag, ReactStylesDiffMap props) {}
|
|
159
69
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
}
|
|
70
|
+
/**
|
|
71
|
+
* @deprecated Use new architecture instead.
|
|
72
|
+
*/
|
|
73
|
+
public synchronized void updateViewExtraData(int tag, Object extraData) {}
|
|
164
74
|
|
|
165
75
|
/**
|
|
166
76
|
* @deprecated Please use {@link #updateLayout(int tag, int x, int y, int width, int height,
|
|
167
77
|
* YogaDirection layoutDirection)} instead.
|
|
168
78
|
*/
|
|
169
79
|
@Deprecated
|
|
170
|
-
public void updateLayout(int tag, int x, int y, int width, int height) {
|
|
171
|
-
updateLayout(tag, tag, x, y, width, height, YogaDirection.INHERIT);
|
|
172
|
-
}
|
|
80
|
+
public void updateLayout(int tag, int x, int y, int width, int height) {}
|
|
173
81
|
|
|
82
|
+
/**
|
|
83
|
+
* @deprecated Use new architecture instead.
|
|
84
|
+
*/
|
|
174
85
|
public synchronized void updateLayout(
|
|
175
|
-
int parentTag,
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
.arg("parentTag", parentTag)
|
|
183
|
-
.arg("tag", tag)
|
|
184
|
-
.flush();
|
|
185
|
-
try {
|
|
186
|
-
View viewToUpdate = resolveView(tag);
|
|
187
|
-
|
|
188
|
-
// Even though we have exact dimensions, we still call measure because some platform views
|
|
189
|
-
// (e.g.
|
|
190
|
-
// Switch) assume that method will always be called before onLayout and onDraw. They use it to
|
|
191
|
-
// calculate and cache information used in the draw pass. For most views, onMeasure can be
|
|
192
|
-
// stubbed out to only call setMeasuredDimensions. For ViewGroups, onLayout should be stubbed
|
|
193
|
-
// out to not recursively call layout on its children: React Native already handles doing
|
|
194
|
-
// that.
|
|
195
|
-
//
|
|
196
|
-
// Also, note measure and layout need to be called *after* all View properties have been
|
|
197
|
-
// updated
|
|
198
|
-
// because of caching and calculation that may occur in onMeasure and onLayout. Layout
|
|
199
|
-
// operations should also follow the native view hierarchy and go top to bottom for
|
|
200
|
-
// consistency
|
|
201
|
-
// with standard layout passes (some views may depend on this).
|
|
202
|
-
|
|
203
|
-
viewToUpdate.measure(
|
|
204
|
-
View.MeasureSpec.makeMeasureSpec(width, View.MeasureSpec.EXACTLY),
|
|
205
|
-
View.MeasureSpec.makeMeasureSpec(height, View.MeasureSpec.EXACTLY));
|
|
206
|
-
|
|
207
|
-
// We update the layout of the ReactRootView when there is a change in the layout of its
|
|
208
|
-
// child.
|
|
209
|
-
// This is required to re-measure the size of the native View container (usually a
|
|
210
|
-
// FrameLayout) that is configured with layout_height = WRAP_CONTENT or layout_width =
|
|
211
|
-
// WRAP_CONTENT
|
|
212
|
-
//
|
|
213
|
-
// This code is going to be executed ONLY when there is a change in the size of the Root
|
|
214
|
-
// View defined in the js side. Changes in the layout of inner views will not trigger an
|
|
215
|
-
// update
|
|
216
|
-
// on the layout of the Root View.
|
|
217
|
-
ViewParent parent = viewToUpdate.getParent();
|
|
218
|
-
if (parent instanceof RootView) {
|
|
219
|
-
parent.requestLayout();
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
// Check if the parent of the view has to layout the view, or the child has to lay itself out.
|
|
223
|
-
if (!mRootTags.get(parentTag)) {
|
|
224
|
-
ViewManager parentViewManager = mTagsToViewManagers.get(parentTag);
|
|
225
|
-
IViewManagerWithChildren parentViewManagerWithChildren;
|
|
226
|
-
if (parentViewManager instanceof IViewManagerWithChildren) {
|
|
227
|
-
parentViewManagerWithChildren = (IViewManagerWithChildren) parentViewManager;
|
|
228
|
-
} else {
|
|
229
|
-
throw new IllegalViewOperationException(
|
|
230
|
-
"Trying to use view with tag "
|
|
231
|
-
+ parentTag
|
|
232
|
-
+ " as a parent, but its Manager doesn't implement IViewManagerWithChildren");
|
|
233
|
-
}
|
|
234
|
-
if (parentViewManagerWithChildren != null
|
|
235
|
-
&& !parentViewManagerWithChildren.needsCustomLayoutForChildren()) {
|
|
236
|
-
updateLayout(viewToUpdate, x, y, width, height);
|
|
237
|
-
}
|
|
238
|
-
} else {
|
|
239
|
-
updateLayout(viewToUpdate, x, y, width, height);
|
|
240
|
-
}
|
|
241
|
-
} finally {
|
|
242
|
-
Systrace.endSection(Systrace.TRACE_TAG_REACT);
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
private void updateInstanceHandle(View viewToUpdate, long instanceHandle) {
|
|
247
|
-
UiThreadUtil.assertOnUiThread();
|
|
248
|
-
viewToUpdate.setTag(R.id.view_tag_instance_handle, instanceHandle);
|
|
249
|
-
}
|
|
86
|
+
int parentTag,
|
|
87
|
+
int tag,
|
|
88
|
+
int x,
|
|
89
|
+
int y,
|
|
90
|
+
int width,
|
|
91
|
+
int height,
|
|
92
|
+
com.facebook.yoga.YogaDirection layoutDirection) {}
|
|
250
93
|
|
|
251
|
-
|
|
94
|
+
/**
|
|
95
|
+
* @deprecated Use new architecture instead.
|
|
96
|
+
*/
|
|
252
97
|
public synchronized long getInstanceHandle(int reactTag) {
|
|
253
|
-
|
|
254
|
-
if (view == null) {
|
|
255
|
-
throw new IllegalViewOperationException("Unable to find view for tag: " + reactTag);
|
|
256
|
-
}
|
|
257
|
-
Long instanceHandle = (Long) view.getTag(R.id.view_tag_instance_handle);
|
|
258
|
-
if (instanceHandle == null) {
|
|
259
|
-
throw new IllegalViewOperationException("Unable to find instanceHandle for tag: " + reactTag);
|
|
260
|
-
}
|
|
261
|
-
return instanceHandle;
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
private void updateLayout(View viewToUpdate, int x, int y, int width, int height) {
|
|
265
|
-
if (!mLayoutAnimationEnabled) {
|
|
266
|
-
viewToUpdate.layout(x, y, x + width, y + height);
|
|
267
|
-
}
|
|
98
|
+
return 0;
|
|
268
99
|
}
|
|
269
100
|
|
|
101
|
+
/**
|
|
102
|
+
* @deprecated Use new architecture instead.
|
|
103
|
+
*/
|
|
270
104
|
public synchronized void createView(
|
|
271
105
|
ThemedReactContext themedContext,
|
|
272
106
|
int tag,
|
|
273
107
|
String className,
|
|
274
|
-
@Nullable ReactStylesDiffMap initialProps) {
|
|
275
|
-
if (DEBUG_MODE) {
|
|
276
|
-
FLog.d(
|
|
277
|
-
TAG,
|
|
278
|
-
"createView[%d]: %s %s",
|
|
279
|
-
tag,
|
|
280
|
-
className,
|
|
281
|
-
(initialProps != null ? initialProps.toString() : "<null>"));
|
|
282
|
-
}
|
|
283
|
-
UiThreadUtil.assertOnUiThread();
|
|
284
|
-
SystraceMessage.beginSection(Systrace.TRACE_TAG_REACT, "NativeViewHierarchyManager_createView")
|
|
285
|
-
.arg("tag", tag)
|
|
286
|
-
.arg("className", className)
|
|
287
|
-
.flush();
|
|
288
|
-
try {
|
|
289
|
-
ViewManager viewManager = mViewManagers.get(className);
|
|
290
|
-
|
|
291
|
-
View view =
|
|
292
|
-
viewManager.createView(tag, themedContext, initialProps, null, mJSResponderHandler);
|
|
293
|
-
mTagsToViews.put(tag, view);
|
|
294
|
-
mTagsToViewManagers.put(tag, viewManager);
|
|
295
|
-
} finally {
|
|
296
|
-
Systrace.endSection(Systrace.TRACE_TAG_REACT);
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
private static String constructManageChildrenErrorMessage(
|
|
301
|
-
ViewGroup viewToManage,
|
|
302
|
-
ViewGroupManager viewManager,
|
|
303
|
-
@Nullable int[] indicesToRemove,
|
|
304
|
-
@Nullable ViewAtIndex[] viewsToAdd,
|
|
305
|
-
@Nullable int[] tagsToDelete) {
|
|
306
|
-
StringBuilder stringBuilder = new StringBuilder();
|
|
307
|
-
|
|
308
|
-
if (null != viewToManage) {
|
|
309
|
-
stringBuilder.append(
|
|
310
|
-
"View tag:"
|
|
311
|
-
+ viewToManage.getId()
|
|
312
|
-
+ " View Type:"
|
|
313
|
-
+ viewToManage.getClass().toString()
|
|
314
|
-
+ "\n");
|
|
315
|
-
stringBuilder.append(" children(" + viewManager.getChildCount(viewToManage) + "): [\n");
|
|
316
|
-
for (int index = 0; viewManager.getChildAt(viewToManage, index) != null; index += 16) {
|
|
317
|
-
for (int innerOffset = 0;
|
|
318
|
-
viewManager.getChildAt(viewToManage, index + innerOffset) != null && innerOffset < 16;
|
|
319
|
-
innerOffset++) {
|
|
320
|
-
stringBuilder.append(
|
|
321
|
-
viewManager.getChildAt(viewToManage, index + innerOffset).getId() + ",");
|
|
322
|
-
}
|
|
323
|
-
stringBuilder.append("\n");
|
|
324
|
-
}
|
|
325
|
-
stringBuilder.append(" ],\n");
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
if (indicesToRemove != null) {
|
|
329
|
-
stringBuilder.append(" indicesToRemove(" + indicesToRemove.length + "): [\n");
|
|
330
|
-
for (int index = 0; index < indicesToRemove.length; index += 16) {
|
|
331
|
-
for (int innerOffset = 0;
|
|
332
|
-
((index + innerOffset) < indicesToRemove.length) && innerOffset < 16;
|
|
333
|
-
innerOffset++) {
|
|
334
|
-
stringBuilder.append(indicesToRemove[index + innerOffset] + ",");
|
|
335
|
-
}
|
|
336
|
-
stringBuilder.append("\n");
|
|
337
|
-
}
|
|
338
|
-
stringBuilder.append(" ],\n");
|
|
339
|
-
}
|
|
340
|
-
if (viewsToAdd != null) {
|
|
341
|
-
stringBuilder.append(" viewsToAdd(" + viewsToAdd.length + "): [\n");
|
|
342
|
-
for (int index = 0; index < viewsToAdd.length; index += 16) {
|
|
343
|
-
for (int innerOffset = 0;
|
|
344
|
-
((index + innerOffset) < viewsToAdd.length) && innerOffset < 16;
|
|
345
|
-
innerOffset++) {
|
|
346
|
-
stringBuilder.append(
|
|
347
|
-
"["
|
|
348
|
-
+ viewsToAdd[index + innerOffset].mIndex
|
|
349
|
-
+ ","
|
|
350
|
-
+ viewsToAdd[index + innerOffset].mTag
|
|
351
|
-
+ "],");
|
|
352
|
-
}
|
|
353
|
-
stringBuilder.append("\n");
|
|
354
|
-
}
|
|
355
|
-
stringBuilder.append(" ],\n");
|
|
356
|
-
}
|
|
357
|
-
if (tagsToDelete != null) {
|
|
358
|
-
stringBuilder.append(" tagsToDelete(" + tagsToDelete.length + "): [\n");
|
|
359
|
-
for (int index = 0; index < tagsToDelete.length; index += 16) {
|
|
360
|
-
for (int innerOffset = 0;
|
|
361
|
-
((index + innerOffset) < tagsToDelete.length) && innerOffset < 16;
|
|
362
|
-
innerOffset++) {
|
|
363
|
-
stringBuilder.append(tagsToDelete[index + innerOffset] + ",");
|
|
364
|
-
}
|
|
365
|
-
stringBuilder.append("\n");
|
|
366
|
-
}
|
|
367
|
-
stringBuilder.append(" ]\n");
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
return stringBuilder.toString();
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
private Set<Integer> getPendingDeletionsForTag(int tag) {
|
|
374
|
-
if (mPendingDeletionsForTag == null) {
|
|
375
|
-
mPendingDeletionsForTag = new HashMap<>();
|
|
376
|
-
}
|
|
377
|
-
|
|
378
|
-
if (!mPendingDeletionsForTag.containsKey(tag)) {
|
|
379
|
-
mPendingDeletionsForTag.put(tag, new HashSet<Integer>());
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
return mPendingDeletionsForTag.get(tag);
|
|
383
|
-
}
|
|
108
|
+
@Nullable ReactStylesDiffMap initialProps) {}
|
|
384
109
|
|
|
385
110
|
/**
|
|
386
|
-
* @
|
|
387
|
-
* @param indicesToRemove ordered (asc) list of indices at which view should be removed
|
|
388
|
-
* @param viewsToAdd ordered (asc based on mIndex property) list of tag-index pairs that represent
|
|
389
|
-
* a view which should be added at the specified index
|
|
390
|
-
* @param tagsToDelete list of tags corresponding to views that should be removed
|
|
111
|
+
* @deprecated Use new architecture instead.
|
|
391
112
|
*/
|
|
392
113
|
public synchronized void manageChildren(
|
|
393
|
-
|
|
114
|
+
int tag,
|
|
394
115
|
@Nullable int[] indicesToRemove,
|
|
395
116
|
@Nullable ViewAtIndex[] viewsToAdd,
|
|
396
|
-
@Nullable int[] tagsToDelete) {
|
|
397
|
-
if (DEBUG_MODE) {
|
|
398
|
-
FLog.d(
|
|
399
|
-
TAG,
|
|
400
|
-
"createView[%d]: %s %s %s",
|
|
401
|
-
tag,
|
|
402
|
-
(indicesToRemove != null ? indicesToRemove.toString() : "<null>"),
|
|
403
|
-
(viewsToAdd != null ? viewsToAdd.toString() : "<null>"),
|
|
404
|
-
(tagsToDelete != null ? tagsToDelete.toString() : "<null>"));
|
|
405
|
-
}
|
|
406
|
-
UiThreadUtil.assertOnUiThread();
|
|
407
|
-
|
|
408
|
-
final Set<Integer> pendingDeletionTags = getPendingDeletionsForTag(tag);
|
|
409
|
-
final ViewGroup viewToManage = (ViewGroup) mTagsToViews.get(tag);
|
|
410
|
-
final ViewGroupManager viewManager = (ViewGroupManager) resolveViewManager(tag);
|
|
411
|
-
if (viewToManage == null) {
|
|
412
|
-
throw new IllegalViewOperationException(
|
|
413
|
-
"Trying to manageChildren view with tag "
|
|
414
|
-
+ tag
|
|
415
|
-
+ " which doesn't exist\n detail: "
|
|
416
|
-
+ constructManageChildrenErrorMessage(
|
|
417
|
-
viewToManage, viewManager, indicesToRemove, viewsToAdd, tagsToDelete));
|
|
418
|
-
}
|
|
419
|
-
|
|
420
|
-
int lastIndexToRemove = viewManager.getChildCount(viewToManage);
|
|
421
|
-
|
|
422
|
-
if (indicesToRemove != null) {
|
|
423
|
-
for (int i = indicesToRemove.length - 1; i >= 0; i--) {
|
|
424
|
-
int indexToRemove = indicesToRemove[i];
|
|
425
|
-
if (indexToRemove < 0) {
|
|
426
|
-
throw new IllegalViewOperationException(
|
|
427
|
-
"Trying to remove a negative view index:"
|
|
428
|
-
+ indexToRemove
|
|
429
|
-
+ " view tag: "
|
|
430
|
-
+ tag
|
|
431
|
-
+ "\n detail: "
|
|
432
|
-
+ constructManageChildrenErrorMessage(
|
|
433
|
-
viewToManage, viewManager, indicesToRemove, viewsToAdd, tagsToDelete));
|
|
434
|
-
}
|
|
435
|
-
if (viewManager.getChildAt(viewToManage, indexToRemove) == null) {
|
|
436
|
-
if (mRootTags.get(tag) && viewManager.getChildCount(viewToManage) == 0) {
|
|
437
|
-
// This root node has already been removed (likely due to a threading issue caused by
|
|
438
|
-
// async js execution). Ignore this root removal.
|
|
439
|
-
return;
|
|
440
|
-
}
|
|
441
|
-
throw new IllegalViewOperationException(
|
|
442
|
-
"Trying to remove a view index above child "
|
|
443
|
-
+ "count "
|
|
444
|
-
+ indexToRemove
|
|
445
|
-
+ " view tag: "
|
|
446
|
-
+ tag
|
|
447
|
-
+ "\n detail: "
|
|
448
|
-
+ constructManageChildrenErrorMessage(
|
|
449
|
-
viewToManage, viewManager, indicesToRemove, viewsToAdd, tagsToDelete));
|
|
450
|
-
}
|
|
451
|
-
if (indexToRemove >= lastIndexToRemove) {
|
|
452
|
-
throw new IllegalViewOperationException(
|
|
453
|
-
"Trying to remove an out of order view index:"
|
|
454
|
-
+ indexToRemove
|
|
455
|
-
+ " view tag: "
|
|
456
|
-
+ tag
|
|
457
|
-
+ "\n detail: "
|
|
458
|
-
+ constructManageChildrenErrorMessage(
|
|
459
|
-
viewToManage, viewManager, indicesToRemove, viewsToAdd, tagsToDelete));
|
|
460
|
-
}
|
|
461
|
-
|
|
462
|
-
if (!mLayoutAnimationEnabled) {
|
|
463
|
-
viewManager.removeViewAt(viewToManage, indexToRemove);
|
|
464
|
-
}
|
|
465
|
-
|
|
466
|
-
lastIndexToRemove = indexToRemove;
|
|
467
|
-
}
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
if (tagsToDelete != null) {
|
|
471
|
-
for (int i = 0; i < tagsToDelete.length; i++) {
|
|
472
|
-
int tagToDelete = tagsToDelete[i];
|
|
473
|
-
final View viewToDestroy = mTagsToViews.get(tagToDelete);
|
|
474
|
-
if (viewToDestroy == null) {
|
|
475
|
-
throw new IllegalViewOperationException(
|
|
476
|
-
"Trying to destroy unknown view tag: "
|
|
477
|
-
+ tagToDelete
|
|
478
|
-
+ "\n detail: "
|
|
479
|
-
+ constructManageChildrenErrorMessage(
|
|
480
|
-
viewToManage, viewManager, indicesToRemove, viewsToAdd, tagsToDelete));
|
|
481
|
-
}
|
|
482
|
-
|
|
483
|
-
if (!mLayoutAnimationEnabled) {
|
|
484
|
-
dropView(viewToDestroy);
|
|
485
|
-
}
|
|
486
|
-
}
|
|
487
|
-
}
|
|
488
|
-
|
|
489
|
-
if (viewsToAdd != null) {
|
|
490
|
-
for (int i = 0; i < viewsToAdd.length; i++) {
|
|
491
|
-
ViewAtIndex viewAtIndex = viewsToAdd[i];
|
|
492
|
-
View viewToAdd = mTagsToViews.get(viewAtIndex.mTag);
|
|
493
|
-
if (viewToAdd == null) {
|
|
494
|
-
throw new IllegalViewOperationException(
|
|
495
|
-
"Trying to add unknown view tag: "
|
|
496
|
-
+ viewAtIndex.mTag
|
|
497
|
-
+ "\n detail: "
|
|
498
|
-
+ constructManageChildrenErrorMessage(
|
|
499
|
-
viewToManage, viewManager, indicesToRemove, viewsToAdd, tagsToDelete));
|
|
500
|
-
}
|
|
501
|
-
|
|
502
|
-
int normalizedIndex = viewAtIndex.mIndex;
|
|
503
|
-
if (!pendingDeletionTags.isEmpty()) {
|
|
504
|
-
normalizedIndex = 0;
|
|
505
|
-
int counter = 0;
|
|
506
|
-
while (normalizedIndex < viewToManage.getChildCount()) {
|
|
507
|
-
if (counter == viewAtIndex.mIndex) {
|
|
508
|
-
break;
|
|
509
|
-
}
|
|
510
|
-
View v = viewToManage.getChildAt(normalizedIndex);
|
|
511
|
-
if (!pendingDeletionTags.contains(v.getId())) {
|
|
512
|
-
counter++;
|
|
513
|
-
}
|
|
514
|
-
normalizedIndex++;
|
|
515
|
-
}
|
|
516
|
-
}
|
|
517
|
-
|
|
518
|
-
viewManager.addView(viewToManage, viewToAdd, normalizedIndex);
|
|
519
|
-
}
|
|
520
|
-
}
|
|
521
|
-
if (pendingDeletionTags.isEmpty()) {
|
|
522
|
-
mPendingDeletionsForTag.remove(tag);
|
|
523
|
-
}
|
|
524
|
-
}
|
|
525
|
-
|
|
526
|
-
private boolean arrayContains(@Nullable int[] array, int ele) {
|
|
527
|
-
if (array == null) {
|
|
528
|
-
return false;
|
|
529
|
-
}
|
|
530
|
-
for (int curEle : array) {
|
|
531
|
-
if (curEle == ele) {
|
|
532
|
-
return true;
|
|
533
|
-
}
|
|
534
|
-
}
|
|
535
|
-
return false;
|
|
536
|
-
}
|
|
117
|
+
@Nullable int[] tagsToDelete) {}
|
|
537
118
|
|
|
538
119
|
/**
|
|
539
|
-
*
|
|
540
|
-
* views
|
|
120
|
+
* @deprecated Use new architecture instead.
|
|
541
121
|
*/
|
|
542
|
-
|
|
543
|
-
ViewGroup viewToManage, ViewGroupManager viewManager, ReadableArray childrenTags) {
|
|
544
|
-
ViewAtIndex[] viewsToAdd = new ViewAtIndex[childrenTags.size()];
|
|
545
|
-
for (int i = 0; i < childrenTags.size(); i++) {
|
|
546
|
-
viewsToAdd[i] = new ViewAtIndex(childrenTags.getInt(i), i);
|
|
547
|
-
}
|
|
548
|
-
return constructManageChildrenErrorMessage(viewToManage, viewManager, null, viewsToAdd, null);
|
|
549
|
-
}
|
|
550
|
-
|
|
551
|
-
/** Simplified version of manageChildren that only deals with adding children views */
|
|
552
|
-
public synchronized void setChildren(int tag, ReadableArray childrenTags) {
|
|
553
|
-
if (DEBUG_MODE) {
|
|
554
|
-
FLog.d(
|
|
555
|
-
TAG,
|
|
556
|
-
"setChildren[%d]: %s",
|
|
557
|
-
tag,
|
|
558
|
-
(childrenTags != null ? childrenTags.toString() : "<null>"));
|
|
559
|
-
}
|
|
560
|
-
UiThreadUtil.assertOnUiThread();
|
|
561
|
-
ViewGroup viewToManage = (ViewGroup) mTagsToViews.get(tag);
|
|
562
|
-
ViewGroupManager viewManager = (ViewGroupManager) resolveViewManager(tag);
|
|
563
|
-
|
|
564
|
-
for (int i = 0; i < childrenTags.size(); i++) {
|
|
565
|
-
View viewToAdd = mTagsToViews.get(childrenTags.getInt(i));
|
|
566
|
-
if (viewToAdd == null) {
|
|
567
|
-
throw new IllegalViewOperationException(
|
|
568
|
-
"Trying to add unknown view tag: "
|
|
569
|
-
+ childrenTags.getInt(i)
|
|
570
|
-
+ "\n detail: "
|
|
571
|
-
+ constructSetChildrenErrorMessage(viewToManage, viewManager, childrenTags));
|
|
572
|
-
}
|
|
573
|
-
viewManager.addView(viewToManage, viewToAdd, i);
|
|
574
|
-
}
|
|
575
|
-
}
|
|
576
|
-
|
|
577
|
-
/** See {@link UIManagerModule#addRootView}. */
|
|
578
|
-
public synchronized void addRootView(int tag, View view) {
|
|
579
|
-
addRootViewGroup(tag, view);
|
|
580
|
-
}
|
|
122
|
+
public synchronized void setChildren(int tag, ReadableArray childrenTags) {}
|
|
581
123
|
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
if (view.getId() != View.NO_ID) {
|
|
587
|
-
FLog.e(
|
|
588
|
-
TAG,
|
|
589
|
-
"Trying to add a root view with an explicit id ("
|
|
590
|
-
+ view.getId()
|
|
591
|
-
+ ") already set. React Native uses the id field to track react tags and will"
|
|
592
|
-
+ " overwrite this field. If that is fine, explicitly overwrite the id field to"
|
|
593
|
-
+ " View.NO_ID before calling addRootView.");
|
|
594
|
-
}
|
|
124
|
+
/**
|
|
125
|
+
* @deprecated Use new architecture instead.
|
|
126
|
+
*/
|
|
127
|
+
public synchronized void addRootView(int tag, View view) {}
|
|
595
128
|
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
}
|
|
129
|
+
/**
|
|
130
|
+
* @deprecated Use new architecture instead.
|
|
131
|
+
*/
|
|
132
|
+
protected final synchronized void addRootViewGroup(int tag, View view) {}
|
|
601
133
|
|
|
602
|
-
/**
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
}
|
|
607
|
-
UiThreadUtil.assertOnUiThread();
|
|
608
|
-
if (view == null) {
|
|
609
|
-
// Ignore this drop operation when view is null.
|
|
610
|
-
return;
|
|
611
|
-
}
|
|
612
|
-
if (mTagsToViewManagers.get(view.getId()) == null) {
|
|
613
|
-
// This view has already been dropped (likely due to a threading issue caused by async js
|
|
614
|
-
// execution). Ignore this drop operation.
|
|
615
|
-
return;
|
|
616
|
-
}
|
|
617
|
-
if (!mRootTags.get(view.getId())) {
|
|
618
|
-
// For non-root views we notify viewmanager with {@link ViewManager#onDropInstance}
|
|
619
|
-
resolveViewManager(view.getId()).onDropViewInstance(view);
|
|
620
|
-
}
|
|
621
|
-
ViewManager viewManager = mTagsToViewManagers.get(view.getId());
|
|
622
|
-
if (view instanceof ViewGroup && viewManager instanceof ViewGroupManager) {
|
|
623
|
-
ViewGroup viewGroup = (ViewGroup) view;
|
|
624
|
-
ViewGroupManager viewGroupManager = (ViewGroupManager) viewManager;
|
|
625
|
-
for (int i = viewGroupManager.getChildCount(viewGroup) - 1; i >= 0; i--) {
|
|
626
|
-
View child = viewGroupManager.getChildAt(viewGroup, i);
|
|
627
|
-
if (child == null) {
|
|
628
|
-
FLog.e(TAG, "Unable to drop null child view");
|
|
629
|
-
} else if (mTagsToViews.get(child.getId()) != null) {
|
|
630
|
-
dropView(child);
|
|
631
|
-
}
|
|
632
|
-
}
|
|
633
|
-
viewGroupManager.removeAllViews(viewGroup);
|
|
634
|
-
}
|
|
635
|
-
mTagsToViews.remove(view.getId());
|
|
636
|
-
mTagsToViewManagers.remove(view.getId());
|
|
637
|
-
}
|
|
134
|
+
/**
|
|
135
|
+
* @deprecated Use new architecture instead.
|
|
136
|
+
*/
|
|
137
|
+
protected synchronized void dropView(View view) {}
|
|
638
138
|
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
UiThreadUtil.assertOnUiThread();
|
|
644
|
-
if (!mRootTags.get(rootViewTag)) {
|
|
645
|
-
SoftAssertions.assertUnreachable(
|
|
646
|
-
"View with tag " + rootViewTag + " is not registered as a root view");
|
|
647
|
-
}
|
|
648
|
-
View rootView = mTagsToViews.get(rootViewTag);
|
|
649
|
-
dropView(rootView);
|
|
650
|
-
mRootTags.delete(rootViewTag);
|
|
651
|
-
if (rootView != null) {
|
|
652
|
-
rootView.setId(View.NO_ID);
|
|
653
|
-
}
|
|
654
|
-
}
|
|
139
|
+
/**
|
|
140
|
+
* @deprecated Use new architecture instead.
|
|
141
|
+
*/
|
|
142
|
+
public synchronized void removeRootView(int rootViewTag) {}
|
|
655
143
|
|
|
656
144
|
/**
|
|
657
|
-
*
|
|
658
|
-
*
|
|
659
|
-
* @return The num of root view
|
|
145
|
+
* @deprecated Use new architecture instead.
|
|
660
146
|
*/
|
|
661
147
|
public synchronized int getRootViewNum() {
|
|
662
|
-
return
|
|
148
|
+
return 0;
|
|
663
149
|
}
|
|
664
150
|
|
|
665
151
|
/**
|
|
666
|
-
*
|
|
667
|
-
* {x, y, width, height}.
|
|
152
|
+
* @deprecated Use new architecture instead.
|
|
668
153
|
*/
|
|
669
|
-
public synchronized void measure(int tag, int[] outputBuffer) {
|
|
670
|
-
if (DEBUG_MODE) {
|
|
671
|
-
FLog.d(TAG, "measure[%d]", tag);
|
|
672
|
-
}
|
|
673
|
-
UiThreadUtil.assertOnUiThread();
|
|
674
|
-
View v = mTagsToViews.get(tag);
|
|
675
|
-
if (v == null) {
|
|
676
|
-
throw new IllegalViewOperationException("No native view for " + tag + " currently exists");
|
|
677
|
-
}
|
|
678
|
-
|
|
679
|
-
View rootView = (View) RootViewUtil.getRootView(v);
|
|
680
|
-
// It is possible that the RootView can't be found because this view is no longer on the screen
|
|
681
|
-
// and has been removed by clipping
|
|
682
|
-
if (rootView == null) {
|
|
683
|
-
throw new IllegalViewOperationException("Native view " + tag + " is no longer on screen");
|
|
684
|
-
}
|
|
685
|
-
computeBoundingBox(rootView, outputBuffer);
|
|
686
|
-
int rootX = outputBuffer[0];
|
|
687
|
-
int rootY = outputBuffer[1];
|
|
688
|
-
computeBoundingBox(v, outputBuffer);
|
|
689
|
-
outputBuffer[0] -= rootX;
|
|
690
|
-
outputBuffer[1] -= rootY;
|
|
691
|
-
}
|
|
692
|
-
|
|
693
|
-
private void computeBoundingBox(View view, int[] outputBuffer) {
|
|
694
|
-
mBoundingBox.set(0, 0, view.getWidth(), view.getHeight());
|
|
695
|
-
mapRectFromViewToWindowCoords(view, mBoundingBox);
|
|
696
|
-
|
|
697
|
-
outputBuffer[0] = Math.round(mBoundingBox.left);
|
|
698
|
-
outputBuffer[1] = Math.round(mBoundingBox.top);
|
|
699
|
-
outputBuffer[2] = Math.round(mBoundingBox.right - mBoundingBox.left);
|
|
700
|
-
outputBuffer[3] = Math.round(mBoundingBox.bottom - mBoundingBox.top);
|
|
701
|
-
}
|
|
702
|
-
|
|
703
|
-
private void mapRectFromViewToWindowCoords(View view, RectF rect) {
|
|
704
|
-
Matrix matrix = view.getMatrix();
|
|
705
|
-
if (!matrix.isIdentity()) {
|
|
706
|
-
matrix.mapRect(rect);
|
|
707
|
-
}
|
|
708
|
-
|
|
709
|
-
rect.offset(view.getLeft(), view.getTop());
|
|
710
|
-
|
|
711
|
-
ViewParent parent = view.getParent();
|
|
712
|
-
while (parent instanceof View) {
|
|
713
|
-
View parentView = (View) parent;
|
|
714
|
-
|
|
715
|
-
rect.offset(-parentView.getScrollX(), -parentView.getScrollY());
|
|
716
|
-
|
|
717
|
-
matrix = parentView.getMatrix();
|
|
718
|
-
if (!matrix.isIdentity()) {
|
|
719
|
-
matrix.mapRect(rect);
|
|
720
|
-
}
|
|
721
|
-
|
|
722
|
-
rect.offset(parentView.getLeft(), parentView.getTop());
|
|
723
|
-
|
|
724
|
-
parent = parentView.getParent();
|
|
725
|
-
}
|
|
726
|
-
}
|
|
154
|
+
public synchronized void measure(int tag, int[] outputBuffer) {}
|
|
727
155
|
|
|
728
156
|
/**
|
|
729
|
-
*
|
|
730
|
-
* measure will return)
|
|
731
|
-
*
|
|
732
|
-
* @param tag - the tag for the view
|
|
733
|
-
* @param outputBuffer - output buffer that contains [x,y,width,height] of the view in coordinates
|
|
734
|
-
* relative to the device window
|
|
157
|
+
* @deprecated Use new architecture instead.
|
|
735
158
|
*/
|
|
736
|
-
public synchronized void measureInWindow(int tag, int[] outputBuffer) {
|
|
737
|
-
if (DEBUG_MODE) {
|
|
738
|
-
FLog.d(TAG, "measureInWindow[%d]", tag);
|
|
739
|
-
}
|
|
740
|
-
UiThreadUtil.assertOnUiThread();
|
|
741
|
-
View v = mTagsToViews.get(tag);
|
|
742
|
-
if (v == null) {
|
|
743
|
-
throw new IllegalViewOperationException("No native view for " + tag + " currently exists");
|
|
744
|
-
}
|
|
745
|
-
|
|
746
|
-
v.getLocationOnScreen(outputBuffer);
|
|
747
|
-
|
|
748
|
-
// we need to subtract visibleWindowCoords - to subtract possible window insets, split screen or
|
|
749
|
-
// multi window
|
|
750
|
-
Rect visibleWindowFrame = new Rect();
|
|
751
|
-
v.getWindowVisibleDisplayFrame(visibleWindowFrame);
|
|
752
|
-
outputBuffer[0] = outputBuffer[0] - visibleWindowFrame.left;
|
|
753
|
-
outputBuffer[1] = outputBuffer[1] - visibleWindowFrame.top;
|
|
754
|
-
|
|
755
|
-
// outputBuffer[0,1] already contain what we want
|
|
756
|
-
outputBuffer[2] = v.getWidth();
|
|
757
|
-
outputBuffer[3] = v.getHeight();
|
|
758
|
-
}
|
|
159
|
+
public synchronized void measureInWindow(int tag, int[] outputBuffer) {}
|
|
759
160
|
|
|
161
|
+
/**
|
|
162
|
+
* @deprecated Use new architecture instead.
|
|
163
|
+
*/
|
|
760
164
|
public synchronized int findTargetTagForTouch(int reactTag, float touchX, float touchY) {
|
|
761
|
-
|
|
762
|
-
FLog.d(TAG, "findTargetTagForTouch[%d]: %f %f", reactTag, touchX, touchY);
|
|
763
|
-
}
|
|
764
|
-
UiThreadUtil.assertOnUiThread();
|
|
765
|
-
View view = mTagsToViews.get(reactTag);
|
|
766
|
-
if (view == null) {
|
|
767
|
-
throw new JSApplicationIllegalArgumentException("Could not find view with tag " + reactTag);
|
|
768
|
-
}
|
|
769
|
-
return TouchTargetHelper.findTargetTagForTouch(touchX, touchY, (ViewGroup) view);
|
|
165
|
+
return 0;
|
|
770
166
|
}
|
|
771
167
|
|
|
168
|
+
/**
|
|
169
|
+
* @deprecated Use new architecture instead.
|
|
170
|
+
*/
|
|
772
171
|
public synchronized void setJSResponder(
|
|
773
|
-
int reactTag, int initialReactTag, boolean blockNativeResponder) {
|
|
774
|
-
if (!blockNativeResponder) {
|
|
775
|
-
mJSResponderHandler.setJSResponder(initialReactTag, null);
|
|
776
|
-
return;
|
|
777
|
-
}
|
|
778
|
-
|
|
779
|
-
View view = mTagsToViews.get(reactTag);
|
|
780
|
-
if (initialReactTag != reactTag && view instanceof ViewParent) {
|
|
781
|
-
// In this case, initialReactTag corresponds to a virtual/layout-only View, and we already
|
|
782
|
-
// have a parent of that View in reactTag, so we can use it.
|
|
783
|
-
mJSResponderHandler.setJSResponder(initialReactTag, (ViewParent) view);
|
|
784
|
-
return;
|
|
785
|
-
}
|
|
786
|
-
|
|
787
|
-
if (mRootTags.get(reactTag)) {
|
|
788
|
-
SoftAssertions.assertUnreachable(
|
|
789
|
-
"Cannot block native responder on " + reactTag + " that is a root view");
|
|
790
|
-
}
|
|
791
|
-
mJSResponderHandler.setJSResponder(initialReactTag, view.getParent());
|
|
792
|
-
}
|
|
172
|
+
int reactTag, int initialReactTag, boolean blockNativeResponder) {}
|
|
793
173
|
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
synchronized void configureLayoutAnimation(
|
|
799
|
-
final ReadableMap config, final Callback onAnimationComplete) {
|
|
800
|
-
// no-op
|
|
801
|
-
}
|
|
802
|
-
|
|
803
|
-
synchronized void clearLayoutAnimation() {
|
|
804
|
-
// no-op
|
|
805
|
-
}
|
|
174
|
+
/**
|
|
175
|
+
* @deprecated Use new architecture instead.
|
|
176
|
+
*/
|
|
177
|
+
public synchronized void clearJSResponder() {}
|
|
806
178
|
|
|
179
|
+
/**
|
|
180
|
+
* @deprecated Use new architecture instead.
|
|
181
|
+
*/
|
|
807
182
|
@Deprecated
|
|
808
183
|
public synchronized void dispatchCommand(
|
|
809
|
-
int reactTag, int commandId, @Nullable ReadableArray args) {
|
|
810
|
-
if (DEBUG_MODE) {
|
|
811
|
-
FLog.d(
|
|
812
|
-
TAG,
|
|
813
|
-
"dispatchCommand[%d]: %d %s",
|
|
814
|
-
reactTag,
|
|
815
|
-
commandId,
|
|
816
|
-
(args != null ? args.toString() : "<null>"));
|
|
817
|
-
}
|
|
818
|
-
UiThreadUtil.assertOnUiThread();
|
|
819
|
-
View view = mTagsToViews.get(reactTag);
|
|
820
|
-
if (view == null) {
|
|
821
|
-
throw new RetryableMountingLayerException(
|
|
822
|
-
"Trying to send command to a non-existing view with tag ["
|
|
823
|
-
+ reactTag
|
|
824
|
-
+ "] and command "
|
|
825
|
-
+ commandId);
|
|
826
|
-
}
|
|
827
|
-
ViewManager viewManager = resolveViewManager(reactTag);
|
|
828
|
-
viewManager.receiveCommand(view, commandId, args);
|
|
829
|
-
}
|
|
184
|
+
int reactTag, int commandId, @Nullable ReadableArray args) {}
|
|
830
185
|
|
|
186
|
+
/**
|
|
187
|
+
* @deprecated Use new architecture instead.
|
|
188
|
+
*/
|
|
831
189
|
public synchronized void dispatchCommand(
|
|
832
|
-
int reactTag, String commandId, @Nullable ReadableArray args) {
|
|
833
|
-
if (DEBUG_MODE) {
|
|
834
|
-
FLog.d(
|
|
835
|
-
TAG,
|
|
836
|
-
"dispatchCommand[%d]: %s %s",
|
|
837
|
-
reactTag,
|
|
838
|
-
commandId,
|
|
839
|
-
(args != null ? args.toString() : "<null>"));
|
|
840
|
-
}
|
|
841
|
-
UiThreadUtil.assertOnUiThread();
|
|
842
|
-
View view = mTagsToViews.get(reactTag);
|
|
843
|
-
if (view == null) {
|
|
844
|
-
throw new RetryableMountingLayerException(
|
|
845
|
-
"Trying to send command to a non-existing view with tag ["
|
|
846
|
-
+ reactTag
|
|
847
|
-
+ "] and command "
|
|
848
|
-
+ commandId);
|
|
849
|
-
}
|
|
850
|
-
ViewManager viewManager = resolveViewManager(reactTag);
|
|
851
|
-
viewManager.receiveCommand(view, commandId, args);
|
|
852
|
-
}
|
|
190
|
+
int reactTag, String commandId, @Nullable ReadableArray args) {}
|
|
853
191
|
|
|
854
192
|
/**
|
|
855
|
-
* @
|
|
856
|
-
* directly from the view using {@link View#getContext}.
|
|
193
|
+
* @deprecated Use new architecture instead.
|
|
857
194
|
*/
|
|
858
|
-
|
|
859
|
-
View view = mTagsToViews.get(reactTag);
|
|
860
|
-
if (view == null) {
|
|
861
|
-
throw new JSApplicationIllegalArgumentException("Could not find view with tag " + reactTag);
|
|
862
|
-
}
|
|
863
|
-
return (ThemedReactContext) view.getContext();
|
|
864
|
-
}
|
|
865
|
-
|
|
866
|
-
public synchronized void sendAccessibilityEvent(int tag, int eventType) {
|
|
867
|
-
View view = mTagsToViews.get(tag);
|
|
868
|
-
if (view == null) {
|
|
869
|
-
throw new RetryableMountingLayerException("Could not find view with tag " + tag);
|
|
870
|
-
}
|
|
871
|
-
view.sendAccessibilityEvent(eventType);
|
|
872
|
-
}
|
|
195
|
+
public synchronized void sendAccessibilityEvent(int tag, int eventType) {}
|
|
873
196
|
}
|