react-native-tvos 0.77.1-0 → 0.78.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/animations/Animation.js +22 -1
- package/Libraries/Animated/animations/DecayAnimation.js +1 -0
- package/Libraries/Animated/animations/SpringAnimation.js +1 -0
- package/Libraries/Animated/animations/TimingAnimation.js +1 -0
- package/Libraries/Animated/nodes/AnimatedAddition.js +9 -2
- package/Libraries/Animated/nodes/AnimatedColor.js +4 -1
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +10 -2
- package/Libraries/Animated/nodes/AnimatedDivision.js +9 -2
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +5 -1
- package/Libraries/Animated/nodes/AnimatedModulo.js +5 -2
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +9 -2
- package/Libraries/Animated/nodes/AnimatedNode.js +25 -46
- package/Libraries/Animated/nodes/AnimatedObject.js +9 -2
- package/Libraries/Animated/nodes/AnimatedProps.js +5 -1
- package/Libraries/Animated/nodes/AnimatedStyle.js +5 -1
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +9 -2
- package/Libraries/Animated/nodes/AnimatedTracking.js +5 -1
- package/Libraries/Animated/nodes/AnimatedTransform.js +5 -1
- package/Libraries/Animated/nodes/AnimatedValue.js +63 -4
- package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -1
- package/Libraries/Animated/useAnimatedProps.js +14 -56
- package/Libraries/AppDelegate/RCTAppDelegate.h +6 -48
- package/Libraries/AppDelegate/RCTAppDelegate.mm +5 -230
- package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.h +21 -0
- package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +123 -0
- package/Libraries/AppDelegate/RCTReactNativeFactory.h +98 -0
- package/Libraries/AppDelegate/RCTReactNativeFactory.mm +266 -0
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +1 -1
- package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +0 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +3 -1
- package/Libraries/Components/LayoutConformance/LayoutConformance.d.ts +21 -0
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +59 -0
- package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +29 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
- package/Libraries/Components/TextInput/TextInput.d.ts +5 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +6 -0
- package/Libraries/Components/TextInput/TextInput.js +6 -0
- package/Libraries/Components/View/ViewPropTypes.d.ts +4 -5
- package/Libraries/Components/View/ViewPropTypes.js +0 -9
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/setUpBatchedBridge.js +1 -16
- package/Libraries/EventEmitter/RCTEventEmitter.js +2 -6
- package/Libraries/Image/AssetSourceResolver.js +11 -0
- package/Libraries/Image/RCTImageView.mm +3 -3
- package/Libraries/Inspector/BorderBox.js +26 -14
- package/Libraries/Inspector/BoxInspector.js +60 -42
- package/Libraries/Inspector/ElementBox.js +55 -48
- package/Libraries/Inspector/StyleInspector.js +36 -30
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
- package/Libraries/Lists/FlatList.d.ts +1 -1
- package/Libraries/Modal/Modal.js +2 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +1 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +0 -2
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +0 -2
- package/Libraries/Network/RCTNetworking.android.js +24 -16
- package/Libraries/Network/RCTNetworking.ios.js +1 -46
- package/Libraries/Network/RCTNetworking.js.flow +1 -46
- package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +57 -0
- package/Libraries/ReactNative/UIManagerProperties.js +3 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +15829 -26461
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +3907 -2560
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4399 -2878
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +16103 -26908
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +4034 -2695
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4535 -3045
- package/Libraries/Renderer/shims/ReactNativeTypes.js +5 -6
- package/Libraries/StyleSheet/processTransform.js +6 -0
- package/Libraries/Text/Text/NSTextStorage+FontScaling.m +9 -0
- package/Libraries/Text/Text.d.ts +6 -1
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +2 -0
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +26 -0
- package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +2 -0
- package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +25 -0
- package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +2 -0
- package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +1 -0
- package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +26 -0
- package/Libraries/Text/TextProps.js +2 -2
- package/Libraries/Utilities/BackHandler.android.js +5 -4
- package/Libraries/Utilities/BackHandler.ios.js +3 -4
- package/README-core.md +2 -2
- package/React/Base/RCTVersion.m +2 -2
- package/React/CoreModules/RCTDevSettings.h +0 -1
- package/React/CoreModules/RCTDeviceInfo.mm +4 -0
- package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +3 -5
- package/React/DevSupport/RCTInspectorDevServerHelper.mm +1 -6
- package/React/DevSupport/RCTPausedInDebuggerOverlayController.mm +3 -5
- package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +0 -24
- package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +0 -28
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +90 -57
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +241 -104
- package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryContentView.mm +0 -5
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +39 -10
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +3 -3
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +22 -3
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +5 -0
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +1 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +7 -2
- package/React/Fabric/Mounting/RCTComponentViewFactory.mm +3 -0
- package/React/Fabric/Mounting/RCTMountingManager.mm +6 -9
- package/React/Fabric/RCTScheduler.mm +1 -1
- package/React/I18n/strings/da.lproj/fbt_language_pack.bin +0 -0
- package/React/Modules/RCTUIManager.mm +1 -2
- package/React/React-RCTFBReactNativeSpec.podspec +1 -0
- package/React/React-RCTFabric.podspec +3 -2
- package/React/Tests/Text/RCTParagraphComponentViewTests.mm +12 -12
- package/React/Views/RCTComponentData.mm +1 -5
- package/React/Views/RCTLayout.m +3 -0
- package/React/Views/RCTShadowView.h +3 -3
- package/React/Views/RCTShadowView.m +52 -20
- package/React/Views/RCTView.m +6 -2
- package/React/Views/RCTViewManager.m +0 -7
- package/React/Views/ScrollView/RCTScrollView.m +46 -19
- package/React-Core.podspec +1 -1
- package/ReactAndroid/api/ReactAndroid.api +120 -227
- package/ReactAndroid/build.gradle.kts +8 -13
- package/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp +2 -0
- package/ReactAndroid/external-artifacts/build.gradle.kts +5 -5
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/{HermesMemoryDumper.java → HermesMemoryDumper.kt} +5 -5
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/{HermesSamplingProfiler.java → HermesSamplingProfiler.kt} +8 -10
- package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +12 -59
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +12 -1
- package/ReactAndroid/src/main/java/com/facebook/react/{ReactPackageLogger.java → ReactPackageLogger.kt} +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +8 -8
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.kt +5 -3
- package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.kt +4 -8
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +11 -5
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +0 -7
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +11 -23
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +3 -30
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/HMRClient.java +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +21 -26
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +1 -14
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.java +2 -11
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +88 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +6 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +24 -0
- package/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +21 -21
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +36 -36
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +8 -8
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +10 -10
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +40 -40
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +8 -8
- package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.kt +55 -0
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.kt +185 -0
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/{HeadlessJsTaskEventListener.java → HeadlessJsTaskEventListener.kt} +5 -6
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskRetryPolicy.kt +20 -0
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/LinearCountingRetryPolicy.kt +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/NoRetryPolicy.kt +7 -8
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +8 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +11 -17
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/CookieJarContainer.kt +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.kt +107 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +18 -19
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ReactCookieJarContainer.kt +48 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +397 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +0 -10
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +8 -8
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt +4 -10
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +13 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +15 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ComponentNameResolver.java → ComponentNameResolver.kt} +4 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.kt +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +0 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.kt +21 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactPointerEventsView.kt +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{RootView.java → RootView.kt} +11 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{UIBlock.java → UIBlock.kt} +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +2 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +1 -1
- package/{Libraries/AppDelegate/RCTAppDelegate+Protected.h → ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerWithGeneratedInterface.kt} +3 -8
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +12 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundDrawable.kt +46 -80
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +8 -9
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/{BatchEventDispatchedListener.java → BatchEventDispatchedListener.kt} +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.kt +46 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.kt +40 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +2 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherListener.kt +19 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherProvider.kt +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +241 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.kt +193 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +44 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +37 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.kt +130 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventCoalescingKeyHelper.kt +77 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +196 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +16 -17
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +34 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +11 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/{FpsListener.java → FpsListener.kt} +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.kt +136 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt +152 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +52 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +1 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +8 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ShadowStyleSpan.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +1 -9
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +111 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +90 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +22 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +43 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +86 -2
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +44 -2
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.java +7 -1
- package/ReactAndroid/src/main/jni/CMakeLists.txt +5 -6
- package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +6 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +96 -11
- package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.cpp +9 -0
- package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.h +1 -0
- package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +0 -3
- package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +3 -0
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +41 -25
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +0 -2
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +63 -91
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +1 -7
- package/ReactAndroid/src/main/jni/react/fabric/MountItem.cpp +9 -9
- package/ReactAndroid/src/main/jni/react/fabric/MountItem.h +6 -10
- package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +0 -2
- package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +4 -0
- package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +1 -0
- package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +0 -1
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +49 -49
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +11 -11
- package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +1 -4
- package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +0 -1
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +0 -1
- package/ReactAndroid/src/main/jni/react/jni/JSLogging.cpp +4 -9
- package/ReactAndroid/src/main/jni/react/jni/JSLogging.h +0 -4
- package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.cpp +3 -4
- package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.cpp +3 -4
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.cpp +6 -0
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.h +1 -0
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.cpp +6 -0
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.h +1 -0
- package/ReactAndroid/src/main/jni/react/jscexecutor/OnLoad.cpp +3 -7
- package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +0 -2
- package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +0 -1
- package/ReactAndroid/src/main/jni/react/reactperflogger/CMakeLists.txt +0 -1
- package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.cpp +2 -8
- package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.h +2 -8
- package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +0 -1
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.cpp +18 -17
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.h +1 -1
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +0 -2
- package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +0 -1
- package/ReactAndroid/src/main/res/views/view/values/ids.xml +5 -0
- package/ReactCommon/React-Fabric.podspec +8 -0
- package/ReactCommon/React-FabricComponents.podspec +2 -2
- package/ReactCommon/React-FabricImage.podspec +4 -1
- package/ReactCommon/cxxreact/CxxNativeModule.cpp +3 -3
- package/ReactCommon/cxxreact/Instance.cpp +6 -6
- package/ReactCommon/cxxreact/JSBigString.cpp +1 -1
- package/ReactCommon/cxxreact/JSExecutor.cpp +4 -2
- package/ReactCommon/cxxreact/ModuleRegistry.cpp +6 -6
- package/ReactCommon/cxxreact/NativeToJsBridge.cpp +3 -3
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/cxxreact/SystraceSection.h +8 -141
- package/ReactCommon/cxxreact/TraceSection.h +181 -0
- package/ReactCommon/cxxreact/tests/jsbigstring.cpp +19 -0
- package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +2 -2
- package/ReactCommon/jsc/JSCRuntime.cpp +0 -2
- package/ReactCommon/jsc/React-jsc.podspec +1 -1
- package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +27 -19
- package/ReactCommon/jserrorhandler/JsErrorHandler.h +5 -3
- package/ReactCommon/jserrorhandler/StackTraceParser.cpp +16 -16
- package/ReactCommon/jserrorhandler/StackTraceParser.h +1 -1
- package/ReactCommon/jserrorhandler/tests/StackTraceParserTest.cpp +252 -246
- package/ReactCommon/jsi/jsi/CMakeLists.txt +0 -3
- package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -1
- package/ReactCommon/jsi/jsi/JSIDynamic.h +1 -1
- package/ReactCommon/jsi/jsi/decorator.h +61 -0
- package/ReactCommon/jsi/jsi/jsi-inl.h +4 -0
- package/ReactCommon/jsi/jsi/jsi.cpp +37 -0
- package/ReactCommon/jsi/jsi/jsi.h +81 -0
- package/ReactCommon/jsi/jsi/test/testlib.cpp +88 -0
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +9 -9
- package/ReactCommon/jsinspector-modern/CMakeLists.txt +1 -1
- package/ReactCommon/jsinspector-modern/HostAgent.cpp +3 -7
- package/ReactCommon/jsinspector-modern/HostTarget.cpp +22 -1
- package/ReactCommon/jsinspector-modern/HostTarget.h +1 -1
- package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +19 -4
- package/ReactCommon/jsinspector-modern/InspectorFlags.h +14 -0
- package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +21 -10
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +12 -11
- package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +2 -16
- package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +14 -14
- package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.h +7 -13
- package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestGenericEngineAdapter.cpp +1 -1
- package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestHermesEngineAdapter.cpp +1 -3
- package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.cpp +3 -3
- package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.h +1 -1
- package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +26 -0
- package/ReactCommon/jsinspector-modern/tracing/CdpTracing.h +21 -0
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +187 -0
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +126 -0
- package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +56 -0
- package/ReactCommon/react/featureflags/CMakeLists.txt +3 -0
- package/ReactCommon/react/featureflags/React-featureflags.podspec +7 -0
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +15 -15
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +18 -18
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +88 -88
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +9 -9
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +17 -17
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +454 -0
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +5 -5
- package/ReactCommon/react/featureflags/tests/ReactNativeFeatureFlagsDynamicProviderTest.cpp +78 -0
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +2 -3
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +3 -3
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +1 -5
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +13 -23
- package/ReactCommon/react/nativemodule/cputime/CPUTime.h +55 -0
- package/ReactCommon/react/nativemodule/cputime/NativeCPUTime.cpp +35 -0
- package/ReactCommon/react/nativemodule/cputime/NativeCPUTime.h +28 -0
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +18 -18
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +8 -8
- package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +1 -0
- package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.cpp +5 -8
- package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +3 -3
- package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +22 -43
- package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +0 -15
- package/ReactCommon/react/performance/timeline/CMakeLists.txt +1 -0
- package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +22 -2
- package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +9 -4
- package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
- package/ReactCommon/react/renderer/animations/CMakeLists.txt +0 -1
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +1 -1
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +25 -19
- package/ReactCommon/react/renderer/animations/primitives.h +1 -1
- package/ReactCommon/react/renderer/animations/utils.h +3 -4
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +31 -9
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +81 -31
- package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +0 -1
- package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.cpp +4 -1
- package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +2 -0
- package/ReactCommon/react/renderer/components/image/ImageEventEmitter.cpp +2 -2
- package/ReactCommon/react/renderer/components/image/ImageProps.cpp +5 -5
- package/ReactCommon/react/renderer/components/image/ImageProps.h +1 -1
- package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +38 -10
- package/ReactCommon/react/renderer/components/image/ImageShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/image/ImageState.cpp +2 -3
- package/ReactCommon/react/renderer/components/image/ImageState.h +9 -6
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarComponentDescriptor.h +0 -4
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.h +7 -0
- package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +2 -2
- package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +2 -2
- package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +33 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +17 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +3 -2
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +2 -1
- package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchComponentDescriptor.h +0 -4
- package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.h +7 -0
- package/ReactCommon/react/renderer/{uimanager/bindingUtils.h → components/text/ParagraphComponentDescriptor.cpp} +2 -8
- package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +10 -7
- package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +23 -0
- package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h +8 -1
- package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +243 -0
- package/ReactCommon/react/renderer/components/textinput/TextInputState.cpp +71 -0
- package/ReactCommon/react/renderer/components/textinput/{platform/ios/react/renderer/components/iostextinput/TextInputState.h → TextInputState.h} +27 -7
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +6 -13
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.h +0 -2
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +145 -144
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +27 -29
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputComponentDescriptor.h +4 -5
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.cpp +0 -26
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.h +0 -6
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.cpp +0 -147
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +5 -57
- package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +60 -70
- package/ReactCommon/react/renderer/components/view/BaseViewProps.h +3 -3
- package/ReactCommon/react/renderer/components/view/LayoutConformanceComponentDescriptor.h +18 -0
- package/ReactCommon/react/renderer/components/view/LayoutConformanceProps.h +36 -0
- package/ReactCommon/react/renderer/components/view/LayoutConformanceShadowNode.h +28 -0
- package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +4 -0
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +0 -1
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +21 -22
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +3 -1
- package/ReactCommon/react/renderer/components/view/conversions.h +117 -43
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +3 -2
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +3 -1
- package/ReactCommon/react/renderer/components/view/primitives.h +1 -1
- package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +12 -12
- package/ReactCommon/react/renderer/core/CMakeLists.txt +0 -1
- package/ReactCommon/react/renderer/core/ComponentDescriptor.cpp +4 -2
- package/ReactCommon/react/renderer/core/ComponentDescriptor.h +4 -2
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +17 -2
- package/ReactCommon/react/renderer/core/DynamicPropsUtilities.cpp +26 -0
- package/ReactCommon/react/renderer/core/DynamicPropsUtilities.h +4 -0
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +3 -3
- package/ReactCommon/react/renderer/core/Props.cpp +16 -5
- package/ReactCommon/react/renderer/core/Props.h +11 -4
- package/ReactCommon/react/renderer/core/RawProps.cpp +30 -5
- package/ReactCommon/react/renderer/core/RawProps.h +10 -1
- package/ReactCommon/react/renderer/core/RawPropsParser.cpp +7 -2
- package/ReactCommon/react/renderer/core/RawPropsParser.h +7 -1
- package/ReactCommon/react/renderer/core/RawPropsPrimitives.h +1 -0
- package/ReactCommon/react/renderer/core/RawValue.h +315 -22
- package/ReactCommon/react/renderer/core/tests/DynamicPropsUtilitiesTest.cpp +95 -4
- package/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h +19 -4
- package/ReactCommon/react/renderer/graphics/CMakeLists.txt +7 -1
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +7 -5
- package/ReactCommon/react/renderer/graphics/Transform.cpp +11 -2
- package/ReactCommon/react/renderer/graphics/Transform.h +2 -1
- package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +4 -2
- package/ReactCommon/react/renderer/imagemanager/ImageManager.h +7 -0
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +43 -0
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h +36 -0
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +43 -0
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +94 -0
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +101 -0
- package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageManager.cpp +9 -1
- package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequestParams.h +30 -0
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageManager.mm +9 -0
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageRequestParams.h +30 -0
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImageManager.mm +2 -2
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +187 -152
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +4 -5
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +10 -16
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -12
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +44 -14
- package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +8 -4
- package/ReactCommon/react/renderer/mounting/stubs/stubs.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +116 -193
- package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +0 -3
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +7 -4
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +2 -1
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +7 -8
- package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +6 -6
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +3 -1
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +2 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +11 -11
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +14 -15
- package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +4 -3
- package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +0 -1
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +6 -37
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +0 -3
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +15 -11
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +1 -0
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +56 -2
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.h +23 -3
- package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +1 -2
- package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManager.cpp +26 -0
- package/ReactCommon/react/renderer/textlayoutmanager/{platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h → TextLayoutManager.h} +18 -17
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +77 -89
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +6 -10
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +6 -2
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +23 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +11 -32
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +9 -23
- package/ReactCommon/react/renderer/uimanager/AppRegistryBinding.cpp +88 -0
- package/ReactCommon/react/renderer/uimanager/AppRegistryBinding.h +50 -0
- package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +0 -1
- package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.h +3 -40
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +23 -18
- package/ReactCommon/react/renderer/uimanager/UIManager.h +2 -0
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +2 -31
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +0 -4
- package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +10 -10
- package/ReactCommon/react/runtime/CMakeLists.txt +0 -1
- package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -2
- package/ReactCommon/react/runtime/ReactInstance.cpp +43 -57
- package/ReactCommon/react/runtime/TimerManager.cpp +4 -4
- package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +5 -1
- package/ReactCommon/react/runtime/hermes/HermesInstance.h +0 -2
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.h +2 -6
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.mm +6 -15
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +3 -1
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +15 -15
- package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +5 -4
- package/ReactCommon/react/test_utils/shadowTreeGeneration.h +0 -3
- package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.cpp +33 -17
- package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.h +8 -2
- package/ReactCommon/reactperflogger/reactperflogger/{ReactPerfLogger.cpp → ReactPerfettoLogger.cpp} +25 -24
- package/ReactCommon/reactperflogger/reactperflogger/{ReactPerfLogger.h → ReactPerfettoLogger.h} +9 -9
- package/ReactCommon/yoga/yoga/YGEnums.cpp +6 -0
- package/ReactCommon/yoga/yoga/YGEnums.h +4 -1
- package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +124 -24
- package/ReactCommon/yoga/yoga/YGNodeStyle.h +22 -1
- package/ReactCommon/yoga/yoga/YGValue.h +3 -0
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +6 -6
- package/ReactCommon/yoga/yoga/algorithm/FlexLine.cpp +2 -2
- package/ReactCommon/yoga/yoga/algorithm/FlexLine.h +1 -1
- package/ReactCommon/yoga/yoga/algorithm/PixelGrid.cpp +9 -6
- package/ReactCommon/yoga/yoga/enums/Unit.h +4 -1
- package/ReactCommon/yoga/yoga/node/Node.cpp +8 -8
- package/ReactCommon/yoga/yoga/node/Node.h +5 -5
- package/ReactCommon/yoga/yoga/style/Style.h +14 -12
- package/ReactCommon/yoga/yoga/style/StyleLength.h +14 -7
- package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +139 -0
- package/ReactCommon/yoga/yoga/style/StyleValueHandle.h +8 -0
- package/ReactCommon/yoga/yoga/style/StyleValuePool.h +60 -3
- package/gradle/libs.versions.toml +6 -2
- package/index.js +5 -0
- package/package.json +12 -13
- package/react-native.config.js +6 -0
- package/scripts/cocoapods/codegen_utils.rb +4 -4
- package/scripts/cocoapods/new_architecture.rb +3 -3
- package/scripts/cocoapods/utils.rb +4 -3
- package/scripts/codegen/generate-artifacts-executor.js +8 -4
- package/scripts/generate-codegen-artifacts.js +6 -1
- package/scripts/react-native-xcode.sh +1 -1
- package/scripts/react_native_pods.rb +3 -3
- package/scripts/xcode/ccache-clang++.sh +1 -1
- package/scripts/xcode/ccache-clang.sh +1 -1
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/utils/build-hermes-xcode.sh +1 -1
- package/sdks/hermesc/linux64-bin/hermesc +0 -0
- package/sdks/hermesc/osx-bin/hermes +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/src/private/animated/NativeAnimatedValidation.js +1 -1
- package/src/private/featureflags/README.md +5 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +33 -27
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +5 -5
- package/src/private/renderer/errorhandling/ErrorHandlers.js +12 -55
- package/src/private/specs/modules/{NativeJSCSamplingProfiler.js → NativeCPUTime.js} +7 -2
- package/src/private/specs/modules/NativeFantom.js +37 -0
- package/src/private/utilities/ensureInstance.js +21 -0
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +49 -6
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +17 -9
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +11 -11
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +1 -1
- package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +1 -1
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
- package/src/private/webapis/performance/Performance.js +0 -12
- package/src/private/webapis/performance/specs/NativePerformance.js +0 -11
- package/types/index.d.ts +1 -0
- package/types/public/ReactNativeTVTypes.d.ts +49 -51
- package/Libraries/HeapCapture/HeapCapture.js +0 -29
- package/Libraries/HeapCapture/NativeJSCHeapCapture.js +0 -13
- package/Libraries/Performance/NativeJSCSamplingProfiler.js +0 -13
- package/Libraries/Performance/SamplingProfiler.js +0 -39
- package/Libraries/ReactNative/__mocks__/FabricUIManager.js +0 -334
- package/React/Inspector/RCTInspectorPackagerConnection.m +0 -325
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedResultAsyncTask.java +0 -50
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorPackagerConnection.java +0 -314
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSCHeapCapture.java +0 -76
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/EmptyReactNativeConfig.kt +0 -36
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/GuardedFrameCallback.kt +0 -33
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/ReactNativeConfig.kt +0 -54
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +0 -83
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.java +0 -121
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +0 -214
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskRetryPolicy.java +0 -22
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/XmlFormat.kt +0 -143
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/CookieJarContainer.java +0 -17
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +0 -124
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ReactCookieJarContainer.java +0 -58
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java +0 -422
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FabricViewStateManager.java +0 -98
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactPointerEventsView.java +0 -20
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.java +0 -45
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.java +0 -37
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherListener.java +0 -19
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherProvider.java +0 -24
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +0 -257
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.java +0 -210
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +0 -43
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +0 -39
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +0 -165
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventCoalescingKeyHelper.java +0 -85
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +0 -204
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.java +0 -161
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java +0 -232
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.java +0 -70
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/LegacyLineHeightSpan.kt +0 -69
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.java +0 -114
- package/ReactAndroid/src/main/jni/first-party/fb/CMakeLists.txt +0 -31
- package/ReactAndroid/src/main/jni/first-party/fb/assert.cpp +0 -39
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ALog.h +0 -82
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Build.h +0 -31
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Countable.h +0 -45
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Doxyfile +0 -18
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Environment.h +0 -93
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ProgramLocation.h +0 -58
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/RefPtr.h +0 -266
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/StaticInitialized.h +0 -37
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ThreadLocal.h +0 -112
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/assert.h +0 -43
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/log.h +0 -350
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/noncopyable.h +0 -20
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/nonmovable.h +0 -20
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/visibility.h +0 -10
- package/ReactAndroid/src/main/jni/first-party/fb/log.cpp +0 -102
- package/ReactAndroid/src/main/jni/react/fabric/JEmptyReactNativeConfig.cpp +0 -47
- package/ReactAndroid/src/main/jni/react/fabric/JEmptyReactNativeConfig.h +0 -38
- package/ReactAndroid/src/main/jni/react/fabric/ReactNativeConfigHolder.cpp +0 -41
- package/ReactAndroid/src/main/jni/react/fabric/ReactNativeConfigHolder.h +0 -35
- package/ReactAndroid/src/main/jni/react/perftests/OnLoad.cpp +0 -243
- package/ReactAndroid/src/main/jni/third-party/jsc/CMakeLists.txt +0 -15
- package/ReactCommon/React-nativeconfig.podspec +0 -36
- package/ReactCommon/cxxreact/tests/main.cpp +0 -15
- package/ReactCommon/react/config/CMakeLists.txt +0 -20
- package/ReactCommon/react/config/ReactNativeConfig.cpp +0 -28
- package/ReactCommon/react/config/ReactNativeConfig.h +0 -42
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputState.cpp +0 -95
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputState.h +0 -80
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputState.cpp +0 -10
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +0 -78
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +0 -69
- package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.cpp +0 -123
- package/ReactCommon/react/renderer/uimanager/bindingUtils.cpp +0 -79
- package/src/private/webapis/dom/nodes/specs/__mocks__/NativeDOMMock.js +0 -413
- package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +0 -181
- package/src/private/webapis/mutationobserver/specs/__mocks__/NativeMutationObserver.js +0 -327
- /package/ReactCommon/react/renderer/components/scrollview/{AndroidHorizontalScrollContentViewComponentDescriptor.h → platform/android/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewComponentDescriptor.h} +0 -0
- /package/ReactCommon/react/renderer/components/scrollview/{AndroidHorizontalScrollContentViewShadowNode.cpp → platform/android/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewShadowNode.cpp} +0 -0
- /package/ReactCommon/react/renderer/components/scrollview/{AndroidHorizontalScrollContentViewShadowNode.h → platform/android/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewShadowNode.h} +0 -0
package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java
DELETED
|
@@ -1,165 +0,0 @@
|
|
|
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 static com.facebook.react.uimanager.events.TouchesHelper.TARGET_KEY;
|
|
11
|
-
|
|
12
|
-
import androidx.annotation.Nullable;
|
|
13
|
-
import com.facebook.infer.annotation.Assertions;
|
|
14
|
-
import com.facebook.react.bridge.ReactApplicationContext;
|
|
15
|
-
import com.facebook.react.bridge.ReactNoCrashSoftException;
|
|
16
|
-
import com.facebook.react.bridge.ReactSoftExceptionLogger;
|
|
17
|
-
import com.facebook.react.bridge.WritableArray;
|
|
18
|
-
import com.facebook.react.bridge.WritableMap;
|
|
19
|
-
import com.facebook.react.uimanager.common.UIManagerType;
|
|
20
|
-
import com.facebook.react.uimanager.common.ViewUtil;
|
|
21
|
-
|
|
22
|
-
class ReactEventEmitter implements RCTModernEventEmitter {
|
|
23
|
-
|
|
24
|
-
private static final String TAG = "ReactEventEmitter";
|
|
25
|
-
|
|
26
|
-
/** Corresponds to {@link com.facebook.react.fabric.events.FabricEventEmitter} */
|
|
27
|
-
@Nullable private RCTModernEventEmitter mFabricEventEmitter = null;
|
|
28
|
-
|
|
29
|
-
/** Corresponds to (Paper) EventEmitter, which is a JS interface */
|
|
30
|
-
@Nullable private RCTEventEmitter mDefaultEventEmitter = null;
|
|
31
|
-
|
|
32
|
-
private final ReactApplicationContext mReactContext;
|
|
33
|
-
|
|
34
|
-
public ReactEventEmitter(ReactApplicationContext reactContext) {
|
|
35
|
-
mReactContext = reactContext;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
public void register(@UIManagerType int uiManagerType, RCTModernEventEmitter eventEmitter) {
|
|
39
|
-
assert uiManagerType == UIManagerType.FABRIC;
|
|
40
|
-
mFabricEventEmitter = eventEmitter;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
public void register(@UIManagerType int uiManagerType, RCTEventEmitter eventEmitter) {
|
|
44
|
-
assert uiManagerType == UIManagerType.DEFAULT;
|
|
45
|
-
mDefaultEventEmitter = eventEmitter;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
public void unregister(@UIManagerType int uiManagerType) {
|
|
49
|
-
if (uiManagerType == UIManagerType.DEFAULT) {
|
|
50
|
-
mDefaultEventEmitter = null;
|
|
51
|
-
} else {
|
|
52
|
-
mFabricEventEmitter = null;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
@Override
|
|
57
|
-
public void receiveEvent(int targetReactTag, String eventName, @Nullable WritableMap event) {
|
|
58
|
-
receiveEvent(-1, targetReactTag, eventName, event);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
@Override
|
|
62
|
-
public void receiveEvent(
|
|
63
|
-
int surfaceId, int targetTag, String eventName, @Nullable WritableMap event) {
|
|
64
|
-
// We assume this event can't be coalesced. `customCoalesceKey` has no meaning in Fabric.
|
|
65
|
-
receiveEvent(surfaceId, targetTag, eventName, false, 0, event, EventCategoryDef.UNSPECIFIED);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
@Override
|
|
69
|
-
public void receiveTouches(
|
|
70
|
-
String eventName, WritableArray touches, WritableArray changedIndices) {
|
|
71
|
-
/*
|
|
72
|
-
* This method should be unused by default processing pipeline, but leaving it here to make sure
|
|
73
|
-
* that any custom code using it in legacy renderer is compatible
|
|
74
|
-
*/
|
|
75
|
-
Assertions.assertCondition(touches.size() > 0);
|
|
76
|
-
|
|
77
|
-
int reactTag = touches.getMap(0).getInt(TARGET_KEY);
|
|
78
|
-
@UIManagerType int uiManagerType = ViewUtil.getUIManagerType(reactTag);
|
|
79
|
-
if (uiManagerType == UIManagerType.DEFAULT && getDefaultEventEmitter() != null) {
|
|
80
|
-
mDefaultEventEmitter.receiveTouches(eventName, touches, changedIndices);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
@Override
|
|
85
|
-
public void receiveTouches(TouchEvent event) {
|
|
86
|
-
int reactTag = event.getViewTag();
|
|
87
|
-
@UIManagerType
|
|
88
|
-
int uiManagerType = ViewUtil.getUIManagerType(event.getViewTag(), event.getSurfaceId());
|
|
89
|
-
if (uiManagerType == UIManagerType.FABRIC && mFabricEventEmitter != null) {
|
|
90
|
-
TouchesHelper.sendTouchEvent(mFabricEventEmitter, event);
|
|
91
|
-
} else if (uiManagerType == UIManagerType.DEFAULT && getDefaultEventEmitter() != null) {
|
|
92
|
-
TouchesHelper.sendTouchesLegacy(mDefaultEventEmitter, event);
|
|
93
|
-
} else {
|
|
94
|
-
ReactSoftExceptionLogger.logSoftException(
|
|
95
|
-
TAG,
|
|
96
|
-
new ReactNoCrashSoftException(
|
|
97
|
-
"Cannot find EventEmitter for receivedTouches: ReactTag["
|
|
98
|
-
+ reactTag
|
|
99
|
-
+ "] UIManagerType["
|
|
100
|
-
+ uiManagerType
|
|
101
|
-
+ "] EventName["
|
|
102
|
-
+ event.getEventName()
|
|
103
|
-
+ "]"));
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Get default/Paper event emitter. Callers should have verified that this is not an event for a
|
|
109
|
-
* View managed by Fabric
|
|
110
|
-
*/
|
|
111
|
-
@Nullable
|
|
112
|
-
private RCTEventEmitter getDefaultEventEmitter() {
|
|
113
|
-
if (mDefaultEventEmitter == null) {
|
|
114
|
-
if (mReactContext.hasActiveReactInstance()) {
|
|
115
|
-
mDefaultEventEmitter = mReactContext.getJSModule(RCTEventEmitter.class);
|
|
116
|
-
} else {
|
|
117
|
-
ReactSoftExceptionLogger.logSoftException(
|
|
118
|
-
TAG,
|
|
119
|
-
new ReactNoCrashSoftException(
|
|
120
|
-
"Cannot get RCTEventEmitter from Context, no active Catalyst instance!"));
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
return mDefaultEventEmitter;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
@Override
|
|
127
|
-
public void receiveEvent(
|
|
128
|
-
int surfaceId,
|
|
129
|
-
int targetReactTag,
|
|
130
|
-
String eventName,
|
|
131
|
-
boolean canCoalesceEvent,
|
|
132
|
-
int customCoalesceKey,
|
|
133
|
-
@Nullable WritableMap event,
|
|
134
|
-
@EventCategoryDef int category) {
|
|
135
|
-
@UIManagerType int uiManagerType = ViewUtil.getUIManagerType(targetReactTag, surfaceId);
|
|
136
|
-
if (uiManagerType == UIManagerType.FABRIC && mFabricEventEmitter != null) {
|
|
137
|
-
mFabricEventEmitter.receiveEvent(
|
|
138
|
-
surfaceId,
|
|
139
|
-
targetReactTag,
|
|
140
|
-
eventName,
|
|
141
|
-
canCoalesceEvent,
|
|
142
|
-
customCoalesceKey,
|
|
143
|
-
event,
|
|
144
|
-
category);
|
|
145
|
-
} else if (uiManagerType == UIManagerType.DEFAULT) {
|
|
146
|
-
RCTEventEmitter defaultEmitter = getDefaultEventEmitter();
|
|
147
|
-
if (defaultEmitter != null) {
|
|
148
|
-
defaultEmitter.receiveEvent(targetReactTag, eventName, event);
|
|
149
|
-
}
|
|
150
|
-
} else {
|
|
151
|
-
ReactSoftExceptionLogger.logSoftException(
|
|
152
|
-
TAG,
|
|
153
|
-
new ReactNoCrashSoftException(
|
|
154
|
-
"Cannot find EventEmitter for receiveEvent: SurfaceId["
|
|
155
|
-
+ surfaceId
|
|
156
|
-
+ "] ReactTag["
|
|
157
|
-
+ targetReactTag
|
|
158
|
-
+ "] UIManagerType["
|
|
159
|
-
+ uiManagerType
|
|
160
|
-
+ "] EventName["
|
|
161
|
-
+ eventName
|
|
162
|
-
+ "]"));
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
}
|
|
@@ -1,85 +0,0 @@
|
|
|
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.util.SparseIntArray;
|
|
11
|
-
import com.facebook.infer.annotation.Nullsafe;
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Utility for determining coalescing keys for TouchEvents. To preserve proper ordering of events,
|
|
15
|
-
* move events should only be coalesced if there has been no up/down event between them (this
|
|
16
|
-
* basically only applies to multitouch since for single touches an up would signal the end of the
|
|
17
|
-
* gesture). To illustrate to kind of coalescing we want, imagine we are coalescing the following
|
|
18
|
-
* touch stream:
|
|
19
|
-
*
|
|
20
|
-
* <p>(U = finger up, D = finger down, M = move) D MMMMM D MMMMMMMMMMMMMM U MMMMM D MMMMMM U U
|
|
21
|
-
*
|
|
22
|
-
* <p>We want to make sure to coalesce this as
|
|
23
|
-
*
|
|
24
|
-
* <p>D M D M U M D U U
|
|
25
|
-
*
|
|
26
|
-
* <p>and *not*
|
|
27
|
-
*
|
|
28
|
-
* <p>D D U M D U U
|
|
29
|
-
*
|
|
30
|
-
* <p>To accomplish this, this class provides a way to initialize a coalescing key for a gesture and
|
|
31
|
-
* then increment it for every pointer up/down that occurs during that single gesture.
|
|
32
|
-
*
|
|
33
|
-
* <p>We identify a single gesture based on {@link android.view.MotionEvent#getDownTime()} which
|
|
34
|
-
* will stay constant for a given set of related touches on a single view.
|
|
35
|
-
*
|
|
36
|
-
* <p>NB: even though down time is a long, we cast as an int using the least significant bits as the
|
|
37
|
-
* identifier. In practice, we will not be coalescing over a time range where the most significant
|
|
38
|
-
* bits of that time range matter. This would require a gesture that lasts Integer.MAX_VALUE * 2 ms,
|
|
39
|
-
* or ~48 days.
|
|
40
|
-
*
|
|
41
|
-
* <p>NB: we assume two gestures cannot begin at the same time.
|
|
42
|
-
*
|
|
43
|
-
* <p>NB: this class should only be used from the UI thread.
|
|
44
|
-
*/
|
|
45
|
-
@Nullsafe(Nullsafe.Mode.LOCAL)
|
|
46
|
-
public class TouchEventCoalescingKeyHelper {
|
|
47
|
-
|
|
48
|
-
private final SparseIntArray mDownTimeToCoalescingKey = new SparseIntArray();
|
|
49
|
-
|
|
50
|
-
/** Starts tracking a new coalescing key corresponding to the gesture with this down time. */
|
|
51
|
-
public void addCoalescingKey(long downTime) {
|
|
52
|
-
mDownTimeToCoalescingKey.put((int) downTime, 0);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/** Increments the coalescing key corresponding to the gesture with this down time. */
|
|
56
|
-
public void incrementCoalescingKey(long downTime) {
|
|
57
|
-
int currentValue = mDownTimeToCoalescingKey.get((int) downTime, -1);
|
|
58
|
-
if (currentValue == -1) {
|
|
59
|
-
throw new RuntimeException("Tried to increment non-existent cookie");
|
|
60
|
-
}
|
|
61
|
-
mDownTimeToCoalescingKey.put((int) downTime, currentValue + 1);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/** Gets the coalescing key corresponding to the gesture with this down time. */
|
|
65
|
-
public short getCoalescingKey(long downTime) {
|
|
66
|
-
int currentValue = mDownTimeToCoalescingKey.get((int) downTime, -1);
|
|
67
|
-
if (currentValue == -1) {
|
|
68
|
-
throw new RuntimeException("Tried to get non-existent cookie");
|
|
69
|
-
}
|
|
70
|
-
return ((short) (0xffff & currentValue));
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/** Stops tracking a new coalescing key corresponding to the gesture with this down time. */
|
|
74
|
-
public void removeCoalescingKey(long downTime) {
|
|
75
|
-
mDownTimeToCoalescingKey.delete((int) downTime);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
public boolean hasCoalescingKey(long downTime) {
|
|
79
|
-
int currentValue = mDownTimeToCoalescingKey.get((int) downTime, -1);
|
|
80
|
-
if (currentValue == -1) {
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
|
-
return true;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
@@ -1,204 +0,0 @@
|
|
|
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.MotionEvent;
|
|
11
|
-
import com.facebook.infer.annotation.Nullsafe;
|
|
12
|
-
import com.facebook.react.bridge.Arguments;
|
|
13
|
-
import com.facebook.react.bridge.ReactSoftExceptionLogger;
|
|
14
|
-
import com.facebook.react.bridge.WritableArray;
|
|
15
|
-
import com.facebook.react.bridge.WritableMap;
|
|
16
|
-
import com.facebook.react.uimanager.PixelUtil;
|
|
17
|
-
import com.facebook.systrace.Systrace;
|
|
18
|
-
|
|
19
|
-
/** Class responsible for generating catalyst touch events based on android {@link MotionEvent}. */
|
|
20
|
-
@Nullsafe(Nullsafe.Mode.LOCAL)
|
|
21
|
-
public class TouchesHelper {
|
|
22
|
-
@Deprecated public static final String TARGET_KEY = "target";
|
|
23
|
-
|
|
24
|
-
private static final String TARGET_SURFACE_KEY = "targetSurface";
|
|
25
|
-
private static final String CHANGED_TOUCHES_KEY = "changedTouches";
|
|
26
|
-
private static final String TOUCHES_KEY = "touches";
|
|
27
|
-
private static final String PAGE_X_KEY = "pageX";
|
|
28
|
-
private static final String PAGE_Y_KEY = "pageY";
|
|
29
|
-
private static final String TIMESTAMP_KEY = "timestamp";
|
|
30
|
-
private static final String POINTER_IDENTIFIER_KEY = "identifier";
|
|
31
|
-
|
|
32
|
-
private static final String LOCATION_X_KEY = "locationX";
|
|
33
|
-
private static final String LOCATION_Y_KEY = "locationY";
|
|
34
|
-
|
|
35
|
-
private static final String TAG = "TouchesHelper";
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Creates catalyst pointers array in format that is expected by RCTEventEmitter JS module from
|
|
39
|
-
* given {@param event} instance. This method use {@param reactTarget} parameter to set as a
|
|
40
|
-
* target view id associated with current gesture.
|
|
41
|
-
*/
|
|
42
|
-
private static WritableMap[] createPointersArray(TouchEvent event) {
|
|
43
|
-
MotionEvent motionEvent = event.getMotionEvent();
|
|
44
|
-
WritableMap[] touches = new WritableMap[motionEvent.getPointerCount()];
|
|
45
|
-
|
|
46
|
-
// Calculate the coordinates for the target view.
|
|
47
|
-
// The MotionEvent contains the X,Y of the touch in the coordinate space of the root view
|
|
48
|
-
// The TouchEvent contains the X,Y of the touch in the coordinate space of the target view
|
|
49
|
-
// Subtracting them allows us to get the coordinates of the target view's top left corner
|
|
50
|
-
// We then use this when computing the view specific touches below
|
|
51
|
-
// Since only one view is actually handling even multiple touches, the values are all relative
|
|
52
|
-
// to this one target view.
|
|
53
|
-
float targetViewCoordinateX = motionEvent.getX() - event.getViewX();
|
|
54
|
-
float targetViewCoordinateY = motionEvent.getY() - event.getViewY();
|
|
55
|
-
|
|
56
|
-
for (int index = 0; index < motionEvent.getPointerCount(); index++) {
|
|
57
|
-
WritableMap touch = Arguments.createMap();
|
|
58
|
-
// pageX,Y values are relative to the RootReactView
|
|
59
|
-
// the motionEvent already contains coordinates in that view
|
|
60
|
-
touch.putDouble(PAGE_X_KEY, PixelUtil.toDIPFromPixel(motionEvent.getX(index)));
|
|
61
|
-
touch.putDouble(PAGE_Y_KEY, PixelUtil.toDIPFromPixel(motionEvent.getY(index)));
|
|
62
|
-
// locationX,Y values are relative to the target view
|
|
63
|
-
// To compute the values for the view, we subtract that views location from the event X,Y
|
|
64
|
-
float locationX = motionEvent.getX(index) - targetViewCoordinateX;
|
|
65
|
-
float locationY = motionEvent.getY(index) - targetViewCoordinateY;
|
|
66
|
-
touch.putDouble(LOCATION_X_KEY, PixelUtil.toDIPFromPixel(locationX));
|
|
67
|
-
touch.putDouble(LOCATION_Y_KEY, PixelUtil.toDIPFromPixel(locationY));
|
|
68
|
-
touch.putInt(TARGET_SURFACE_KEY, event.getSurfaceId());
|
|
69
|
-
touch.putInt(TARGET_KEY, event.getViewTag());
|
|
70
|
-
touch.putDouble(TIMESTAMP_KEY, event.getTimestampMs());
|
|
71
|
-
touch.putDouble(POINTER_IDENTIFIER_KEY, motionEvent.getPointerId(index));
|
|
72
|
-
|
|
73
|
-
touches[index] = touch;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
return touches;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Generate and send touch event to RCTEventEmitter JS module associated with the given {@param
|
|
81
|
-
* context} for legacy renderer. Touch event can encode multiple concurrent touches (pointers).
|
|
82
|
-
*
|
|
83
|
-
* @param rctEventEmitter Event emitter used to execute JS module call
|
|
84
|
-
* @param touchEvent native touch event to read pointers count and coordinates from
|
|
85
|
-
*/
|
|
86
|
-
/* package */ static void sendTouchesLegacy(
|
|
87
|
-
RCTEventEmitter rctEventEmitter, TouchEvent touchEvent) {
|
|
88
|
-
TouchEventType type = touchEvent.getTouchEventType();
|
|
89
|
-
|
|
90
|
-
WritableArray pointers =
|
|
91
|
-
getWritableArray(/* copyObjects */ false, createPointersArray(touchEvent));
|
|
92
|
-
MotionEvent motionEvent = touchEvent.getMotionEvent();
|
|
93
|
-
|
|
94
|
-
// For START and END events send only index of the pointer that is associated with that event
|
|
95
|
-
// For MOVE and CANCEL events 'changedIndices' array should contain all the pointers indices
|
|
96
|
-
WritableArray changedIndices = Arguments.createArray();
|
|
97
|
-
if (type == TouchEventType.MOVE || type == TouchEventType.CANCEL) {
|
|
98
|
-
for (int i = 0; i < motionEvent.getPointerCount(); i++) {
|
|
99
|
-
changedIndices.pushInt(i);
|
|
100
|
-
}
|
|
101
|
-
} else if (type == TouchEventType.START || type == TouchEventType.END) {
|
|
102
|
-
changedIndices.pushInt(motionEvent.getActionIndex());
|
|
103
|
-
} else {
|
|
104
|
-
throw new RuntimeException("Unknown touch type: " + type);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
rctEventEmitter.receiveTouches(TouchEventType.getJSEventName(type), pointers, changedIndices);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Generate touch event data to match JS expectations. Combines logic in {@link #sendTouchEvent}
|
|
112
|
-
* and FabricEventEmitter to create the same data structure in a more efficient manner.
|
|
113
|
-
*
|
|
114
|
-
* <p>Touches have to be dispatched as separate events for each changed pointer to make JS process
|
|
115
|
-
* them correctly. To avoid allocations, we preprocess touch events in Java world and then convert
|
|
116
|
-
* them to native before dispatch.
|
|
117
|
-
*
|
|
118
|
-
* @param eventEmitter emitter to dispatch event to
|
|
119
|
-
* @param event the touch event to extract data from
|
|
120
|
-
*/
|
|
121
|
-
/* package */ static void sendTouchEvent(RCTModernEventEmitter eventEmitter, TouchEvent event) {
|
|
122
|
-
Systrace.beginSection(
|
|
123
|
-
Systrace.TRACE_TAG_REACT_JAVA_BRIDGE,
|
|
124
|
-
"TouchesHelper.sentTouchEventModern(" + event.getEventName() + ")");
|
|
125
|
-
try {
|
|
126
|
-
TouchEventType type = event.getTouchEventType();
|
|
127
|
-
MotionEvent motionEvent = event.getMotionEvent();
|
|
128
|
-
|
|
129
|
-
if (motionEvent == null) {
|
|
130
|
-
ReactSoftExceptionLogger.logSoftException(
|
|
131
|
-
TAG,
|
|
132
|
-
new IllegalStateException(
|
|
133
|
-
"Cannot dispatch a TouchEvent that has no MotionEvent; the TouchEvent has been"
|
|
134
|
-
+ " recycled"));
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
WritableMap[] touches = createPointersArray(event);
|
|
139
|
-
WritableMap[] changedTouches = null;
|
|
140
|
-
|
|
141
|
-
switch (type) {
|
|
142
|
-
case START:
|
|
143
|
-
int newPointerIndex = motionEvent.getActionIndex();
|
|
144
|
-
|
|
145
|
-
changedTouches = new WritableMap[] {touches[newPointerIndex].copy()};
|
|
146
|
-
break;
|
|
147
|
-
case END:
|
|
148
|
-
int finishedPointerIndex = motionEvent.getActionIndex();
|
|
149
|
-
/*
|
|
150
|
-
* Clear finished pointer index for compatibility with W3C touch "end" events, where the
|
|
151
|
-
* active touches don't include the set that has just been "ended".
|
|
152
|
-
*/
|
|
153
|
-
WritableMap finishedPointer = touches[finishedPointerIndex];
|
|
154
|
-
touches[finishedPointerIndex] = null;
|
|
155
|
-
|
|
156
|
-
changedTouches = new WritableMap[] {finishedPointer};
|
|
157
|
-
break;
|
|
158
|
-
case MOVE:
|
|
159
|
-
changedTouches = new WritableMap[touches.length];
|
|
160
|
-
for (int i = 0; i < touches.length; i++) {
|
|
161
|
-
changedTouches[i] = touches[i].copy();
|
|
162
|
-
}
|
|
163
|
-
break;
|
|
164
|
-
case CANCEL:
|
|
165
|
-
changedTouches = touches;
|
|
166
|
-
touches = new WritableMap[0];
|
|
167
|
-
break;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
if (changedTouches != null) {
|
|
171
|
-
for (WritableMap touchData : changedTouches) {
|
|
172
|
-
WritableMap eventData = touchData.copy();
|
|
173
|
-
WritableArray changedTouchesArray =
|
|
174
|
-
getWritableArray(/* copyObjects */ true, changedTouches);
|
|
175
|
-
WritableArray touchesArray = getWritableArray(/* copyObjects */ true, touches);
|
|
176
|
-
|
|
177
|
-
eventData.putArray(CHANGED_TOUCHES_KEY, changedTouchesArray);
|
|
178
|
-
eventData.putArray(TOUCHES_KEY, touchesArray);
|
|
179
|
-
|
|
180
|
-
eventEmitter.receiveEvent(
|
|
181
|
-
event.getSurfaceId(),
|
|
182
|
-
event.getViewTag(),
|
|
183
|
-
event.getEventName(),
|
|
184
|
-
event.canCoalesce(),
|
|
185
|
-
0,
|
|
186
|
-
eventData,
|
|
187
|
-
event.getEventCategory());
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
} finally {
|
|
191
|
-
Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
private static WritableArray getWritableArray(boolean copyObjects, WritableMap... objects) {
|
|
196
|
-
WritableArray result = Arguments.createArray();
|
|
197
|
-
for (WritableMap object : objects) {
|
|
198
|
-
if (object != null) {
|
|
199
|
-
result.pushMap(copyObjects ? object.copy() : object);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
return result;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
@@ -1,161 +0,0 @@
|
|
|
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.views.scroll;
|
|
9
|
-
|
|
10
|
-
import android.view.View;
|
|
11
|
-
import android.view.ViewGroup;
|
|
12
|
-
import android.view.accessibility.AccessibilityEvent;
|
|
13
|
-
import androidx.core.view.AccessibilityDelegateCompat;
|
|
14
|
-
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
|
|
15
|
-
import com.facebook.infer.annotation.Nullsafe;
|
|
16
|
-
import com.facebook.react.R;
|
|
17
|
-
import com.facebook.react.bridge.AssertionException;
|
|
18
|
-
import com.facebook.react.bridge.ReactSoftExceptionLogger;
|
|
19
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
20
|
-
import com.facebook.react.uimanager.ReactAccessibilityDelegate;
|
|
21
|
-
import com.facebook.react.uimanager.ReactAccessibilityDelegate.AccessibilityRole;
|
|
22
|
-
|
|
23
|
-
@Nullsafe(Nullsafe.Mode.LOCAL)
|
|
24
|
-
class ReactScrollViewAccessibilityDelegate extends AccessibilityDelegateCompat {
|
|
25
|
-
private final String TAG = ReactScrollViewAccessibilityDelegate.class.getSimpleName();
|
|
26
|
-
|
|
27
|
-
@Override
|
|
28
|
-
public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) {
|
|
29
|
-
super.onInitializeAccessibilityEvent(host, event);
|
|
30
|
-
if (host instanceof ReactScrollView || host instanceof ReactHorizontalScrollView) {
|
|
31
|
-
onInitializeAccessibilityEventInternal(host, event);
|
|
32
|
-
} else {
|
|
33
|
-
ReactSoftExceptionLogger.logSoftException(
|
|
34
|
-
TAG,
|
|
35
|
-
new AssertionException(
|
|
36
|
-
"ReactScrollViewAccessibilityDelegate should only be used with ReactScrollView or"
|
|
37
|
-
+ " ReactHorizontalScrollView, not with class: "
|
|
38
|
-
+ host.getClass().getSimpleName()));
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
@Override
|
|
43
|
-
public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
|
|
44
|
-
super.onInitializeAccessibilityNodeInfo(host, info);
|
|
45
|
-
if (host instanceof ReactScrollView || host instanceof ReactHorizontalScrollView) {
|
|
46
|
-
onInitializeAccessibilityNodeInfoInternal(host, info);
|
|
47
|
-
} else {
|
|
48
|
-
ReactSoftExceptionLogger.logSoftException(
|
|
49
|
-
TAG,
|
|
50
|
-
new AssertionException(
|
|
51
|
-
"ReactScrollViewAccessibilityDelegate should only be used with ReactScrollView or"
|
|
52
|
-
+ " ReactHorizontalScrollView, not with class: "
|
|
53
|
-
+ host.getClass().getSimpleName()));
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
;
|
|
57
|
-
|
|
58
|
-
private void onInitializeAccessibilityEventInternal(View view, AccessibilityEvent event) {
|
|
59
|
-
final ReadableMap accessibilityCollection =
|
|
60
|
-
(ReadableMap) view.getTag(R.id.accessibility_collection);
|
|
61
|
-
|
|
62
|
-
if (accessibilityCollection != null) {
|
|
63
|
-
event.setItemCount(accessibilityCollection.getInt("itemCount"));
|
|
64
|
-
View contentView;
|
|
65
|
-
if (view instanceof ViewGroup) {
|
|
66
|
-
ViewGroup viewGroup = (ViewGroup) view;
|
|
67
|
-
contentView = viewGroup.getChildAt(0);
|
|
68
|
-
} else {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
Integer firstVisibleIndex = null;
|
|
72
|
-
Integer lastVisibleIndex = null;
|
|
73
|
-
|
|
74
|
-
if (!(contentView instanceof ViewGroup)) {
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
for (int index = 0; index < ((ViewGroup) contentView).getChildCount(); index++) {
|
|
79
|
-
View nextChild = ((ViewGroup) contentView).getChildAt(index);
|
|
80
|
-
boolean isVisible;
|
|
81
|
-
if (view instanceof ReactScrollView) {
|
|
82
|
-
ReactScrollView scrollView = (ReactScrollView) view;
|
|
83
|
-
isVisible = scrollView.isPartiallyScrolledInView(nextChild);
|
|
84
|
-
} else if (view instanceof ReactHorizontalScrollView) {
|
|
85
|
-
ReactHorizontalScrollView scrollView = (ReactHorizontalScrollView) view;
|
|
86
|
-
isVisible = scrollView.isPartiallyScrolledInView(nextChild);
|
|
87
|
-
} else {
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
ReadableMap accessibilityCollectionItem =
|
|
91
|
-
(ReadableMap) nextChild.getTag(R.id.accessibility_collection_item);
|
|
92
|
-
|
|
93
|
-
if (!(nextChild instanceof ViewGroup)) {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
int childCount = ((ViewGroup) nextChild).getChildCount();
|
|
98
|
-
|
|
99
|
-
// If this child's accessibilityCollectionItem is null, we'll check one more
|
|
100
|
-
// nested child.
|
|
101
|
-
// Happens when getItemLayout is not passed in FlatList which adds an additional
|
|
102
|
-
// View in the hierarchy.
|
|
103
|
-
if (childCount > 0 && accessibilityCollectionItem == null) {
|
|
104
|
-
View nestedNextChild = ((ViewGroup) nextChild).getChildAt(0);
|
|
105
|
-
if (nestedNextChild != null) {
|
|
106
|
-
ReadableMap nestedChildAccessibility =
|
|
107
|
-
(ReadableMap) nestedNextChild.getTag(R.id.accessibility_collection_item);
|
|
108
|
-
if (nestedChildAccessibility != null) {
|
|
109
|
-
accessibilityCollectionItem = nestedChildAccessibility;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
if (isVisible && accessibilityCollectionItem != null) {
|
|
115
|
-
if (firstVisibleIndex == null) {
|
|
116
|
-
firstVisibleIndex = accessibilityCollectionItem.getInt("itemIndex");
|
|
117
|
-
}
|
|
118
|
-
lastVisibleIndex = accessibilityCollectionItem.getInt("itemIndex");
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
if (firstVisibleIndex != null && lastVisibleIndex != null) {
|
|
122
|
-
event.setFromIndex(firstVisibleIndex);
|
|
123
|
-
event.setToIndex(lastVisibleIndex);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
private void onInitializeAccessibilityNodeInfoInternal(
|
|
130
|
-
View view, AccessibilityNodeInfoCompat info) {
|
|
131
|
-
|
|
132
|
-
final AccessibilityRole accessibilityRole = AccessibilityRole.fromViewTag(view);
|
|
133
|
-
|
|
134
|
-
if (accessibilityRole != null) {
|
|
135
|
-
ReactAccessibilityDelegate.setRole(info, accessibilityRole, view.getContext());
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
final ReadableMap accessibilityCollection =
|
|
139
|
-
(ReadableMap) view.getTag(R.id.accessibility_collection);
|
|
140
|
-
|
|
141
|
-
if (accessibilityCollection != null) {
|
|
142
|
-
int rowCount = accessibilityCollection.getInt("rowCount");
|
|
143
|
-
int columnCount = accessibilityCollection.getInt("columnCount");
|
|
144
|
-
boolean hierarchical = accessibilityCollection.getBoolean("hierarchical");
|
|
145
|
-
|
|
146
|
-
AccessibilityNodeInfoCompat.CollectionInfoCompat collectionInfoCompat =
|
|
147
|
-
AccessibilityNodeInfoCompat.CollectionInfoCompat.obtain(
|
|
148
|
-
rowCount, columnCount, hierarchical);
|
|
149
|
-
info.setCollectionInfo(collectionInfoCompat);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
if (view instanceof ReactScrollView) {
|
|
153
|
-
ReactScrollView scrollView = (ReactScrollView) view;
|
|
154
|
-
info.setScrollable(scrollView.getScrollEnabled());
|
|
155
|
-
} else if (view instanceof ReactHorizontalScrollView) {
|
|
156
|
-
ReactHorizontalScrollView scrollView = (ReactHorizontalScrollView) view;
|
|
157
|
-
info.setScrollable(scrollView.getScrollEnabled());
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
;
|