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
|
@@ -26,7 +26,6 @@ import com.facebook.react.common.annotations.internal.LegacyArchitectureLogLevel
|
|
|
26
26
|
import com.facebook.react.common.annotations.internal.LegacyArchitectureLogger;
|
|
27
27
|
import com.facebook.react.common.build.ReactBuildConfig;
|
|
28
28
|
import com.facebook.react.modules.i18nmanager.I18nUtil;
|
|
29
|
-
import com.facebook.react.uimanager.debug.NotThreadSafeViewHierarchyUpdateDebugListener;
|
|
30
29
|
import com.facebook.react.uimanager.events.EventDispatcher;
|
|
31
30
|
import com.facebook.systrace.Systrace;
|
|
32
31
|
import com.facebook.systrace.SystraceMessage;
|
|
@@ -730,9 +729,7 @@ public class UIImplementation {
|
|
|
730
729
|
return;
|
|
731
730
|
}
|
|
732
731
|
|
|
733
|
-
|
|
734
|
-
node = node.getParent();
|
|
735
|
-
}
|
|
732
|
+
// While loop removed due to NativeKind removal
|
|
736
733
|
mOperationsQueue.enqueueSetJSResponder(node.getReactTag(), reactTag, blockNativeResponder);
|
|
737
734
|
}
|
|
738
735
|
|
|
@@ -782,13 +779,6 @@ public class UIImplementation {
|
|
|
782
779
|
mViewManagers.invalidate();
|
|
783
780
|
}
|
|
784
781
|
|
|
785
|
-
// NOTE: When converted to Kotlin this method should be `internal` due to
|
|
786
|
-
// visibility restriction for `NotThreadSafeViewHierarchyUpdateDebugListener`
|
|
787
|
-
public void setViewHierarchyUpdateDebugListener(
|
|
788
|
-
@Nullable NotThreadSafeViewHierarchyUpdateDebugListener listener) {
|
|
789
|
-
mOperationsQueue.setViewHierarchyUpdateDebugListener(listener);
|
|
790
|
-
}
|
|
791
|
-
|
|
792
782
|
protected final void removeShadowNode(ReactShadowNode nodeToRemove) {
|
|
793
783
|
removeShadowNodeRecursive(nodeToRemove);
|
|
794
784
|
nodeToRemove.dispose();
|
|
@@ -25,7 +25,6 @@ import com.facebook.react.bridge.Callback;
|
|
|
25
25
|
import com.facebook.react.bridge.Dynamic;
|
|
26
26
|
import com.facebook.react.bridge.GuardedRunnable;
|
|
27
27
|
import com.facebook.react.bridge.LifecycleEventListener;
|
|
28
|
-
import com.facebook.react.bridge.OnBatchCompleteListener;
|
|
29
28
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
30
29
|
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
31
30
|
import com.facebook.react.bridge.ReactMarker;
|
|
@@ -45,7 +44,6 @@ import com.facebook.react.common.annotations.internal.LegacyArchitectureLogger;
|
|
|
45
44
|
import com.facebook.react.common.build.ReactBuildConfig;
|
|
46
45
|
import com.facebook.react.module.annotations.ReactModule;
|
|
47
46
|
import com.facebook.react.uimanager.common.ViewUtil;
|
|
48
|
-
import com.facebook.react.uimanager.debug.NotThreadSafeViewHierarchyUpdateDebugListener;
|
|
49
47
|
import com.facebook.react.uimanager.events.EventDispatcher;
|
|
50
48
|
import com.facebook.react.uimanager.events.EventDispatcherImpl;
|
|
51
49
|
import com.facebook.react.uimanager.events.RCTEventEmitter;
|
|
@@ -90,7 +88,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
|
|
|
90
88
|
@Deprecated(
|
|
91
89
|
since = "This class is part of Legacy Architecture and will be removed in a future release")
|
|
92
90
|
public class UIManagerModule extends ReactContextBaseJavaModule
|
|
93
|
-
implements
|
|
91
|
+
implements LifecycleEventListener, UIManager {
|
|
94
92
|
static {
|
|
95
93
|
LegacyArchitectureLogger.assertLegacyArchitecture(
|
|
96
94
|
"UIManagerModule", LegacyArchitectureLogLevel.ERROR);
|
|
@@ -662,50 +660,6 @@ public class UIManagerModule extends ReactContextBaseJavaModule
|
|
|
662
660
|
mUIImplementation.configureNextLayoutAnimation(config, success);
|
|
663
661
|
}
|
|
664
662
|
|
|
665
|
-
/**
|
|
666
|
-
* To implement the transactional requirement mentioned in the class javadoc, we only commit UI
|
|
667
|
-
* changes to the actual view hierarchy once a batch of JS->Java calls have been completed. We
|
|
668
|
-
* know this is safe because all JS->Java calls that are triggered by a Java->JS call (e.g. the
|
|
669
|
-
* delivery of a touch event or execution of 'renderApplication') end up in a single JS->Java
|
|
670
|
-
* transaction.
|
|
671
|
-
*
|
|
672
|
-
* <p>A better way to do this would be to have JS explicitly signal to this module when a UI
|
|
673
|
-
* transaction is done. Right now, though, this is how iOS does it, and we should probably update
|
|
674
|
-
* the JS and native code and make this change at the same time.
|
|
675
|
-
*
|
|
676
|
-
* <p>TODO(5279396): Make JS UI library explicitly notify the native UI module of the end of a UI
|
|
677
|
-
* transaction using a standard native call
|
|
678
|
-
*/
|
|
679
|
-
@Override
|
|
680
|
-
public void onBatchComplete() {
|
|
681
|
-
int batchId = mBatchId;
|
|
682
|
-
mBatchId++;
|
|
683
|
-
|
|
684
|
-
SystraceMessage.beginSection(Systrace.TRACE_TAG_REACT, "onBatchCompleteUI")
|
|
685
|
-
.arg("BatchId", batchId)
|
|
686
|
-
.flush();
|
|
687
|
-
for (UIManagerListener listener : mUIManagerListeners) {
|
|
688
|
-
listener.willDispatchViewUpdates(this);
|
|
689
|
-
}
|
|
690
|
-
try {
|
|
691
|
-
// If there are no RootViews registered, there will be no View updates to dispatch.
|
|
692
|
-
// This is a hack to prevent this from being called when Fabric is used everywhere.
|
|
693
|
-
// This should no longer be necessary in Bridgeless Mode.
|
|
694
|
-
if (mUIImplementation.getRootViewNum() > 0) {
|
|
695
|
-
mUIImplementation.dispatchViewUpdates(batchId);
|
|
696
|
-
}
|
|
697
|
-
} finally {
|
|
698
|
-
Systrace.endSection(Systrace.TRACE_TAG_REACT);
|
|
699
|
-
}
|
|
700
|
-
}
|
|
701
|
-
|
|
702
|
-
// NOTE: When converted to Kotlin this method should be `internal` due to
|
|
703
|
-
// visibility restriction for `NotThreadSafeViewHierarchyUpdateDebugListener`
|
|
704
|
-
public void setViewHierarchyUpdateDebugListener(
|
|
705
|
-
@Nullable NotThreadSafeViewHierarchyUpdateDebugListener listener) {
|
|
706
|
-
mUIImplementation.setViewHierarchyUpdateDebugListener(listener);
|
|
707
|
-
}
|
|
708
|
-
|
|
709
663
|
@Override
|
|
710
664
|
public EventDispatcher getEventDispatcher() {
|
|
711
665
|
return mEventDispatcher;
|
|
@@ -29,7 +29,6 @@ import com.facebook.react.common.annotations.internal.LegacyArchitecture;
|
|
|
29
29
|
import com.facebook.react.common.annotations.internal.LegacyArchitectureLogLevel;
|
|
30
30
|
import com.facebook.react.common.annotations.internal.LegacyArchitectureLogger;
|
|
31
31
|
import com.facebook.react.modules.core.ReactChoreographer;
|
|
32
|
-
import com.facebook.react.uimanager.debug.NotThreadSafeViewHierarchyUpdateDebugListener;
|
|
33
32
|
import com.facebook.systrace.Systrace;
|
|
34
33
|
import com.facebook.systrace.SystraceMessage;
|
|
35
34
|
import com.facebook.yoga.YogaDirection;
|
|
@@ -584,7 +583,6 @@ public class UIViewOperationQueue {
|
|
|
584
583
|
@GuardedBy("mNonBatchedOperationsLock")
|
|
585
584
|
private ArrayDeque<UIOperation> mNonBatchedOperations = new ArrayDeque<>();
|
|
586
585
|
|
|
587
|
-
private @Nullable NotThreadSafeViewHierarchyUpdateDebugListener mViewHierarchyUpdateDebugListener;
|
|
588
586
|
private boolean mIsDispatchUIFrameCallbackEnqueued = false;
|
|
589
587
|
private boolean mIsInIllegalUIState = false;
|
|
590
588
|
private boolean mIsProfilingNextBatch = false;
|
|
@@ -619,13 +617,6 @@ public class UIViewOperationQueue {
|
|
|
619
617
|
return mNativeViewHierarchyManager;
|
|
620
618
|
}
|
|
621
619
|
|
|
622
|
-
// NOTE: When converted to Kotlin this method should be `internal` due to
|
|
623
|
-
// visibility restriction for `NotThreadSafeViewHierarchyUpdateDebugListener`
|
|
624
|
-
public void setViewHierarchyUpdateDebugListener(
|
|
625
|
-
@Nullable NotThreadSafeViewHierarchyUpdateDebugListener listener) {
|
|
626
|
-
mViewHierarchyUpdateDebugListener = listener;
|
|
627
|
-
}
|
|
628
|
-
|
|
629
620
|
public void profileNextBatch() {
|
|
630
621
|
mIsProfilingNextBatch = true;
|
|
631
622
|
mProfiledBatchCommitStartTime = 0;
|
|
@@ -833,10 +824,6 @@ public class UIViewOperationQueue {
|
|
|
833
824
|
}
|
|
834
825
|
}
|
|
835
826
|
|
|
836
|
-
if (mViewHierarchyUpdateDebugListener != null) {
|
|
837
|
-
mViewHierarchyUpdateDebugListener.onViewHierarchyUpdateEnqueued();
|
|
838
|
-
}
|
|
839
|
-
|
|
840
827
|
Runnable runOperations =
|
|
841
828
|
new Runnable() {
|
|
842
829
|
@Override
|
|
@@ -926,9 +913,6 @@ public class UIViewOperationQueue {
|
|
|
926
913
|
// Clear layout animation, as animation only apply to current UI operations batch.
|
|
927
914
|
mNativeViewHierarchyManager.clearLayoutAnimation();
|
|
928
915
|
|
|
929
|
-
if (mViewHierarchyUpdateDebugListener != null) {
|
|
930
|
-
mViewHierarchyUpdateDebugListener.onViewHierarchyUpdateFinished();
|
|
931
|
-
}
|
|
932
916
|
} catch (Exception e) {
|
|
933
917
|
mIsInIllegalUIState = true;
|
|
934
918
|
throw e;
|
package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt
CHANGED
|
@@ -7,14 +7,12 @@
|
|
|
7
7
|
|
|
8
8
|
package com.facebook.react.uimanager.events
|
|
9
9
|
|
|
10
|
-
import android.os.Handler
|
|
11
10
|
import android.view.Choreographer
|
|
12
11
|
import com.facebook.react.bridge.LifecycleEventListener
|
|
13
12
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
14
13
|
import com.facebook.react.bridge.ReactSoftExceptionLogger
|
|
15
14
|
import com.facebook.react.bridge.UiThreadUtil
|
|
16
15
|
import com.facebook.react.common.annotations.UnstableReactNativeAPI
|
|
17
|
-
import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
|
|
18
16
|
import com.facebook.react.modules.core.ReactChoreographer
|
|
19
17
|
import com.facebook.react.uimanager.UIManagerHelper
|
|
20
18
|
import com.facebook.react.uimanager.common.UIManagerType
|
|
@@ -41,19 +39,6 @@ internal class FabricEventDispatcher(
|
|
|
41
39
|
private val postEventDispatchListeners = CopyOnWriteArrayList<BatchEventDispatchedListener>()
|
|
42
40
|
private val currentFrameCallback = ScheduleDispatchFrameCallback()
|
|
43
41
|
|
|
44
|
-
private var isDispatchScheduled = false
|
|
45
|
-
private val dispatchEventsRunnable = Runnable {
|
|
46
|
-
isDispatchScheduled = false
|
|
47
|
-
Systrace.beginSection(Systrace.TRACE_TAG_REACT, "BatchEventDispatchedListeners")
|
|
48
|
-
try {
|
|
49
|
-
for (listener in postEventDispatchListeners) {
|
|
50
|
-
listener.onBatchEventDispatched()
|
|
51
|
-
}
|
|
52
|
-
} finally {
|
|
53
|
-
Systrace.endSection(Systrace.TRACE_TAG_REACT)
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
42
|
init {
|
|
58
43
|
reactContext.addLifecycleEventListener(this)
|
|
59
44
|
eventEmitter.registerFabricEventEmitter(fabricEventEmitter)
|
|
@@ -109,14 +94,7 @@ internal class FabricEventDispatcher(
|
|
|
109
94
|
}
|
|
110
95
|
|
|
111
96
|
private fun scheduleDispatchOfBatchedEvents() {
|
|
112
|
-
|
|
113
|
-
if (!isDispatchScheduled) {
|
|
114
|
-
isDispatchScheduled = true
|
|
115
|
-
uiThreadHandler.postAtFrontOfQueue(dispatchEventsRunnable)
|
|
116
|
-
}
|
|
117
|
-
} else {
|
|
118
|
-
currentFrameCallback.maybeScheduleDispatchOfBatchedEvents()
|
|
119
|
-
}
|
|
97
|
+
currentFrameCallback.maybeScheduleDispatchOfBatchedEvents()
|
|
120
98
|
}
|
|
121
99
|
|
|
122
100
|
/** Add a listener to this EventDispatcher. */
|
|
@@ -139,9 +117,7 @@ internal class FabricEventDispatcher(
|
|
|
139
117
|
|
|
140
118
|
override fun onHostResume() {
|
|
141
119
|
scheduleDispatchOfBatchedEvents()
|
|
142
|
-
|
|
143
|
-
currentFrameCallback.resume()
|
|
144
|
-
}
|
|
120
|
+
currentFrameCallback.resume()
|
|
145
121
|
}
|
|
146
122
|
|
|
147
123
|
override fun onHostPause() {
|
|
@@ -165,12 +141,7 @@ internal class FabricEventDispatcher(
|
|
|
165
141
|
|
|
166
142
|
private fun cancelDispatchOfBatchedEvents() {
|
|
167
143
|
UiThreadUtil.assertOnUiThread()
|
|
168
|
-
|
|
169
|
-
isDispatchScheduled = false
|
|
170
|
-
uiThreadHandler.removeCallbacks(dispatchEventsRunnable)
|
|
171
|
-
} else {
|
|
172
|
-
currentFrameCallback.stop()
|
|
173
|
-
}
|
|
144
|
+
currentFrameCallback.stop()
|
|
174
145
|
}
|
|
175
146
|
|
|
176
147
|
private inner class ScheduleDispatchFrameCallback : Choreographer.FrameCallback {
|
|
@@ -229,8 +200,4 @@ internal class FabricEventDispatcher(
|
|
|
229
200
|
}
|
|
230
201
|
}
|
|
231
202
|
}
|
|
232
|
-
|
|
233
|
-
private companion object {
|
|
234
|
-
private val uiThreadHandler: Handler = UiThreadUtil.getUiThreadHandler()
|
|
235
|
-
}
|
|
236
203
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
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.events
|
|
9
|
+
|
|
10
|
+
import android.view.KeyEvent as AndroidKeyEvent
|
|
11
|
+
|
|
12
|
+
internal class KeyDownEvent(
|
|
13
|
+
surfaceId: Int,
|
|
14
|
+
viewTag: Int,
|
|
15
|
+
keyEvent: AndroidKeyEvent,
|
|
16
|
+
) : KeyEvent(surfaceId, viewTag, keyEvent) {
|
|
17
|
+
|
|
18
|
+
override fun getEventName(): String = EVENT_NAME
|
|
19
|
+
|
|
20
|
+
companion object {
|
|
21
|
+
private const val EVENT_NAME: String = "topKeyDown"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
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.events
|
|
9
|
+
|
|
10
|
+
import android.view.KeyEvent as AndroidKeyEvent
|
|
11
|
+
import com.facebook.react.bridge.Arguments
|
|
12
|
+
import com.facebook.react.bridge.WritableMap
|
|
13
|
+
|
|
14
|
+
internal abstract class KeyEvent(
|
|
15
|
+
surfaceId: Int,
|
|
16
|
+
viewTag: Int,
|
|
17
|
+
keyEvent: AndroidKeyEvent,
|
|
18
|
+
) : Event<KeyEvent>(surfaceId, viewTag) {
|
|
19
|
+
|
|
20
|
+
// Extract all needed data from keyEvent immediately to avoid storing the AndroidKeyEvent itself
|
|
21
|
+
private val keyCode: Int = keyEvent.keyCode
|
|
22
|
+
private val unicodeChar: Int = keyEvent.unicodeChar
|
|
23
|
+
private val isAltPressed: Boolean = keyEvent.isAltPressed
|
|
24
|
+
private val isCtrlPressed: Boolean = keyEvent.isCtrlPressed
|
|
25
|
+
private val isMetaPressed: Boolean = keyEvent.isMetaPressed
|
|
26
|
+
private val isShiftPressed: Boolean = keyEvent.isShiftPressed
|
|
27
|
+
|
|
28
|
+
override fun canCoalesce(): Boolean = false
|
|
29
|
+
|
|
30
|
+
override fun getEventCategory(): Int = EventCategoryDef.DISCRETE
|
|
31
|
+
|
|
32
|
+
override fun getEventData(): WritableMap {
|
|
33
|
+
val eventData = Arguments.createMap()
|
|
34
|
+
|
|
35
|
+
eventData.putInt("target", viewTag)
|
|
36
|
+
|
|
37
|
+
// W3C KeyboardEvent properties
|
|
38
|
+
eventData.putString("key", getKeyString())
|
|
39
|
+
eventData.putString("code", getCodeString())
|
|
40
|
+
|
|
41
|
+
// Modifier keys
|
|
42
|
+
eventData.putBoolean("altKey", isAltPressed)
|
|
43
|
+
eventData.putBoolean("ctrlKey", isCtrlPressed)
|
|
44
|
+
eventData.putBoolean("metaKey", isMetaPressed)
|
|
45
|
+
eventData.putBoolean("shiftKey", isShiftPressed)
|
|
46
|
+
|
|
47
|
+
// Additional properties
|
|
48
|
+
eventData.putDouble("timestamp", timestampMs.toDouble())
|
|
49
|
+
|
|
50
|
+
return eventData
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
private fun getKeyString(): String {
|
|
54
|
+
return when {
|
|
55
|
+
unicodeChar != 0 && !Character.isISOControl(unicodeChar) -> unicodeChar.toChar().toString()
|
|
56
|
+
else -> KEY_NAME_MAP[keyCode] ?: UNIDENTIFIED
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
private fun getCodeString(): String {
|
|
61
|
+
return CODE_MAP[keyCode] ?: UNIDENTIFIED
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
internal companion object {
|
|
65
|
+
private const val UNIDENTIFIED = "Unidentified"
|
|
66
|
+
|
|
67
|
+
private val CODE_MAP: Map<Int, String> by
|
|
68
|
+
lazy(LazyThreadSafetyMode.PUBLICATION) {
|
|
69
|
+
mapOf(
|
|
70
|
+
// Letter keys
|
|
71
|
+
AndroidKeyEvent.KEYCODE_A to "KeyA",
|
|
72
|
+
AndroidKeyEvent.KEYCODE_B to "KeyB",
|
|
73
|
+
AndroidKeyEvent.KEYCODE_C to "KeyC",
|
|
74
|
+
AndroidKeyEvent.KEYCODE_D to "KeyD",
|
|
75
|
+
AndroidKeyEvent.KEYCODE_E to "KeyE",
|
|
76
|
+
AndroidKeyEvent.KEYCODE_F to "KeyF",
|
|
77
|
+
AndroidKeyEvent.KEYCODE_G to "KeyG",
|
|
78
|
+
AndroidKeyEvent.KEYCODE_H to "KeyH",
|
|
79
|
+
AndroidKeyEvent.KEYCODE_I to "KeyI",
|
|
80
|
+
AndroidKeyEvent.KEYCODE_J to "KeyJ",
|
|
81
|
+
AndroidKeyEvent.KEYCODE_K to "KeyK",
|
|
82
|
+
AndroidKeyEvent.KEYCODE_L to "KeyL",
|
|
83
|
+
AndroidKeyEvent.KEYCODE_M to "KeyM",
|
|
84
|
+
AndroidKeyEvent.KEYCODE_N to "KeyN",
|
|
85
|
+
AndroidKeyEvent.KEYCODE_O to "KeyO",
|
|
86
|
+
AndroidKeyEvent.KEYCODE_P to "KeyP",
|
|
87
|
+
AndroidKeyEvent.KEYCODE_Q to "KeyQ",
|
|
88
|
+
AndroidKeyEvent.KEYCODE_R to "KeyR",
|
|
89
|
+
AndroidKeyEvent.KEYCODE_S to "KeyS",
|
|
90
|
+
AndroidKeyEvent.KEYCODE_T to "KeyT",
|
|
91
|
+
AndroidKeyEvent.KEYCODE_U to "KeyU",
|
|
92
|
+
AndroidKeyEvent.KEYCODE_V to "KeyV",
|
|
93
|
+
AndroidKeyEvent.KEYCODE_W to "KeyW",
|
|
94
|
+
AndroidKeyEvent.KEYCODE_X to "KeyX",
|
|
95
|
+
AndroidKeyEvent.KEYCODE_Y to "KeyY",
|
|
96
|
+
AndroidKeyEvent.KEYCODE_Z to "KeyZ",
|
|
97
|
+
// Digit keys
|
|
98
|
+
AndroidKeyEvent.KEYCODE_0 to "Digit0",
|
|
99
|
+
AndroidKeyEvent.KEYCODE_1 to "Digit1",
|
|
100
|
+
AndroidKeyEvent.KEYCODE_2 to "Digit2",
|
|
101
|
+
AndroidKeyEvent.KEYCODE_3 to "Digit3",
|
|
102
|
+
AndroidKeyEvent.KEYCODE_4 to "Digit4",
|
|
103
|
+
AndroidKeyEvent.KEYCODE_5 to "Digit5",
|
|
104
|
+
AndroidKeyEvent.KEYCODE_6 to "Digit6",
|
|
105
|
+
AndroidKeyEvent.KEYCODE_7 to "Digit7",
|
|
106
|
+
AndroidKeyEvent.KEYCODE_8 to "Digit8",
|
|
107
|
+
AndroidKeyEvent.KEYCODE_9 to "Digit9",
|
|
108
|
+
// Special keys
|
|
109
|
+
AndroidKeyEvent.KEYCODE_ENTER to "Enter",
|
|
110
|
+
AndroidKeyEvent.KEYCODE_SPACE to "Space",
|
|
111
|
+
AndroidKeyEvent.KEYCODE_TAB to "Tab",
|
|
112
|
+
AndroidKeyEvent.KEYCODE_DEL to "Backspace",
|
|
113
|
+
AndroidKeyEvent.KEYCODE_ESCAPE to "Escape",
|
|
114
|
+
// Modifier keys
|
|
115
|
+
AndroidKeyEvent.KEYCODE_SHIFT_LEFT to "ShiftLeft",
|
|
116
|
+
AndroidKeyEvent.KEYCODE_SHIFT_RIGHT to "ShiftRight",
|
|
117
|
+
AndroidKeyEvent.KEYCODE_CTRL_LEFT to "ControlLeft",
|
|
118
|
+
AndroidKeyEvent.KEYCODE_CTRL_RIGHT to "ControlRight",
|
|
119
|
+
AndroidKeyEvent.KEYCODE_ALT_LEFT to "AltLeft",
|
|
120
|
+
AndroidKeyEvent.KEYCODE_ALT_RIGHT to "AltRight",
|
|
121
|
+
AndroidKeyEvent.KEYCODE_META_LEFT to "MetaLeft",
|
|
122
|
+
AndroidKeyEvent.KEYCODE_META_RIGHT to "MetaRight",
|
|
123
|
+
// Arrow keys
|
|
124
|
+
AndroidKeyEvent.KEYCODE_DPAD_UP to "ArrowUp",
|
|
125
|
+
AndroidKeyEvent.KEYCODE_DPAD_DOWN to "ArrowDown",
|
|
126
|
+
AndroidKeyEvent.KEYCODE_DPAD_LEFT to "ArrowLeft",
|
|
127
|
+
AndroidKeyEvent.KEYCODE_DPAD_RIGHT to "ArrowRight",
|
|
128
|
+
AndroidKeyEvent.KEYCODE_DPAD_CENTER to "Enter",
|
|
129
|
+
)
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
private val KEY_NAME_MAP: Map<Int, String> by
|
|
133
|
+
lazy(LazyThreadSafetyMode.PUBLICATION) {
|
|
134
|
+
mapOf(
|
|
135
|
+
AndroidKeyEvent.KEYCODE_ENTER to "Enter",
|
|
136
|
+
AndroidKeyEvent.KEYCODE_DPAD_CENTER to "Enter",
|
|
137
|
+
AndroidKeyEvent.KEYCODE_SPACE to " ",
|
|
138
|
+
AndroidKeyEvent.KEYCODE_TAB to "Tab",
|
|
139
|
+
AndroidKeyEvent.KEYCODE_DEL to "Backspace",
|
|
140
|
+
AndroidKeyEvent.KEYCODE_ESCAPE to "Escape",
|
|
141
|
+
AndroidKeyEvent.KEYCODE_SHIFT_LEFT to "Shift",
|
|
142
|
+
AndroidKeyEvent.KEYCODE_SHIFT_RIGHT to "Shift",
|
|
143
|
+
AndroidKeyEvent.KEYCODE_CTRL_LEFT to "Control",
|
|
144
|
+
AndroidKeyEvent.KEYCODE_CTRL_RIGHT to "Control",
|
|
145
|
+
AndroidKeyEvent.KEYCODE_ALT_LEFT to "Alt",
|
|
146
|
+
AndroidKeyEvent.KEYCODE_ALT_RIGHT to "Alt",
|
|
147
|
+
AndroidKeyEvent.KEYCODE_META_LEFT to "Meta",
|
|
148
|
+
AndroidKeyEvent.KEYCODE_META_RIGHT to "Meta",
|
|
149
|
+
AndroidKeyEvent.KEYCODE_DPAD_UP to "ArrowUp",
|
|
150
|
+
AndroidKeyEvent.KEYCODE_DPAD_DOWN to "ArrowDown",
|
|
151
|
+
AndroidKeyEvent.KEYCODE_DPAD_LEFT to "ArrowLeft",
|
|
152
|
+
AndroidKeyEvent.KEYCODE_DPAD_RIGHT to "ArrowRight",
|
|
153
|
+
)
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
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.events
|
|
9
|
+
|
|
10
|
+
import android.view.KeyEvent as AndroidKeyEvent
|
|
11
|
+
|
|
12
|
+
/** An event representing a key release (keyup). Corresponds to W3C KeyboardEvent specification. */
|
|
13
|
+
internal class KeyUpEvent(
|
|
14
|
+
surfaceId: Int,
|
|
15
|
+
viewTag: Int,
|
|
16
|
+
keyEvent: AndroidKeyEvent,
|
|
17
|
+
) : KeyEvent(surfaceId, viewTag, keyEvent) {
|
|
18
|
+
|
|
19
|
+
override fun getEventName(): String = EVENT_NAME
|
|
20
|
+
|
|
21
|
+
companion object {
|
|
22
|
+
private const val EVENT_NAME: String = "topKeyUp"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -29,7 +29,8 @@ internal class PointerEvent private constructor() : Event<PointerEvent>() {
|
|
|
29
29
|
private lateinit var _eventName: String
|
|
30
30
|
private var coalescingKey = UNSET_COALESCING_KEY
|
|
31
31
|
private var pointersEventData: List<WritableMap>? = null
|
|
32
|
-
private
|
|
32
|
+
private var eventState: PointerEventState? = null
|
|
33
|
+
private var activeHitPathViewIds: List<Int>? = null
|
|
33
34
|
|
|
34
35
|
private fun init(
|
|
35
36
|
eventName: String,
|
|
@@ -37,12 +38,14 @@ internal class PointerEvent private constructor() : Event<PointerEvent>() {
|
|
|
37
38
|
eventState: PointerEventState,
|
|
38
39
|
motionEventToCopy: MotionEvent,
|
|
39
40
|
coalescingKey: Short,
|
|
41
|
+
activeHitPathViewIds: List<Int>?,
|
|
40
42
|
) {
|
|
41
43
|
super.init(eventState.getSurfaceId(), targetTag, motionEventToCopy.eventTime)
|
|
42
44
|
this._eventName = eventName
|
|
43
45
|
this.motionEvent = MotionEvent.obtain(motionEventToCopy)
|
|
44
46
|
this.coalescingKey = coalescingKey
|
|
45
47
|
this.eventState = eventState
|
|
48
|
+
this.activeHitPathViewIds = activeHitPathViewIds
|
|
46
49
|
}
|
|
47
50
|
|
|
48
51
|
override fun getEventName(): String = _eventName
|
|
@@ -84,7 +87,7 @@ internal class PointerEvent private constructor() : Event<PointerEvent>() {
|
|
|
84
87
|
return@EventAnimationDriverMatchSpec false
|
|
85
88
|
}
|
|
86
89
|
if (isBubblingEvent(eventName)) {
|
|
87
|
-
for (viewTarget in eventState.hitPathForActivePointer) {
|
|
90
|
+
for (viewTarget in checkNotNull(eventState).hitPathForActivePointer) {
|
|
88
91
|
if (viewTarget.getViewId() == viewTag) {
|
|
89
92
|
return@EventAnimationDriverMatchSpec true
|
|
90
93
|
}
|
|
@@ -97,10 +100,10 @@ internal class PointerEvent private constructor() : Event<PointerEvent>() {
|
|
|
97
100
|
}
|
|
98
101
|
|
|
99
102
|
override fun onDispose() {
|
|
103
|
+
eventState = null
|
|
100
104
|
pointersEventData = null
|
|
101
|
-
val motionEvent = motionEvent
|
|
102
|
-
this.motionEvent = null
|
|
103
105
|
motionEvent?.recycle()
|
|
106
|
+
motionEvent = null
|
|
104
107
|
|
|
105
108
|
// Either `this` is in the event pool, or motionEvent
|
|
106
109
|
// is null. It is in theory not possible for a PointerEvent to
|
|
@@ -137,6 +140,7 @@ internal class PointerEvent private constructor() : Event<PointerEvent>() {
|
|
|
137
140
|
val pointerEvent = Arguments.createMap()
|
|
138
141
|
val motionEvent = checkNotNull(motionEvent)
|
|
139
142
|
val pointerId = motionEvent.getPointerId(index)
|
|
143
|
+
val eventState = checkNotNull(eventState)
|
|
140
144
|
|
|
141
145
|
// https://www.w3.org/TR/pointerevents/#pointerevent-interface
|
|
142
146
|
pointerEvent.putDouble("pointerId", pointerId.toDouble())
|
|
@@ -212,6 +216,13 @@ internal class PointerEvent private constructor() : Event<PointerEvent>() {
|
|
|
212
216
|
pointerEvent.putDouble("pressure", pressure)
|
|
213
217
|
pointerEvent.putDouble("tangentialPressure", 0.0)
|
|
214
218
|
|
|
219
|
+
if (activeHitPathViewIds != null) {
|
|
220
|
+
pointerEvent.putArray(
|
|
221
|
+
"hitPathForEventListener",
|
|
222
|
+
Arguments.makeNativeArray(activeHitPathViewIds),
|
|
223
|
+
)
|
|
224
|
+
}
|
|
225
|
+
|
|
215
226
|
addModifierKeyData(pointerEvent, motionEvent.metaState)
|
|
216
227
|
|
|
217
228
|
return pointerEvent
|
|
@@ -295,6 +306,9 @@ internal class PointerEvent private constructor() : Event<PointerEvent>() {
|
|
|
295
306
|
|
|
296
307
|
val hitPathForActivePointer: List<ViewTarget>
|
|
297
308
|
get() = checkNotNull(hitPathByPointerId[activePointerId])
|
|
309
|
+
|
|
310
|
+
val hitPathViewIdsForActivePointer: List<Int>
|
|
311
|
+
get() = checkNotNull(hitPathByPointerId[activePointerId]).map { it.getViewId() }
|
|
298
312
|
}
|
|
299
313
|
|
|
300
314
|
companion object {
|
|
@@ -309,6 +323,15 @@ internal class PointerEvent private constructor() : Event<PointerEvent>() {
|
|
|
309
323
|
targetTag: Int,
|
|
310
324
|
eventState: PointerEventState,
|
|
311
325
|
motionEventToCopy: MotionEvent?,
|
|
326
|
+
): PointerEvent = obtain(eventName, targetTag, eventState, motionEventToCopy, null)
|
|
327
|
+
|
|
328
|
+
@JvmStatic
|
|
329
|
+
fun obtain(
|
|
330
|
+
eventName: String,
|
|
331
|
+
targetTag: Int,
|
|
332
|
+
eventState: PointerEventState,
|
|
333
|
+
motionEventToCopy: MotionEvent?,
|
|
334
|
+
activeHitPathViewIds: List<Int>?,
|
|
312
335
|
): PointerEvent {
|
|
313
336
|
var event = EVENTS_POOL.acquire()
|
|
314
337
|
if (event == null) {
|
|
@@ -320,6 +343,7 @@ internal class PointerEvent private constructor() : Event<PointerEvent>() {
|
|
|
320
343
|
eventState,
|
|
321
344
|
Assertions.assertNotNull(motionEventToCopy),
|
|
322
345
|
0.toShort(),
|
|
346
|
+
activeHitPathViewIds,
|
|
323
347
|
)
|
|
324
348
|
return event
|
|
325
349
|
}
|
|
@@ -342,6 +366,7 @@ internal class PointerEvent private constructor() : Event<PointerEvent>() {
|
|
|
342
366
|
eventState,
|
|
343
367
|
Assertions.assertNotNull(motionEventToCopy),
|
|
344
368
|
coalescingKey,
|
|
369
|
+
null,
|
|
345
370
|
)
|
|
346
371
|
return event
|
|
347
372
|
}
|
|
@@ -372,15 +372,18 @@ public class ReactImageView(
|
|
|
372
372
|
public override fun hasOverlappingRendering(): Boolean = false
|
|
373
373
|
|
|
374
374
|
public override fun onDraw(canvas: Canvas) {
|
|
375
|
-
BackgroundStyleApplicator.
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
375
|
+
BackgroundStyleApplicator.clipToPaddingBoxWithAntiAliasing(this, canvas) {
|
|
376
|
+
try {
|
|
377
|
+
super.onDraw(canvas)
|
|
378
|
+
} catch (e: RuntimeException) {
|
|
379
|
+
// Only provide updates if downloadListener is set (shouldNotify is true)
|
|
380
|
+
if (downloadListener != null) {
|
|
381
|
+
val eventDispatcher =
|
|
382
|
+
UIManagerHelper.getEventDispatcherForReactTag(context as ReactContext, id)
|
|
383
|
+
eventDispatcher?.dispatchEvent(
|
|
384
|
+
createErrorEvent(UIManagerHelper.getSurfaceId(this), id, e)
|
|
385
|
+
)
|
|
386
|
+
}
|
|
384
387
|
}
|
|
385
388
|
}
|
|
386
389
|
}
|
|
@@ -646,7 +646,7 @@ public class ReactModalHostView(context: ThemedReactContext) :
|
|
|
646
646
|
|
|
647
647
|
override fun onInterceptHoverEvent(event: MotionEvent): Boolean {
|
|
648
648
|
eventDispatcher?.let { jSPointerDispatcher?.handleMotionEvent(event, it, true) }
|
|
649
|
-
return super.
|
|
649
|
+
return super.onInterceptHoverEvent(event)
|
|
650
650
|
}
|
|
651
651
|
|
|
652
652
|
override fun onHoverEvent(event: MotionEvent): Boolean {
|