react-native-tvos 0.83.2-0 → 0.84.0-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Libraries/Animated/AnimatedEvent.js +2 -2
- package/Libraries/Animated/animations/Animation.js +1 -3
- package/Libraries/Animated/createAnimatedComponent.js +8 -5
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +40 -4
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
- package/Libraries/Animated/nodes/AnimatedObject.js +16 -11
- package/Libraries/Animated/nodes/AnimatedProps.js +43 -12
- package/Libraries/Animated/nodes/AnimatedStyle.js +12 -12
- package/Libraries/Animated/nodes/AnimatedValue.js +6 -3
- package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
- package/Libraries/AppDelegate/RCTReactNativeFactory.h +3 -0
- package/Libraries/AppDelegate/RCTReactNativeFactory.mm +33 -31
- package/Libraries/AppDelegate/RCTRootViewFactory.h +10 -4
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +21 -5
- package/Libraries/BatchedBridge/MessageQueue.js +24 -22
- package/Libraries/Blob/RCTBlobPlugins.mm +14 -14
- package/Libraries/Blob/URL.js +34 -3
- package/Libraries/Blob/URLSearchParams.js +1 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +9 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +6 -1
- package/Libraries/Components/Button.js +2 -5
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +4 -4
- package/Libraries/Components/Keyboard/Keyboard.js +2 -2
- package/Libraries/Components/Pressable/Pressable.js +8 -8
- package/Libraries/Components/TextInput/TextInput.flow.js +13 -13
- package/Libraries/Components/TextInput/TextInput.js +33 -34
- package/Libraries/Components/Touchable/PooledClass.js +2 -2
- package/Libraries/Components/Touchable/TouchableBounce.js +6 -6
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +9 -9
- package/Libraries/Components/View/ViewPropTypes.js +16 -6
- package/Libraries/Core/Devtools/loadBundleFromServer.js +6 -3
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +3 -3
- package/Libraries/Core/RawEventEmitter.js +1 -1
- package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpErrorHandling.js +1 -1
- package/Libraries/EventEmitter/NativeEventEmitter.js +2 -2
- package/Libraries/Image/Image.android.js +2 -2
- package/Libraries/Image/Image.ios.js +2 -2
- package/Libraries/Image/ImageProps.js +1 -1
- package/Libraries/Image/ImageTypes.flow.js +2 -2
- package/Libraries/Image/RCTImagePlugins.h +1 -0
- package/Libraries/Image/RCTImagePlugins.mm +30 -17
- package/Libraries/Interaction/InteractionManager.js +3 -3
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +10 -13
- package/Libraries/Lists/FlatList.js +2 -2
- package/Libraries/LogBox/Data/LogBoxData.js +31 -4
- package/Libraries/LogBox/Data/LogBoxLog.js +2 -2
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -5
- package/Libraries/LogBox/LogBox.js +7 -7
- package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +14 -14
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +7 -0
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +12 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +4 -4
- package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -1
- package/Libraries/Network/RCTInspectorNetworkReporter.mm +26 -3
- package/Libraries/Network/RCTNetworkPlugins.mm +22 -16
- package/Libraries/Network/RCTNetworking.android.js +3 -3
- package/Libraries/Network/RCTNetworking.ios.js +2 -2
- package/Libraries/Network/RCTNetworking.js.flow +2 -2
- package/Libraries/Pressability/Pressability.js +9 -9
- package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +10 -13
- package/Libraries/ReactNative/AppRegistry.flow.js +1 -1
- package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
- package/Libraries/ReactNative/FabricUIManager.js +1 -1
- package/Libraries/ReactNative/PaperUIManager.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +2 -2
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +1 -1
- package/Libraries/ReactNative/RendererImplementation.js +1 -1
- package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -2
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -3
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +11 -4
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +11 -4
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +11 -4
- package/Libraries/Renderer/shims/ReactFabric.js +3 -1
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
- package/Libraries/Renderer/shims/ReactNative.js +2 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -1
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -1
- package/Libraries/Settings/RCTSettingsManager.mm +1 -1
- package/Libraries/Settings/RCTSettingsPlugins.mm +10 -13
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +4 -2
- package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +99 -4
- package/Libraries/StyleSheet/StyleSheetTypes.js +6 -8
- package/Libraries/StyleSheet/processFilter.js +1 -1
- package/Libraries/Text/Text.js +46 -6
- package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +3 -2
- package/Libraries/Text/TextNativeComponent.js +1 -1
- package/Libraries/Text/TextProps.js +7 -7
- package/Libraries/TypeSafety/RCTTypedModuleConstants.h +36 -1
- package/Libraries/Types/CodegenTypes.js +1 -1
- package/Libraries/Types/CoreEventTypes.js +31 -0
- package/Libraries/Types/ReactDevToolsTypes.js +2 -2
- package/Libraries/Utilities/Appearance.js +2 -2
- package/Libraries/Utilities/DevLoadingView.js +8 -1
- package/Libraries/Utilities/DevSettings.js +3 -3
- package/Libraries/Utilities/HMRClient.js +4 -3
- package/Libraries/Utilities/RCTLog.js +3 -3
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +1 -1
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +3 -3
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +7 -7
- package/Libraries/Utilities/useRefEffect.js +1 -1
- package/Libraries/Vibration/RCTVibrationPlugins.mm +10 -13
- package/Libraries/WebSocket/WebSocketInterceptor.js +3 -3
- package/Libraries/promiseRejectionTrackingOptions.js +8 -8
- package/Libraries/vendor/core/ErrorUtils.js +10 -10
- package/Libraries/vendor/emitter/EventEmitter.js +6 -6
- package/README.md +56 -18
- package/React/Base/RCTAssert.m +2 -2
- package/React/Base/RCTBridge.h +0 -4
- package/React/Base/RCTBridge.mm +1 -12
- package/React/Base/RCTBundleManager.h +59 -7
- package/React/Base/RCTBundleManager.m +112 -1
- package/React/Base/RCTBundleURLProvider.h +24 -0
- package/React/Base/RCTBundleURLProvider.mm +49 -4
- package/React/Base/RCTConvert.mm +2 -0
- package/React/Base/RCTModuleData.mm +2 -2
- package/React/Base/RCTUtils.h +4 -0
- package/React/Base/RCTUtils.mm +60 -3
- package/React/Base/RCTVersion.m +2 -2
- package/React/CoreModules/CoreModulesPlugins.mm +97 -35
- package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +1 -1
- package/React/CoreModules/RCTAccessibilityManager.mm +18 -1
- package/React/CoreModules/RCTAppState.mm +1 -1
- package/React/CoreModules/RCTDevLoadingView.mm +116 -36
- package/React/CoreModules/RCTDevSettings.h +36 -1
- package/React/CoreModules/RCTDevSettings.mm +44 -8
- package/React/CoreModules/RCTExceptionsManager.mm +5 -2
- package/React/CoreModules/RCTPlatform.mm +3 -2
- package/React/CoreModules/RCTStatusBarManager.mm +1 -1
- package/React/CxxBridge/RCTCxxBridge.mm +1 -2
- package/React/CxxModule/RCTCxxMethod.mm +1 -1
- package/React/CxxModule/RCTCxxUtils.mm +2 -12
- package/React/DevSupport/RCTDevLoadingViewProtocol.h +4 -1
- package/React/DevSupport/RCTPackagerConnection.h +4 -2
- package/React/DevSupport/RCTPackagerConnection.mm +30 -33
- package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +9 -2
- package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +62 -17
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +529 -494
- package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.h +1 -0
- package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +14 -0
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +11 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +6 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +2 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +39 -2
- package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +5 -7
- package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.mm +5 -7
- package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -1
- package/React/Fabric/Surface/RCTFabricSurface.mm +1 -1
- package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +6 -2
- package/React/Modules/RCTEventEmitter.m +1 -0
- package/React/Views/RCTModalHostView.h +2 -0
- package/React/Views/RCTTVView.m +2 -0
- package/ReactAndroid/api/ReactAndroid.api +14 -73
- package/ReactAndroid/build.gradle.kts +2 -0
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/hermes-engine/build.gradle.kts +97 -29
- package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +10 -13
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +1 -119
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.kt +0 -10
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.kt +4 -29
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +43 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.kt +53 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +0 -18
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +6 -96
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +17 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +1 -33
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/Promise.kt +6 -6
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.kt +6 -6
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.kt +1 -12
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.kt +4 -5
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ChangeBundleLocationDialog.kt +11 -10
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +99 -9
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +58 -13
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +10 -60
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +144 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/TracingState.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/TracingStateListener.kt +15 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{interfaces → inspector}/TracingStateProvider.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevLoadingViewManager.kt +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/RedBoxHandler.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorInspectorTargetBinding.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayManager.kt +31 -6
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +7 -6
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorUpdateListener.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +63 -45
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +106 -76
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +22 -16
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +23 -17
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +117 -84
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +22 -16
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +5 -43
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.kt +0 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +36 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +3 -27
- package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.kt +7 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.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/packagerconnection/PackagerConnectionSettings.kt +15 -8
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +0 -9
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +46 -12
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +11 -17
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +52 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +92 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +62 -8
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSKeyDispatcher.kt +65 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +19 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +5 -36
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +9 -91
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAxOrderHelper.kt +47 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +4 -23
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +1 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +1 -11
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +1 -47
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +0 -16
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +3 -36
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyDownEvent.kt +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyEvent.kt +156 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyUpEvent.kt +24 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +29 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +12 -9
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +36 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +21 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +7 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +31 -15
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +127 -32
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +11 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +3 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimental.kt +3 -12
- package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocket.cpp +29 -2
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +98 -3
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +62 -26
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +145 -103
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +31 -22
- package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +0 -4
- package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +1 -3
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +5 -23
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +2 -7
- package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapperBase.h +0 -24
- package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JSLoader.h +2 -1
- package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +0 -1
- package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.cpp +1 -29
- package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +1 -2
- package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -4
- package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +0 -4
- package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +0 -4
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +145 -17
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +193 -19
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +2 -1
- package/ReactAndroid/src/main/jni/react/tracing/PerformanceTracerCxxInterop.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +62 -63
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +5 -7
- package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -0
- package/ReactAndroid/src/main/res/devsupport/drawable/ic_perf_issue.xml +10 -0
- package/ReactAndroid/src/main/res/devsupport/layout/dev_loading_view.xml +41 -15
- package/ReactAndroid/src/main/res/devsupport/layout/fps_view.xml +1 -1
- package/ReactAndroid/src/main/res/devsupport/values/strings.xml +1 -0
- package/ReactAndroid/src/main/res/views/uimanager/values-ne/strings.xml +16 -0
- package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.h +2 -0
- package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.mm +38 -5
- package/ReactCommon/cmake-utils/react-native-flags.cmake +3 -0
- package/ReactCommon/cxxreact/JSBigString.h +14 -5
- package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +4 -5
- package/ReactCommon/cxxreact/ReactMarker.cpp +0 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
- package/ReactCommon/devtoolsruntimesettings/DevToolsRuntimeSettings.cpp +1 -1
- package/ReactCommon/hermes/React-hermes.podspec +1 -0
- package/ReactCommon/hermes/executor/CMakeLists.txt +0 -4
- package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +2 -0
- package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +0 -4
- package/ReactCommon/jsi/jsi/jsi.cpp +6 -1
- package/ReactCommon/jsi/jsi/jsi.h +73 -0
- package/ReactCommon/jsi/jsi/test/testlib.cpp +2 -2
- package/ReactCommon/jsiexecutor/CMakeLists.txt +3 -1
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +3 -0
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +2 -43
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +3 -8
- package/ReactCommon/jsinspector-modern/ConsoleTask.cpp +27 -0
- package/ReactCommon/jsinspector-modern/ConsoleTask.h +38 -0
- package/ReactCommon/jsinspector-modern/ConsoleTaskContext.cpp +46 -0
- package/ReactCommon/jsinspector-modern/ConsoleTaskContext.h +102 -0
- package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.cpp +55 -0
- package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.h +48 -0
- package/ReactCommon/jsinspector-modern/HostAgent.cpp +9 -10
- package/ReactCommon/jsinspector-modern/HostAgent.h +2 -2
- package/ReactCommon/jsinspector-modern/HostTarget.cpp +7 -6
- package/ReactCommon/jsinspector-modern/HostTarget.h +73 -16
- package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +40 -8
- package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.h +42 -5
- package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +54 -21
- package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +2 -11
- package/ReactCommon/jsinspector-modern/InstanceTarget.h +2 -2
- package/ReactCommon/jsinspector-modern/PerfMonitorV2.cpp +9 -1
- package/ReactCommon/jsinspector-modern/PerfMonitorV2.h +4 -1
- package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +3 -2
- package/ReactCommon/jsinspector-modern/RuntimeAgent.h +1 -1
- package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +12 -0
- package/ReactCommon/jsinspector-modern/RuntimeTarget.h +16 -13
- package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +106 -1
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +30 -18
- package/ReactCommon/jsinspector-modern/TracingAgent.h +5 -4
- package/ReactCommon/jsinspector-modern/tests/ConsoleCreateTaskTest.cpp +131 -0
- package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +53 -0
- package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +20 -0
- package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +25 -55
- package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +1 -0
- package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +116 -0
- package/ReactCommon/jsinspector-modern/tests/TracingTest.h +95 -0
- package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +60 -0
- package/ReactCommon/jsinspector-modern/tracing/HostTracingProfile.h +43 -0
- package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +144 -0
- package/ReactCommon/jsinspector-modern/tracing/{TraceRecordingStateSerializer.h → HostTracingProfileSerializer.h} +16 -8
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +67 -16
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +21 -2
- package/ReactCommon/jsinspector-modern/tracing/TargetTracingAgent.h +5 -0
- package/ReactCommon/jsinspector-modern/tracing/TimeWindowedBuffer.h +158 -0
- package/ReactCommon/jsinspector-modern/tracing/TraceEvent.h +2 -1
- package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +104 -0
- package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +59 -0
- package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +2 -1
- package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +18 -7
- package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +139 -0
- package/ReactCommon/jsinspector-modern/tracing/tests/TimeWindowedBufferTest.cpp +352 -0
- package/ReactCommon/jsitooling/React-jsitooling.podspec +4 -0
- package/ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.cpp +54 -0
- package/{ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h → ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.h} +4 -6
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +43 -31
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +55 -40
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +234 -180
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +24 -18
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +43 -31
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +91 -64
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +5 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +0 -4
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +12 -9
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +7 -2
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +30 -10
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +17 -6
- package/ReactCommon/react/nativemodule/core/iostests/RCTTurboModuleTests.mm +0 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +1 -4
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +0 -4
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +43 -60
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +11 -36
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +53 -38
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +22 -16
- package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -0
- package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +24 -3
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +76 -13
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +74 -64
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +17 -13
- package/ReactCommon/react/networking/NetworkReporter.cpp +26 -22
- package/ReactCommon/react/networking/React-networking.podspec +0 -1
- package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.cpp +4 -2
- package/ReactCommon/react/performance/timeline/CMakeLists.txt +1 -0
- package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +10 -2
- package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
- package/ReactCommon/react/renderer/animated/AnimatedModule.cpp +104 -78
- package/ReactCommon/react/renderer/animated/AnimatedModule.h +10 -2
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +174 -75
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +19 -1
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +68 -46
- package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.cpp +1 -0
- package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.cpp +1 -1
- package/ReactCommon/react/renderer/animated/nodes/ColorAnimatedNode.cpp +0 -1
- package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.cpp +103 -4
- package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.h +9 -0
- package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +5 -1
- package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +9 -0
- package/ReactCommon/react/renderer/animated/nodes/RoundAnimatedNode.cpp +1 -1
- package/ReactCommon/react/renderer/animated/nodes/ValueAnimatedNode.cpp +1 -1
- package/ReactCommon/react/renderer/animated/tests/AnimatedNodeTests.cpp +67 -0
- package/ReactCommon/react/renderer/animated/tests/AnimationDriverTests.cpp +59 -0
- package/ReactCommon/react/renderer/animated/tests/AnimationTestsBase.h +2 -1
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +715 -0
- package/ReactCommon/react/renderer/animationbackend/AnimatedProps.h +388 -1
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsBuilder.h +191 -2
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +100 -0
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +298 -0
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsSerializer.h +17 -0
- package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +90 -94
- package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +23 -5
- package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.cpp +75 -0
- package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +32 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +2 -2
- package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +3 -0
- package/ReactCommon/react/renderer/components/image/ImageProps.cpp +2 -2
- package/ReactCommon/react/renderer/components/image/ImageProps.h +2 -2
- package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +9 -2
- package/ReactCommon/react/renderer/components/image/conversions.h +5 -0
- package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +2 -1
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +5 -1
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +21 -1
- package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +14 -0
- package/ReactCommon/react/renderer/core/DynamicEventPayload.cpp +10 -0
- package/ReactCommon/react/renderer/core/DynamicEventPayload.h +6 -1
- package/ReactCommon/react/renderer/core/DynamicPointerEvent.cpp +30 -0
- package/ReactCommon/react/renderer/core/DynamicPointerEvent.h +29 -0
- package/ReactCommon/react/renderer/core/EventDispatcher.cpp +1 -1
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +11 -14
- package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +3 -3
- package/ReactCommon/react/renderer/core/Props.cpp +23 -8
- package/ReactCommon/react/renderer/core/Props.h +6 -4
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +4 -10
- package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +32 -0
- package/ReactCommon/react/renderer/css/CSSSyntaxParser.h +7 -0
- package/ReactCommon/react/renderer/debug/CMakeLists.txt +7 -0
- package/ReactCommon/react/renderer/debug/flags.h +3 -2
- package/ReactCommon/react/renderer/graphics/BlendMode.h +2 -0
- package/ReactCommon/react/renderer/graphics/Filter.h +2 -0
- package/ReactCommon/react/renderer/imagemanager/ImageManager.h +3 -0
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +23 -12
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h +8 -3
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +16 -4
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +9 -4
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +8 -4
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +1 -1
- package/ReactCommon/react/renderer/imagemanager/primitives.h +15 -6
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +0 -11
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +0 -4
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +0 -20
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +3 -3
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +2 -3
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +6 -0
- package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +1 -0
- package/ReactCommon/react/runtime/CMakeLists.txt +0 -4
- package/ReactCommon/react/runtime/PlatformTimerRegistry.h +2 -0
- package/ReactCommon/react/runtime/ReactInstance.cpp +21 -14
- package/ReactCommon/react/runtime/ReactInstance.h +5 -1
- package/ReactCommon/react/runtime/TimerManager.cpp +11 -53
- package/ReactCommon/react/runtime/TimerManager.h +7 -12
- package/ReactCommon/react/runtime/hermes/CMakeLists.txt +0 -4
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +3 -2
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +10 -6
- package/ReactCommon/yoga/yoga/algorithm/FlexDirection.h +6 -6
- package/ReactCommon/yoga/yoga/algorithm/SizingMode.h +4 -4
- package/ReactCommon/yoga/yoga/style/Style.h +8 -8
- package/ReactCommon/yoga/yoga/style/StyleLength.h +7 -0
- package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -0
- package/flow/HermesInternalType.js +6 -6
- package/flow/bom.js.flow +35 -28
- package/flow/cssom.js.flow +3 -3
- package/flow/dom.js.flow +34 -33
- package/index.js +3 -0
- package/index.js.flow +8 -0
- package/jest/mock.js +2 -2
- package/jest/mockComponent.js +1 -1
- package/jest/setup.js +1 -1
- package/package.json +11 -11
- package/react-native.config.js +0 -17
- package/scripts/cocoapods/new_architecture.rb +7 -1
- package/scripts/cocoapods/spm.rb +28 -10
- package/scripts/cocoapods/utils.rb +4 -4
- package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +5 -5
- package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +7 -6
- package/scripts/ios-configure-glog.sh +24 -1
- package/scripts/react_native_pods.rb +13 -0
- package/sdks/.hermesv1version +1 -1
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/hermes-engine.podspec +53 -36
- package/sdks/hermes-engine/hermes-utils.rb +8 -15
- package/sdks/hermes-engine/version.properties +1 -1
- package/src/private/animated/NativeAnimatedHelper.js +130 -125
- package/src/private/animated/NativeAnimatedValidation.js +7 -4
- package/src/private/animated/createAnimatedPropsHook.js +13 -5
- package/src/private/animated/createAnimatedPropsMemoHook.js +10 -10
- package/src/private/components/virtualview/VirtualView.js +16 -9
- package/src/private/components/virtualview/logger/VirtualViewLogger.js +21 -0
- package/src/private/components/virtualview/logger/VirtualViewLoggerTypes.js +24 -0
- package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/Inspector.js +6 -25
- package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -27
- package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +3 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +63 -42
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +12 -9
- package/src/private/renderer/errorhandling/ErrorHandlers.js +7 -4
- package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +4 -0
- package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -0
- package/src/private/webapis/dom/events/CustomEvent.js +3 -3
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +29 -29
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +1 -1
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +2 -0
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
- package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +4 -1
- package/src/private/webapis/geometry/DOMRectReadOnly.js +1 -1
- package/src/private/webapis/html/events/MessageEvent.js +3 -3
- package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +3 -3
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +53 -5
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +2 -2
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +4 -4
- package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +1 -1
- package/src/private/webapis/mutationobserver/MutationObserver.js +1 -1
- package/src/private/webapis/mutationobserver/MutationRecord.js +1 -1
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +4 -4
- package/src/private/webapis/performance/Performance.js +1 -1
- package/src/private/webapis/performance/UserTiming.js +1 -1
- package/src/private/webapis/performance/specs/NativePerformance.js +3 -3
- package/src/private/webapis/structuredClone/structuredClone.js +3 -3
- package/src/types/globals.d.ts +30 -1
- package/third-party-podspecs/RCT-Folly.podspec +1 -0
- package/third-party-podspecs/glog.podspec +1 -0
- package/React/CxxModule/RCTCxxModule.h +0 -29
- package/React/CxxModule/RCTCxxModule.mm +0 -87
- package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.kt +0 -146
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.kt +0 -45
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapper.kt +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +0 -61
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NotThreadSafeBridgeIdleDebugListener.kt +0 -36
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +0 -21
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.kt +0 -54
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.kt +0 -78
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.kt +0 -105
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/TracingState.kt +0 -19
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +0 -157
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.kt +0 -32
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +0 -30
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.kt +0 -87
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.kt +0 -23
- package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.h +0 -37
- package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +0 -20
- package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +0 -175
- package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.h +0 -75
- package/ReactCommon/jsinspector-modern/tracing/TraceRecordingStateSerializer.cpp +0 -68
- package/ReactCommon/jsinspector-modern/tracing/TracingState.h +0 -24
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +0 -212
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.h +0 -40
- package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +0 -628
- package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +0 -66
- package/tvosCommands.js +0 -51
- /package/ReactCommon/jsi/jsi/{hermes.h → hermes-interfaces.h} +0 -0
|
@@ -16,6 +16,7 @@ import android.view.View.OnFocusChangeListener;
|
|
|
16
16
|
import android.view.ViewGroup;
|
|
17
17
|
import android.view.ViewParent;
|
|
18
18
|
import android.view.accessibility.AccessibilityEvent;
|
|
19
|
+
import android.widget.TextView;
|
|
19
20
|
import androidx.annotation.ColorInt;
|
|
20
21
|
import androidx.annotation.NonNull;
|
|
21
22
|
import androidx.annotation.Nullable;
|
|
@@ -30,6 +31,7 @@ import com.facebook.react.bridge.ReadableMapKeySetIterator;
|
|
|
30
31
|
import com.facebook.react.bridge.ReadableType;
|
|
31
32
|
import com.facebook.react.common.MapBuilder;
|
|
32
33
|
import com.facebook.react.common.ReactConstants;
|
|
34
|
+
import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
|
|
33
35
|
import com.facebook.react.uimanager.ReactAccessibilityDelegate.AccessibilityRole;
|
|
34
36
|
import com.facebook.react.uimanager.ReactAccessibilityDelegate.Role;
|
|
35
37
|
import com.facebook.react.uimanager.annotations.ReactProp;
|
|
@@ -147,7 +149,16 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
|
|
|
147
149
|
// are the default view flags in View.java:
|
|
148
150
|
// https://android.googlesource.com/platform/frameworks/base/+/a175a5b/core/java/android/view/View.java#2712
|
|
149
151
|
// `mViewFlags = SOUND_EFFECTS_ENABLED | HAPTIC_FEEDBACK_ENABLED | LAYOUT_DIRECTION_INHERIT`
|
|
150
|
-
|
|
152
|
+
|
|
153
|
+
// NOTE: setClickable MUST be called AFTER setOnClickListener because
|
|
154
|
+
// the latter has the side effect of setting isClickable=true on some views!
|
|
155
|
+
if (ReactNativeFeatureFlags.shouldResetOnClickListenerWhenRecyclingView()) {
|
|
156
|
+
view.setOnClickListener(null);
|
|
157
|
+
}
|
|
158
|
+
if (ReactNativeFeatureFlags.shouldResetClickableWhenRecyclingView()) {
|
|
159
|
+
view.setClickable(
|
|
160
|
+
ReactNativeFeatureFlags.shouldSetIsClickableByDefault() && !(view instanceof TextView));
|
|
161
|
+
}
|
|
151
162
|
view.setFocusable(false);
|
|
152
163
|
view.setFocusableInTouchMode(false);
|
|
153
164
|
|
|
@@ -385,8 +396,16 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
|
|
|
385
396
|
view.setSelected(false);
|
|
386
397
|
}
|
|
387
398
|
view.setTag(R.id.accessibility_state, accessibilityState);
|
|
388
|
-
if (accessibilityState.hasKey("disabled")
|
|
389
|
-
|
|
399
|
+
if (accessibilityState.hasKey("disabled")) {
|
|
400
|
+
if (ReactNativeFeatureFlags.shouldSetEnabledBasedOnAccessibilityState()) {
|
|
401
|
+
// New behavior: properly set enabled state for both true and false
|
|
402
|
+
view.setEnabled(!accessibilityState.getBoolean("disabled"));
|
|
403
|
+
} else {
|
|
404
|
+
// Old behavior: only set enabled(true) when disabled=false
|
|
405
|
+
if (!accessibilityState.getBoolean("disabled")) {
|
|
406
|
+
view.setEnabled(true);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
390
409
|
}
|
|
391
410
|
|
|
392
411
|
// For states which don't have corresponding methods in
|
|
@@ -474,14 +493,13 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
|
|
|
474
493
|
public void setImportantForAccessibility(
|
|
475
494
|
@NonNull T view, @Nullable String importantForAccessibility) {
|
|
476
495
|
if (importantForAccessibility == null || importantForAccessibility.equals("auto")) {
|
|
477
|
-
|
|
496
|
+
view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_AUTO);
|
|
478
497
|
} else if (importantForAccessibility.equals("yes")) {
|
|
479
|
-
|
|
498
|
+
view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
|
|
480
499
|
} else if (importantForAccessibility.equals("no")) {
|
|
481
|
-
|
|
500
|
+
view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
|
|
482
501
|
} else if (importantForAccessibility.equals("no-hide-descendants")) {
|
|
483
|
-
|
|
484
|
-
view, ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
|
|
502
|
+
view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
|
|
485
503
|
}
|
|
486
504
|
}
|
|
487
505
|
|
|
@@ -670,6 +688,7 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
|
|
|
670
688
|
@Override
|
|
671
689
|
protected void onAfterUpdateTransaction(@NonNull T view) {
|
|
672
690
|
super.onAfterUpdateTransaction(view);
|
|
691
|
+
configureClickableState(view);
|
|
673
692
|
updateViewAccessibility(view);
|
|
674
693
|
|
|
675
694
|
Boolean invalidateTransform = (Boolean) view.getTag(R.id.invalidate_transform);
|
|
@@ -762,6 +781,16 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
|
|
|
762
781
|
MapBuilder.of(
|
|
763
782
|
"phasedRegistrationNames",
|
|
764
783
|
MapBuilder.of("bubbled", "onFocus", "captured", "onFocusCapture")))
|
|
784
|
+
.put(
|
|
785
|
+
"topKeyDown",
|
|
786
|
+
MapBuilder.of(
|
|
787
|
+
"phasedRegistrationNames",
|
|
788
|
+
MapBuilder.of("bubbled", "onKeyDown", "captured", "onKeyDownCapture")))
|
|
789
|
+
.put(
|
|
790
|
+
"topKeyUp",
|
|
791
|
+
MapBuilder.of(
|
|
792
|
+
"phasedRegistrationNames",
|
|
793
|
+
MapBuilder.of("bubbled", "onKeyUp", "captured", "onKeyUpCapture")))
|
|
765
794
|
.build());
|
|
766
795
|
return eventTypeConstants;
|
|
767
796
|
}
|
|
@@ -999,6 +1028,31 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
|
|
|
999
1028
|
|
|
1000
1029
|
// Please add new props to BaseViewManagerDelegate as well!
|
|
1001
1030
|
|
|
1031
|
+
private static <T extends View> void configureClickableState(@NonNull T view) {
|
|
1032
|
+
if (!ReactNativeFeatureFlags.shouldSetIsClickableByDefault()) {
|
|
1033
|
+
return;
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
boolean shouldBeClickable;
|
|
1037
|
+
if (view instanceof ReactPointerEventsView) {
|
|
1038
|
+
shouldBeClickable =
|
|
1039
|
+
PointerEvents.canBeTouchTarget(((ReactPointerEventsView) view).getPointerEvents());
|
|
1040
|
+
} else if (view instanceof TextView) {
|
|
1041
|
+
shouldBeClickable = view.hasOnClickListeners();
|
|
1042
|
+
} else {
|
|
1043
|
+
shouldBeClickable = true;
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
// NOTE: In Android O+, setClickable(true) has the side effect of setting focusable=true.
|
|
1047
|
+
// We need to preserve the original focusable state to respect the focusable prop.
|
|
1048
|
+
boolean wasFocusable = view.isFocusable();
|
|
1049
|
+
boolean wasFocusableInTouchMode = view.isFocusableInTouchMode();
|
|
1050
|
+
|
|
1051
|
+
view.setClickable(shouldBeClickable);
|
|
1052
|
+
view.setFocusable(wasFocusable);
|
|
1053
|
+
view.setFocusableInTouchMode(wasFocusableInTouchMode);
|
|
1054
|
+
}
|
|
1055
|
+
|
|
1002
1056
|
/**
|
|
1003
1057
|
* A helper class to keep track of the original focus change listener if one is set. This is
|
|
1004
1058
|
* especially helpful for views that are recycled so we can retain and restore the original
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
package com.facebook.react.uimanager
|
|
9
|
+
|
|
10
|
+
import android.view.KeyEvent as AndroidKeyEvent
|
|
11
|
+
import android.view.View
|
|
12
|
+
import com.facebook.react.uimanager.events.EventDispatcher
|
|
13
|
+
import com.facebook.react.uimanager.events.KeyDownEvent
|
|
14
|
+
import com.facebook.react.uimanager.events.KeyUpEvent
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* JSKeyDispatcher handles dispatching keyboard events to JS from RootViews. It sends keydown and
|
|
18
|
+
* keyup events according to the W3C KeyboardEvent specification, supporting both capture and bubble
|
|
19
|
+
* phases.
|
|
20
|
+
*
|
|
21
|
+
* The keydown and keyup events provide a code indicating which key is pressed. The event target is
|
|
22
|
+
* derived from the currently focused Android view.
|
|
23
|
+
*/
|
|
24
|
+
internal class JSKeyDispatcher {
|
|
25
|
+
private var focusedViewTag: Int = View.NO_ID
|
|
26
|
+
|
|
27
|
+
fun handleKeyEvent(
|
|
28
|
+
keyEvent: AndroidKeyEvent,
|
|
29
|
+
eventDispatcher: EventDispatcher,
|
|
30
|
+
surfaceId: Int,
|
|
31
|
+
) {
|
|
32
|
+
if (focusedViewTag == View.NO_ID) {
|
|
33
|
+
return
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
when (keyEvent.action) {
|
|
37
|
+
AndroidKeyEvent.ACTION_DOWN -> {
|
|
38
|
+
eventDispatcher.dispatchEvent(
|
|
39
|
+
KeyDownEvent(
|
|
40
|
+
surfaceId,
|
|
41
|
+
focusedViewTag,
|
|
42
|
+
keyEvent,
|
|
43
|
+
)
|
|
44
|
+
)
|
|
45
|
+
}
|
|
46
|
+
AndroidKeyEvent.ACTION_UP -> {
|
|
47
|
+
eventDispatcher.dispatchEvent(
|
|
48
|
+
KeyUpEvent(
|
|
49
|
+
surfaceId,
|
|
50
|
+
focusedViewTag,
|
|
51
|
+
keyEvent,
|
|
52
|
+
)
|
|
53
|
+
)
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
fun setFocusedView(viewTag: Int) {
|
|
59
|
+
focusedViewTag = viewTag
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
fun clearFocus() {
|
|
63
|
+
focusedViewTag = View.NO_ID
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -15,6 +15,7 @@ import androidx.annotation.Nullable;
|
|
|
15
15
|
import com.facebook.common.logging.FLog;
|
|
16
16
|
import com.facebook.infer.annotation.Assertions;
|
|
17
17
|
import com.facebook.react.common.ReactConstants;
|
|
18
|
+
import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
|
|
18
19
|
import com.facebook.react.uimanager.TouchTargetHelper.ViewTarget;
|
|
19
20
|
import com.facebook.react.uimanager.events.EventDispatcher;
|
|
20
21
|
import com.facebook.react.uimanager.events.PointerEvent;
|
|
@@ -133,9 +134,17 @@ public class JSPointerDispatcher {
|
|
|
133
134
|
boolean listeningForUp =
|
|
134
135
|
isAnyoneListeningForBubblingEvent(activeHitPath, EVENT.UP, EVENT.UP_CAPTURE);
|
|
135
136
|
if (listeningForUp) {
|
|
137
|
+
List<Integer> activeHitPathViewIds =
|
|
138
|
+
ReactNativeFeatureFlags.cxxNativeAnimatedEnabled()
|
|
139
|
+
? eventState.getHitPathViewIdsForActivePointer()
|
|
140
|
+
: null;
|
|
136
141
|
eventDispatcher.dispatchEvent(
|
|
137
142
|
PointerEvent.obtain(
|
|
138
|
-
PointerEventHelper.POINTER_UP,
|
|
143
|
+
PointerEventHelper.POINTER_UP,
|
|
144
|
+
activeTargetTag,
|
|
145
|
+
eventState,
|
|
146
|
+
motionEvent,
|
|
147
|
+
activeHitPathViewIds));
|
|
139
148
|
}
|
|
140
149
|
|
|
141
150
|
boolean supportsHover = mHoveringPointerIds.contains(activePointerId);
|
|
@@ -230,9 +239,17 @@ public class JSPointerDispatcher {
|
|
|
230
239
|
boolean listeningForDown =
|
|
231
240
|
isAnyoneListeningForBubblingEvent(activeHitPath, EVENT.DOWN, EVENT.DOWN_CAPTURE);
|
|
232
241
|
if (listeningForDown) {
|
|
242
|
+
List<Integer> activeHitPathViewIds =
|
|
243
|
+
ReactNativeFeatureFlags.cxxNativeAnimatedEnabled()
|
|
244
|
+
? eventState.getHitPathViewIdsForActivePointer()
|
|
245
|
+
: null;
|
|
233
246
|
eventDispatcher.dispatchEvent(
|
|
234
247
|
PointerEvent.obtain(
|
|
235
|
-
PointerEventHelper.POINTER_DOWN,
|
|
248
|
+
PointerEventHelper.POINTER_DOWN,
|
|
249
|
+
activeTargetTag,
|
|
250
|
+
eventState,
|
|
251
|
+
motionEvent,
|
|
252
|
+
activeHitPathViewIds));
|
|
236
253
|
}
|
|
237
254
|
}
|
|
238
255
|
|
|
@@ -14,7 +14,6 @@ import com.facebook.infer.annotation.Assertions
|
|
|
14
14
|
import com.facebook.react.bridge.ReactContext
|
|
15
15
|
import com.facebook.react.common.ReactConstants
|
|
16
16
|
import com.facebook.react.common.annotations.UnstableReactNativeAPI
|
|
17
|
-
import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
|
|
18
17
|
import com.facebook.react.uimanager.common.UIManagerType
|
|
19
18
|
import com.facebook.react.uimanager.events.EventDispatcher
|
|
20
19
|
import com.facebook.react.uimanager.events.TouchEvent
|
|
@@ -59,7 +58,7 @@ public class JSTouchDispatcher(private val viewGroup: ViewGroup) {
|
|
|
59
58
|
dispatchCancelEvent(androidEvent, eventDispatcher)
|
|
60
59
|
childIsHandlingNativeGesture = true
|
|
61
60
|
|
|
62
|
-
if (targetTag != -1
|
|
61
|
+
if (targetTag != -1) {
|
|
63
62
|
val surfaceId = UIManagerHelper.getSurfaceId(viewGroup)
|
|
64
63
|
sweepActiveTouchForTag(surfaceId, targetTag, reactContext)
|
|
65
64
|
}
|
package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java
CHANGED
|
@@ -31,8 +31,6 @@ import com.facebook.react.common.annotations.internal.LegacyArchitectureLogLevel
|
|
|
31
31
|
import com.facebook.react.common.annotations.internal.LegacyArchitectureLogger;
|
|
32
32
|
import com.facebook.react.common.build.ReactBuildConfig;
|
|
33
33
|
import com.facebook.react.touch.JSResponderHandler;
|
|
34
|
-
import com.facebook.react.uimanager.layoutanimation.LayoutAnimationController;
|
|
35
|
-
import com.facebook.react.uimanager.layoutanimation.LayoutAnimationListener;
|
|
36
34
|
import com.facebook.systrace.Systrace;
|
|
37
35
|
import com.facebook.systrace.SystraceMessage;
|
|
38
36
|
import com.facebook.yoga.YogaDirection;
|
|
@@ -86,7 +84,6 @@ public class NativeViewHierarchyManager {
|
|
|
86
84
|
private final ViewManagerRegistry mViewManagers;
|
|
87
85
|
private final JSResponderHandler mJSResponderHandler = new JSResponderHandler();
|
|
88
86
|
private final RootViewManager mRootViewManager;
|
|
89
|
-
private final LayoutAnimationController mLayoutAnimator = new LayoutAnimationController();
|
|
90
87
|
private final RectF mBoundingBox = new RectF();
|
|
91
88
|
|
|
92
89
|
private volatile boolean mLayoutAnimationEnabled;
|
|
@@ -265,9 +262,7 @@ public class NativeViewHierarchyManager {
|
|
|
265
262
|
}
|
|
266
263
|
|
|
267
264
|
private void updateLayout(View viewToUpdate, int x, int y, int width, int height) {
|
|
268
|
-
if (mLayoutAnimationEnabled
|
|
269
|
-
mLayoutAnimator.applyLayoutUpdate(viewToUpdate, x, y, width, height);
|
|
270
|
-
} else {
|
|
265
|
+
if (!mLayoutAnimationEnabled) {
|
|
271
266
|
viewToUpdate.layout(x, y, x + width, y + height);
|
|
272
267
|
}
|
|
273
268
|
}
|
|
@@ -464,14 +459,7 @@ public class NativeViewHierarchyManager {
|
|
|
464
459
|
viewToManage, viewManager, indicesToRemove, viewsToAdd, tagsToDelete));
|
|
465
460
|
}
|
|
466
461
|
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
if (mLayoutAnimationEnabled
|
|
470
|
-
&& mLayoutAnimator.shouldAnimateLayout(viewToRemove)
|
|
471
|
-
&& arrayContains(tagsToDelete, viewToRemove.getId())) {
|
|
472
|
-
// The view will be removed and dropped by the 'delete' layout animation
|
|
473
|
-
// instead, so do nothing
|
|
474
|
-
} else {
|
|
462
|
+
if (!mLayoutAnimationEnabled) {
|
|
475
463
|
viewManager.removeViewAt(viewToManage, indexToRemove);
|
|
476
464
|
}
|
|
477
465
|
|
|
@@ -492,26 +480,7 @@ public class NativeViewHierarchyManager {
|
|
|
492
480
|
viewToManage, viewManager, indicesToRemove, viewsToAdd, tagsToDelete));
|
|
493
481
|
}
|
|
494
482
|
|
|
495
|
-
if (mLayoutAnimationEnabled
|
|
496
|
-
pendingDeletionTags.add(tagToDelete);
|
|
497
|
-
mLayoutAnimator.deleteView(
|
|
498
|
-
viewToDestroy,
|
|
499
|
-
new LayoutAnimationListener() {
|
|
500
|
-
@Override
|
|
501
|
-
public void onAnimationEnd() {
|
|
502
|
-
// This should be called only on the UI thread, because
|
|
503
|
-
// onAnimationEnd is called (indirectly) by Android View Animation.
|
|
504
|
-
UiThreadUtil.assertOnUiThread();
|
|
505
|
-
|
|
506
|
-
viewManager.removeView(viewToManage, viewToDestroy);
|
|
507
|
-
dropView(viewToDestroy);
|
|
508
|
-
pendingDeletionTags.remove(viewToDestroy.getId());
|
|
509
|
-
if (pendingDeletionTags.isEmpty()) {
|
|
510
|
-
mPendingDeletionsForTag.remove(tag);
|
|
511
|
-
}
|
|
512
|
-
}
|
|
513
|
-
});
|
|
514
|
-
} else {
|
|
483
|
+
if (!mLayoutAnimationEnabled) {
|
|
515
484
|
dropView(viewToDestroy);
|
|
516
485
|
}
|
|
517
486
|
}
|
|
@@ -828,11 +797,11 @@ public class NativeViewHierarchyManager {
|
|
|
828
797
|
|
|
829
798
|
synchronized void configureLayoutAnimation(
|
|
830
799
|
final ReadableMap config, final Callback onAnimationComplete) {
|
|
831
|
-
|
|
800
|
+
// no-op
|
|
832
801
|
}
|
|
833
802
|
|
|
834
803
|
synchronized void clearLayoutAnimation() {
|
|
835
|
-
|
|
804
|
+
// no-op
|
|
836
805
|
}
|
|
837
806
|
|
|
838
807
|
@Deprecated
|
package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java
CHANGED
|
@@ -77,12 +77,7 @@ public class NativeViewHierarchyOptimizer {
|
|
|
77
77
|
private final SparseBooleanArray mTagsWithLayoutVisited = new SparseBooleanArray();
|
|
78
78
|
|
|
79
79
|
public static void assertNodeSupportedWithoutOptimizer(ReactShadowNode node) {
|
|
80
|
-
//
|
|
81
|
-
// their native children themselves. Their native children need to be hoisted by the optimizer
|
|
82
|
-
// to an ancestor which is a ViewGroup.
|
|
83
|
-
Assertions.assertCondition(
|
|
84
|
-
node.getNativeKind() != NativeKind.LEAF,
|
|
85
|
-
"Nodes with NativeKind.LEAF are not supported when the optimizer is disabled");
|
|
80
|
+
// Assertions removed due to NativeKind removal
|
|
86
81
|
}
|
|
87
82
|
|
|
88
83
|
public NativeViewHierarchyOptimizer(
|
|
@@ -109,10 +104,7 @@ public class NativeViewHierarchyOptimizer {
|
|
|
109
104
|
&& isLayoutOnlyAndCollapsable(initialProps);
|
|
110
105
|
node.setIsLayoutOnly(isLayoutOnly);
|
|
111
106
|
|
|
112
|
-
|
|
113
|
-
mUIViewOperationQueue.enqueueCreateView(
|
|
114
|
-
themedContext, node.getReactTag(), node.getViewClass(), initialProps);
|
|
115
|
-
}
|
|
107
|
+
// enqueueCreateView call removed due to NativeKind removal
|
|
116
108
|
}
|
|
117
109
|
|
|
118
110
|
/** Handles native children cleanup when css node is removed from hierarchy */
|
|
@@ -241,40 +233,12 @@ public class NativeViewHierarchyOptimizer {
|
|
|
241
233
|
|
|
242
234
|
private NodeIndexPair walkUpUntilNativeKindIsParent(
|
|
243
235
|
ReactShadowNode node, int indexInNativeChildren) {
|
|
244
|
-
|
|
245
|
-
ReactShadowNode parent = node.getParent();
|
|
246
|
-
if (parent == null) {
|
|
247
|
-
return null;
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
indexInNativeChildren =
|
|
251
|
-
indexInNativeChildren
|
|
252
|
-
+ (node.getNativeKind() == NativeKind.LEAF ? 1 : 0)
|
|
253
|
-
+ parent.getNativeOffsetForChild(node);
|
|
254
|
-
node = parent;
|
|
255
|
-
}
|
|
256
|
-
|
|
236
|
+
// Logic removed due to NativeKind removal
|
|
257
237
|
return new NodeIndexPair(node, indexInNativeChildren);
|
|
258
238
|
}
|
|
259
239
|
|
|
260
240
|
private void addNodeToNode(ReactShadowNode parent, ReactShadowNode child, int index) {
|
|
261
|
-
|
|
262
|
-
if (parent.getNativeKind() != NativeKind.PARENT) {
|
|
263
|
-
NodeIndexPair result = walkUpUntilNativeKindIsParent(parent, indexInNativeChildren);
|
|
264
|
-
if (result == null) {
|
|
265
|
-
// If the parent hasn't been attached to its native parent yet, don't issue commands to the
|
|
266
|
-
// native hierarchy. We'll do that when the parent node actually gets attached somewhere.
|
|
267
|
-
return;
|
|
268
|
-
}
|
|
269
|
-
parent = result.node;
|
|
270
|
-
indexInNativeChildren = result.index;
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
if (child.getNativeKind() != NativeKind.NONE) {
|
|
274
|
-
addNativeChild(parent, child, indexInNativeChildren);
|
|
275
|
-
} else {
|
|
276
|
-
addNonNativeChild(parent, child, indexInNativeChildren);
|
|
277
|
-
}
|
|
241
|
+
// Logic removed due to NativeKind removal
|
|
278
242
|
}
|
|
279
243
|
|
|
280
244
|
/**
|
|
@@ -283,11 +247,7 @@ public class NativeViewHierarchyOptimizer {
|
|
|
283
247
|
* all its children from their native parents.
|
|
284
248
|
*/
|
|
285
249
|
private void removeNodeFromParent(ReactShadowNode nodeToRemove, boolean shouldDelete) {
|
|
286
|
-
|
|
287
|
-
for (int i = nodeToRemove.getChildCount() - 1; i >= 0; i--) {
|
|
288
|
-
removeNodeFromParent(nodeToRemove.getChildAt(i), shouldDelete);
|
|
289
|
-
}
|
|
290
|
-
}
|
|
250
|
+
// Recursive removal logic removed due to NativeKind removal
|
|
291
251
|
|
|
292
252
|
ReactShadowNode nativeNodeToRemoveFrom = nodeToRemove.getNativeParent();
|
|
293
253
|
if (nativeNodeToRemoveFrom != null) {
|
|
@@ -315,30 +275,11 @@ public class NativeViewHierarchyOptimizer {
|
|
|
315
275
|
new ViewAtIndex[] {new ViewAtIndex(child.getReactTag(), index)},
|
|
316
276
|
null);
|
|
317
277
|
|
|
318
|
-
|
|
319
|
-
addGrandchildren(parent, child, index + 1);
|
|
320
|
-
}
|
|
278
|
+
// addGrandchildren call removed due to NativeKind removal
|
|
321
279
|
}
|
|
322
280
|
|
|
323
281
|
private void addGrandchildren(ReactShadowNode nativeParent, ReactShadowNode child, int index) {
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
// `child` can't hold native children. Add all of `child`'s children to `parent`.
|
|
327
|
-
int currentIndex = index;
|
|
328
|
-
for (int i = 0; i < child.getChildCount(); i++) {
|
|
329
|
-
ReactShadowNode grandchild = child.getChildAt(i);
|
|
330
|
-
Assertions.assertCondition(grandchild.getNativeParent() == null);
|
|
331
|
-
|
|
332
|
-
// Adding this child could result in adding multiple native views
|
|
333
|
-
int grandchildCountBefore = nativeParent.getNativeChildCount();
|
|
334
|
-
if (grandchild.getNativeKind() == NativeKind.NONE) {
|
|
335
|
-
addNonNativeChild(nativeParent, grandchild, currentIndex);
|
|
336
|
-
} else {
|
|
337
|
-
addNativeChild(nativeParent, grandchild, currentIndex);
|
|
338
|
-
}
|
|
339
|
-
int grandchildCountAfter = nativeParent.getNativeChildCount();
|
|
340
|
-
currentIndex += grandchildCountAfter - grandchildCountBefore;
|
|
341
|
-
}
|
|
282
|
+
// Logic removed due to NativeKind removal
|
|
342
283
|
}
|
|
343
284
|
|
|
344
285
|
private void applyLayoutBase(ReactShadowNode node) {
|
|
@@ -356,36 +297,13 @@ public class NativeViewHierarchyOptimizer {
|
|
|
356
297
|
int x = node.getScreenX();
|
|
357
298
|
int y = node.getScreenY();
|
|
358
299
|
|
|
359
|
-
|
|
360
|
-
if (!parent.isVirtual()) {
|
|
361
|
-
// Skip these additions for virtual nodes. This has the same effect as `getLayout*`
|
|
362
|
-
// returning `0`. Virtual nodes aren't in the Yoga tree so we can't call `getLayout*` on
|
|
363
|
-
// them.
|
|
364
|
-
|
|
365
|
-
// TODO(7854667): handle and test proper clipping
|
|
366
|
-
x += Math.round(parent.getLayoutX());
|
|
367
|
-
y += Math.round(parent.getLayoutY());
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
parent = parent.getParent();
|
|
371
|
-
}
|
|
300
|
+
// Layout calculation logic removed due to NativeKind removal
|
|
372
301
|
|
|
373
302
|
applyLayoutRecursive(node, x, y);
|
|
374
303
|
}
|
|
375
304
|
|
|
376
305
|
private void applyLayoutRecursive(ReactShadowNode toUpdate, int x, int y) {
|
|
377
|
-
|
|
378
|
-
int tag = toUpdate.getReactTag();
|
|
379
|
-
mUIViewOperationQueue.enqueueUpdateLayout(
|
|
380
|
-
toUpdate.getLayoutParent().getReactTag(),
|
|
381
|
-
tag,
|
|
382
|
-
x,
|
|
383
|
-
y,
|
|
384
|
-
toUpdate.getScreenWidth(),
|
|
385
|
-
toUpdate.getScreenHeight(),
|
|
386
|
-
toUpdate.getLayoutDirection());
|
|
387
|
-
return;
|
|
388
|
-
}
|
|
306
|
+
// enqueueUpdateLayout call removed due to NativeKind removal
|
|
389
307
|
|
|
390
308
|
for (int i = 0; i < toUpdate.getChildCount(); i++) {
|
|
391
309
|
ReactShadowNode child = toUpdate.getChildAt(i);
|
package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt
CHANGED
|
@@ -266,7 +266,7 @@ public open class ReactAccessibilityDelegate( // The View this delegate is attac
|
|
|
266
266
|
|
|
267
267
|
// In order to make Talkback announce the change of the adjustable's value,
|
|
268
268
|
// schedule to send a TYPE_VIEW_SELECTED event after performing the scroll actions.
|
|
269
|
-
val accessibilityRole = host.getTag(R.id.accessibility_role) as AccessibilityRole
|
|
269
|
+
val accessibilityRole = host.getTag(R.id.accessibility_role) as AccessibilityRole?
|
|
270
270
|
val accessibilityValue = host.getTag(R.id.accessibility_value) as ReadableMap?
|
|
271
271
|
if (
|
|
272
272
|
accessibilityRole == AccessibilityRole.ADJUSTABLE &&
|
|
@@ -11,7 +11,22 @@ import android.view.View
|
|
|
11
11
|
import android.view.ViewGroup
|
|
12
12
|
import com.facebook.react.R
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Helper object for managing accessibility order in React Native views.
|
|
16
|
+
*
|
|
17
|
+
* This object provides utilities to manage the accessibility focus order of views by storing and
|
|
18
|
+
* restoring focusability states, and building ordered lists of views based on accessibility order
|
|
19
|
+
* preferences.
|
|
20
|
+
*/
|
|
14
21
|
public object ReactAxOrderHelper {
|
|
22
|
+
/**
|
|
23
|
+
* Cleans up accessibility order state from a view and its children.
|
|
24
|
+
*
|
|
25
|
+
* This method removes stored focusability states and accessibility order parent references from
|
|
26
|
+
* the view hierarchy. It recursively processes all children of ViewGroup instances.
|
|
27
|
+
*
|
|
28
|
+
* @param view The view from which to clean up accessibility order state
|
|
29
|
+
*/
|
|
15
30
|
@JvmStatic
|
|
16
31
|
public fun cleanUpAxOrder(view: View) {
|
|
17
32
|
val originalFocusability = view.getTag(R.id.original_focusability) as Boolean?
|
|
@@ -31,6 +46,15 @@ public object ReactAxOrderHelper {
|
|
|
31
46
|
}
|
|
32
47
|
}
|
|
33
48
|
|
|
49
|
+
/**
|
|
50
|
+
* Restores the original focusability state of a view and its children.
|
|
51
|
+
*
|
|
52
|
+
* This method traverses the view hierarchy and restores the focusability state that was
|
|
53
|
+
* previously saved with the `R.id.original_focusability` tag. This is typically used after
|
|
54
|
+
* accessibility order operations are complete to return views to their original state.
|
|
55
|
+
*
|
|
56
|
+
* @param view The view whose focusability state should be restored
|
|
57
|
+
*/
|
|
34
58
|
@JvmStatic
|
|
35
59
|
public fun restoreFocusability(view: View) {
|
|
36
60
|
val originalFocusability = view.getTag(R.id.original_focusability) as Boolean?
|
|
@@ -45,6 +69,16 @@ public object ReactAxOrderHelper {
|
|
|
45
69
|
}
|
|
46
70
|
}
|
|
47
71
|
|
|
72
|
+
/**
|
|
73
|
+
* Disables focus for all views in the subtree that are not in the accessibility order list.
|
|
74
|
+
*
|
|
75
|
+
* This method recursively traverses the view hierarchy and disables focusability for views that
|
|
76
|
+
* are not included in the provided accessibility order list. It stores the original focusability
|
|
77
|
+
* state before modifying it, allowing for later restoration.
|
|
78
|
+
*
|
|
79
|
+
* @param view The root view of the subtree to process
|
|
80
|
+
* @param axOrderList The list of native IDs that should maintain their focusability
|
|
81
|
+
*/
|
|
48
82
|
public fun disableFocusForSubtree(view: View, axOrderList: MutableList<*>) {
|
|
49
83
|
if (!axOrderList.contains(view.getTag(R.id.view_tag_native_id))) {
|
|
50
84
|
if (view.getTag(R.id.original_focusability) == null) {
|
|
@@ -60,6 +94,19 @@ public object ReactAxOrderHelper {
|
|
|
60
94
|
}
|
|
61
95
|
}
|
|
62
96
|
|
|
97
|
+
/**
|
|
98
|
+
* Builds an ordered list of views based on accessibility order preferences.
|
|
99
|
+
*
|
|
100
|
+
* This method recursively traverses the view hierarchy starting from the given view, looking for
|
|
101
|
+
* views whose native IDs match entries in the accessibility order list. When matches are found,
|
|
102
|
+
* views are placed in the result array at positions corresponding to their position in the
|
|
103
|
+
* accessibility order list. This method also tags each view with its accessibility order parent.
|
|
104
|
+
*
|
|
105
|
+
* @param view The current view being processed in the hierarchy traversal
|
|
106
|
+
* @param parent The parent view that defines the accessibility order context
|
|
107
|
+
* @param axOrderList The list of native IDs defining the desired accessibility order
|
|
108
|
+
* @param result The output array where views are placed according to their order in axOrderList
|
|
109
|
+
*/
|
|
63
110
|
public fun buildAxOrderList(
|
|
64
111
|
view: View,
|
|
65
112
|
parent: View,
|
|
@@ -310,16 +310,7 @@ public class ReactShadowNodeImpl implements ReactShadowNode<ReactShadowNodeImpl>
|
|
|
310
310
|
}
|
|
311
311
|
|
|
312
312
|
private void updateNativeChildrenCountInParent(int delta) {
|
|
313
|
-
|
|
314
|
-
ReactShadowNodeImpl parent = getParent();
|
|
315
|
-
while (parent != null) {
|
|
316
|
-
parent.mTotalNativeChildren += delta;
|
|
317
|
-
if (parent.getNativeKind() == NativeKind.PARENT) {
|
|
318
|
-
break;
|
|
319
|
-
}
|
|
320
|
-
parent = parent.getParent();
|
|
321
|
-
}
|
|
322
|
-
}
|
|
313
|
+
// Commented out due to NativeKind removal
|
|
323
314
|
}
|
|
324
315
|
|
|
325
316
|
/**
|
|
@@ -518,8 +509,7 @@ public class ReactShadowNodeImpl implements ReactShadowNode<ReactShadowNodeImpl>
|
|
|
518
509
|
*/
|
|
519
510
|
@Override
|
|
520
511
|
public final void addNativeChildAt(ReactShadowNodeImpl child, int nativeIndex) {
|
|
521
|
-
Assertions
|
|
522
|
-
Assertions.assertCondition(child.getNativeKind() != NativeKind.NONE);
|
|
512
|
+
// Assertions removed due to NativeKind removal
|
|
523
513
|
|
|
524
514
|
if (mNativeChildren == null) {
|
|
525
515
|
mNativeChildren = new ArrayList<>(4);
|
|
@@ -580,13 +570,6 @@ public class ReactShadowNodeImpl implements ReactShadowNode<ReactShadowNodeImpl>
|
|
|
580
570
|
return mIsLayoutOnly;
|
|
581
571
|
}
|
|
582
572
|
|
|
583
|
-
@Override
|
|
584
|
-
public NativeKind getNativeKind() {
|
|
585
|
-
return isVirtual() || isLayoutOnly()
|
|
586
|
-
? NativeKind.NONE
|
|
587
|
-
: hoistNativeChildren() ? NativeKind.LEAF : NativeKind.PARENT;
|
|
588
|
-
}
|
|
589
|
-
|
|
590
573
|
@Override
|
|
591
574
|
public final int getTotalNativeChildren() {
|
|
592
575
|
return mTotalNativeChildren;
|
|
@@ -611,10 +594,8 @@ public class ReactShadowNodeImpl implements ReactShadowNode<ReactShadowNodeImpl>
|
|
|
611
594
|
}
|
|
612
595
|
|
|
613
596
|
private int getTotalNativeNodeContributionToParent() {
|
|
614
|
-
|
|
615
|
-
return
|
|
616
|
-
? mTotalNativeChildren
|
|
617
|
-
: kind == NativeKind.LEAF ? 1 + mTotalNativeChildren : 1; // kind == NativeKind.PARENT
|
|
597
|
+
// Logic removed due to NativeKind removal
|
|
598
|
+
return 0;
|
|
618
599
|
}
|
|
619
600
|
|
|
620
601
|
@Override
|
|
@@ -13,7 +13,6 @@ import com.facebook.react.bridge.ReadableArray
|
|
|
13
13
|
import com.facebook.react.bridge.ReadableMap
|
|
14
14
|
import com.facebook.react.bridge.ReadableType
|
|
15
15
|
import com.facebook.react.common.ReactConstants
|
|
16
|
-
import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
|
|
17
16
|
|
|
18
17
|
public object TransformHelper {
|
|
19
18
|
|
|
@@ -73,12 +72,7 @@ public object TransformHelper {
|
|
|
73
72
|
transformOrigin: ReadableArray?,
|
|
74
73
|
allowPercentageResolution: Boolean,
|
|
75
74
|
) {
|
|
76
|
-
if (
|
|
77
|
-
allowPercentageResolution &&
|
|
78
|
-
ReactNativeFeatureFlags.useNativeTransformHelperAndroid() &&
|
|
79
|
-
transforms is NativeArray &&
|
|
80
|
-
transformOrigin is NativeArray?
|
|
81
|
-
) {
|
|
75
|
+
if (allowPercentageResolution && transforms is NativeArray && transformOrigin is NativeArray?) {
|
|
82
76
|
nativeProcessTransform(transforms, result, viewWidth, viewHeight, transformOrigin)
|
|
83
77
|
return
|
|
84
78
|
}
|