react-native-tvos 0.68.2-7 → 0.69.5-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -0
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
- package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
- package/Libraries/Animated/AnimatedImplementation.js +1 -1
- package/Libraries/Animated/NativeAnimatedHelper.js +55 -9
- package/Libraries/Animated/NativeAnimatedModule.js +1 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
- package/Libraries/Animated/animations/TimingAnimation.js +6 -11
- package/Libraries/Animated/createAnimatedComponent.js +2 -2
- package/Libraries/Animated/nodes/AnimatedColor.js +95 -29
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +19 -22
- package/Libraries/Animated/nodes/AnimatedNode.js +2 -2
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/AppState/AppState.js +1 -1
- package/Libraries/Blob/RCTFileReaderModule.mm +31 -27
- package/Libraries/Blob/React-RCTBlob.podspec +2 -2
- package/Libraries/Blob/URL.js +7 -1
- package/Libraries/Components/Button.js +3 -0
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +5 -0
- package/Libraries/Components/Pressable/Pressable.js +3 -3
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +47 -38
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +15 -7
- package/Libraries/Components/ScrollView/ScrollView.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +3 -1
- package/Libraries/Components/Slider/Slider.js +0 -2
- package/Libraries/Components/Slider/SliderNativeComponent.js +0 -1
- package/Libraries/Components/StatusBar/StatusBar.js +6 -1
- package/Libraries/Components/Switch/Switch.js +11 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +114 -109
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +17 -9
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +13 -5
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
- package/Libraries/Components/TextInput/TextInput.js +1 -8
- package/Libraries/Components/TextInput/TextInputState.js +10 -2
- package/Libraries/Components/Touchable/TouchableBounce.js +1 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -0
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +7 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
- package/Libraries/Components/View/ViewNativeComponent.js +68 -8
- package/Libraries/Components/View/ViewPropTypes.js +36 -4
- package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +1 -1
- package/Libraries/Core/RawEventEmitter.js +38 -0
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/polyfillPromise.js +32 -0
- package/Libraries/Core/setUpReactDevTools.js +3 -2
- package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -3
- package/Libraries/Events/CustomEvent.js +32 -0
- package/Libraries/Events/EventPolyfill.js +239 -0
- package/Libraries/FBLazyVector/BUCK +4 -1
- package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
- package/Libraries/Image/Image.android.js +0 -6
- package/Libraries/Image/Image.ios.js +0 -6
- package/Libraries/Image/ImageViewNativeComponent.js +18 -3
- package/Libraries/Image/RCTImageBlurUtils.m +8 -5
- package/Libraries/Image/RCTImageCache.h +3 -0
- package/Libraries/Image/RCTImageCache.m +8 -2
- package/Libraries/Image/RCTImageLoader.mm +14 -4
- package/Libraries/Image/RCTImageUtils.m +8 -7
- package/Libraries/Image/RCTUIImageViewAnimated.m +1 -1
- package/Libraries/Image/React-RCTImage.podspec +2 -2
- package/Libraries/Image/TextInlineImageNativeComponent.js +23 -15
- package/Libraries/Inspector/Inspector.js +2 -4
- package/Libraries/Interaction/BridgeSpyStallHandler.js +4 -3
- package/Libraries/Interaction/InteractionManager.js +1 -12
- package/Libraries/Interaction/TaskQueue.js +5 -4
- package/Libraries/LayoutAnimation/LayoutAnimation.js +13 -0
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +2 -2
- package/Libraries/Lists/FlatList.js +27 -6
- package/Libraries/Lists/VirtualizedList.js +71 -55
- package/Libraries/Lists/VirtualizedListContext.js +7 -3
- package/Libraries/Lists/VirtualizedSectionList.js +2 -2
- package/Libraries/LogBox/Data/LogBoxData.js +2 -2
- package/Libraries/LogBox/Data/LogBoxLog.js +1 -1
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
- package/Libraries/LogBox/LogBox.js +2 -21
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +2 -1
- package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.m +2 -2
- package/{ReactCommon/react/renderer/mounting/MountingTransactionMetadata.cpp → Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.h} +6 -4
- package/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.m +30 -0
- package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +11 -6
- package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.m +8 -4
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +8 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +3 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +8 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +8 -0
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +3 -3
- package/Libraries/NativeComponent/BaseViewConfig.android.js +295 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +333 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +0 -2
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +24 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +7 -42
- package/Libraries/NativeComponent/ViewConfig.js +4 -4
- package/Libraries/NativeComponent/ViewConfigIgnore.js +54 -0
- package/Libraries/Network/FormData.js +7 -1
- package/Libraries/Network/React-RCTNetwork.podspec +2 -2
- package/Libraries/Pressability/Pressability.js +115 -46
- package/Libraries/Pressability/PressabilityDebug.js +5 -9
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +20 -8
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +2 -2
- package/Libraries/RCTRequired/BUCK +4 -1
- package/Libraries/RCTRequired/RCTRequired.podspec +1 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/{DummyUIManager.js → BridgelessUIManager.js} +62 -40
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +39 -0
- package/Libraries/ReactNative/UIManager.js +2 -3
- package/Libraries/ReactNative/renderApplication.js +4 -0
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +8 -0
- package/Libraries/Renderer/REVISION +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +5908 -4906
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +2100 -1918
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2567 -2352
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5610 -4844
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1710 -1556
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1830 -1639
- package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -1
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -1
- package/Libraries/Settings/React-RCTSettings.podspec +2 -2
- package/Libraries/StyleSheet/EdgeInsetsPropType.js +4 -1
- package/Libraries/StyleSheet/StyleSheetTypes.js +59 -66
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +15 -0
- package/Libraries/StyleSheet/private/_TransformStyle.js +53 -0
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.h +2 -0
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.mm +20 -11
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.h +3 -3
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.mm +2 -4
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent+Internal.h +1 -2
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.h +2 -3
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +16 -3
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentController.mm +26 -10
- package/Libraries/Text/React-RCTText.podspec +1 -1
- package/Libraries/Text/Text.js +13 -7
- package/Libraries/Text/TextNativeComponent.js +2 -0
- package/Libraries/Text/TextProps.js +10 -0
- package/Libraries/TypeSafety/RCTConvertHelpers.h +10 -9
- package/Libraries/TypeSafety/RCTConvertHelpers.mm +2 -2
- package/Libraries/TypeSafety/RCTTypeSafety.podspec +3 -8
- package/Libraries/Types/CoreEventTypes.js +13 -1
- package/Libraries/Utilities/Appearance.js +0 -8
- package/Libraries/Utilities/HMRClient.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -0
- package/Libraries/Utilities/codegenNativeComponent.js +16 -6
- package/Libraries/Utilities/stringifySafe.js +4 -1
- package/Libraries/Utilities/useColorScheme.js +9 -15
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +3 -3
- package/Libraries/Vibration/React-RCTVibration.podspec +2 -2
- package/Libraries/WebSocket/WebSocket.js +1 -1
- package/Libraries/vendor/emitter/_EmitterSubscription.js +1 -1
- package/Libraries/vendor/emitter/_EventEmitter.js +1 -1
- package/Libraries/vendor/emitter/_EventSubscription.js +1 -1
- package/README.md +3 -3
- package/React/Base/RCTAssert.h +36 -15
- package/React/Base/RCTAssert.m +65 -19
- package/React/Base/RCTBridge.m +2 -4
- package/React/Base/RCTBridgeModule.h +3 -0
- package/React/Base/RCTBridgeModuleDecorator.h +35 -0
- package/React/Base/RCTBridgeModuleDecorator.m +73 -0
- package/React/Base/RCTConstants.h +18 -0
- package/React/Base/RCTConstants.m +46 -0
- package/React/Base/RCTJavaScriptLoader.h +1 -4
- package/React/Base/RCTJavaScriptLoader.mm +11 -17
- package/React/Base/RCTLog.h +17 -0
- package/React/Base/RCTLog.mm +31 -2
- package/React/Base/RCTModuleData.mm +8 -74
- package/React/Base/RCTVersion.m +2 -2
- package/React/Base/RCTViewRegistry.m +24 -0
- package/React/Base/Surface/RCTSurface.mm +2 -1
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +0 -1
- package/React/CoreModules/BUCK +1 -0
- package/React/CoreModules/RCTAccessibilityManager.mm +2 -2
- package/React/CoreModules/RCTActionSheetManager.mm +38 -9
- package/React/CoreModules/RCTDevMenu.h +5 -0
- package/React/CoreModules/RCTDevMenu.mm +68 -25
- package/React/CoreModules/RCTDeviceInfo.mm +17 -11
- package/React/CoreModules/RCTEventDispatcher.mm +2 -2
- package/React/CoreModules/RCTExceptionsManager.h +5 -3
- package/React/CoreModules/RCTExceptionsManager.mm +44 -12
- package/React/CoreModules/RCTFPSGraph.m +3 -3
- package/React/CoreModules/RCTLogBox.mm +17 -9
- package/React/CoreModules/RCTLogBoxView.h +3 -1
- package/React/CoreModules/RCTLogBoxView.mm +41 -12
- package/React/CoreModules/RCTPlatform.mm +2 -0
- package/React/CoreModules/RCTRedBox.mm +2 -2
- package/React/CoreModules/RCTStatusBarManager.mm +1 -1
- package/React/CoreModules/React-CoreModules.podspec +2 -2
- package/React/CxxBridge/RCTCxxBridge.mm +25 -58
- package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +8 -2
- package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +2 -2
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.h +1 -0
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +77 -19
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +2 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +28 -7
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.mm +1 -0
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +2 -2
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.h +4 -3
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +2 -2
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +29 -16
- package/React/Fabric/Mounting/RCTComponentViewFactory.mm +2 -2
- package/React/Fabric/Mounting/RCTMountingManager.mm +13 -6
- package/React/Fabric/Mounting/RCTMountingTransactionObserverCoordinator.h +5 -3
- package/React/Fabric/Mounting/RCTMountingTransactionObserverCoordinator.mm +10 -8
- package/React/Fabric/Mounting/RCTMountingTransactionObserving.h +5 -3
- package/React/Fabric/RCTConversions.h +9 -1
- package/React/Fabric/RCTLocalizationProvider.mm +10 -4
- package/React/Fabric/RCTScheduler.h +7 -0
- package/React/Fabric/RCTScheduler.mm +15 -0
- package/React/Fabric/RCTSurfacePresenter.h +8 -0
- package/React/Fabric/RCTSurfacePresenter.mm +65 -15
- package/React/Fabric/RCTSurfaceTouchHandler.mm +168 -0
- package/React/Fabric/Surface/RCTFabricSurface.mm +1 -1
- package/React/Modules/RCTSurfacePresenterStub.h +4 -0
- package/React/Modules/RCTUIManager.m +26 -1
- package/React/React-RCTFabric.podspec +3 -2
- package/React/Views/RCTBorderDrawing.m +176 -173
- package/React/Views/RCTComponent.h +1 -0
- package/React/Views/RCTComponentData.m +11 -1
- package/React/Views/RCTDatePickerManager.m +5 -6
- package/React/Views/RCTModalHostView.h +1 -1
- package/React/Views/RCTShadowView.h +2 -0
- package/React/Views/RCTView.h +10 -0
- package/React/Views/RCTView.m +34 -17
- package/React/Views/RCTViewManager.m +37 -2
- package/React/Views/UIView+React.h +1 -0
- package/React/Views/UIView+React.m +11 -0
- package/React/third-party.xcconfig +1 -1
- package/React-Core.podspec +1 -1
- package/React.podspec +1 -1
- package/ReactAndroid/Android-prebuilt.mk +7 -13
- package/ReactAndroid/build.gradle +76 -76
- package/ReactAndroid/gradle.properties +3 -2
- package/ReactAndroid/hermes-engine/build.gradle +261 -0
- package/ReactAndroid/hermes-engine/gradle.properties +1 -0
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppTestActivity.java +4 -0
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstanceSpecForTest.java +13 -0
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstrumentationTest.java +8 -0
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/BUCK +4 -1
- package/ReactAndroid/src/androidTest/js/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/debug/holder/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/debug/tags/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +2 -5
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/CMakeLists.txt +31 -0
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +35 -34
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/CMakeLists.txt +41 -0
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/OnLoad.cpp +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/JSInterpreter.java +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +33 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +9 -27
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +51 -31
- package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +89 -12
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeWithUpdateableConfig.java +15 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.java +131 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +116 -45
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +14 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +12 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.java +27 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.java +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegate.java +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +170 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBufferSoLoader.kt +33 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +298 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +170 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/Android.mk +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/CMakeLists.txt +34 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/.clang-tidy +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/JReadableMapBuffer.cpp +43 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/{ReadableMapBuffer.h → JReadableMapBuffer.h} +5 -3
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/JWritableMapBuffer.cpp +65 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/JWritableMapBuffer.h +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/OnLoad.cpp +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/network/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/config/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +18 -5
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +42 -51
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DoubleTapReloadRecognizer.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.java +5 -4
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{RedBoxDialog.java → RedBoxContentView.java} +38 -29
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +126 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +7 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{RedBoxHandler.java → interfaces/RedBoxHandler.java} +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK +11 -5
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +148 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/EmptyReactNativeConfig.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +42 -29
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/ReactNativeConfig.java +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/{AsyncEventBeatV2.cpp → AsyncEventBeat.cpp} +6 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeat.h +8 -40
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +6 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +55 -36
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CMakeLists.txt +70 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +2 -15
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +2 -4
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountItem.cpp +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountItem.h +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountingManager.cpp +65 -71
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountingManager.h +11 -9
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JFabricUIManager.cpp +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JFabricUIManager.h +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ReactNativeConfigHolder.cpp +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.cpp +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.h +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/viewPropConversions.h +527 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +19 -22
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +93 -29
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +6 -9
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/CMakeLists.txt +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/module/model/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/module/processing/BUCK +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/module/processing/ReactModuleSpecProcessor.java +11 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appregistry/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/CMakeLists.txt +22 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/common/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/common/ModuleDataCleaner.java +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fabric/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.java +8 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +7 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +9 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressiveStringDecoder.java +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.java +20 -8
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/processing/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/CMakeLists.txt +24 -0
- package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/surface/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/touch/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/Android.mk +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/CMakeLists.txt +62 -0
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/OnLoad.cpp +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK +45 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +148 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/BaseViewManagerDelegate.java → BaseViewManagerDelegate.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/BaseViewManagerInterface.java → BaseViewManagerInterface.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/FloatUtil.java → FloatUtil.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +331 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +265 -21
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRoot.java +1 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/Spacing.java → Spacing.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/StateWrapper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +57 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +0 -11
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +42 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/ViewManagerDelegate.java → ViewManagerDelegate.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/ViewProps.java → ViewProps.java} +0 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/NativeGestureUtil.java +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +180 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.java +75 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/Android.mk +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/CMakeLists.txt +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/util/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.java +5 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/common/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/BUCK +8 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +3 -91
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/BUCK +8 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +35 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +57 -17
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +10 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +60 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +45 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +10 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +10 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +7 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/BUCK +12 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +14 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactClickableSpan.java +3 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +20 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +45 -9
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +31 -31
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +21 -17
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +25 -31
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +9 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +12 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/BUCK +11 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ColorUtil.java +19 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactMapBufferPropSetter.kt +468 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactMapBufferViewManager.kt +76 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManagerWrapper.kt +90 -0
- package/ReactAndroid/src/main/jni/CMakeLists.txt +102 -0
- package/ReactAndroid/src/main/jni/first-party/fb/BUCK +1 -1
- package/ReactAndroid/src/main/jni/first-party/fb/CMakeLists.txt +28 -0
- package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +15 -0
- package/ReactAndroid/src/main/jni/first-party/fbjni/CMakeLists.txt +15 -0
- package/ReactAndroid/src/main/jni/first-party/hermes/CMakeLists.txt +13 -0
- package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +20 -0
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/ScopedGlobalRef.h +1 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/ScopedLocalRef.h +1 -1
- package/ReactAndroid/src/main/jni/react/jni/Android.mk +12 -5
- package/ReactAndroid/src/main/jni/react/jni/BUCK +4 -1
- package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +44 -0
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +63 -32
- package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/NativeTime.cpp +8 -2
- package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.cpp +10 -0
- package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.h +3 -1
- package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.cpp +10 -0
- package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.h +1 -1
- package/ReactAndroid/src/main/jni/third-party/boost/Android.mk +3 -3
- package/ReactAndroid/src/main/jni/third-party/boost/CMakeLists.txt +22 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm64 → arm64-v8a}/jump_arm64_aapcs_elf_gas.S +0 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm64 → arm64-v8a}/make_arm64_aapcs_elf_gas.S +0 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm64 → arm64-v8a}/ontop_arm64_aapcs_elf_gas.S +0 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm → armeabi-v7a}/jump_arm_aapcs_elf_gas.S +0 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm → armeabi-v7a}/make_arm_aapcs_elf_gas.S +0 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm → armeabi-v7a}/ontop_arm_aapcs_elf_gas.S +0 -0
- package/ReactAndroid/src/main/jni/third-party/double-conversion/CMakeLists.txt +23 -0
- package/ReactAndroid/src/main/jni/third-party/fmt/CMakeLists.txt +13 -0
- package/ReactAndroid/src/main/jni/third-party/folly/Android.mk +31 -31
- package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +126 -0
- package/ReactAndroid/src/main/jni/third-party/glog/CMakeLists.txt +35 -0
- package/ReactAndroid/src/main/jni/third-party/jsc/CMakeLists.txt +15 -0
- package/ReactAndroid/src/main/jni/third-party/libevent/CMakeLists.txt +42 -0
- package/ReactAndroid/src/main/res/shell/values/styles.xml +3 -2
- package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
- package/ReactAndroid/src/test/java/com/facebook/react/ReactActivityDelegateTest.kt +62 -0
- package/ReactAndroid/src/test/java/com/facebook/react/views/BUCK +5 -2
- package/ReactAndroid/src/test/java/com/facebook/react/views/view/ColorUtilTest.java +9 -0
- package/ReactAndroid/src/test/resources/BUCK +1 -0
- package/ReactCommon/React-Fabric.podspec +1 -1
- package/ReactCommon/React-bridging.podspec +42 -0
- package/ReactCommon/React-rncore.podspec +1 -1
- package/ReactCommon/ReactCommon.podspec +4 -3
- package/ReactCommon/butter/Android.mk +0 -2
- package/ReactCommon/butter/BUCK +4 -1
- package/ReactCommon/butter/CMakeLists.txt +20 -0
- package/ReactCommon/callinvoker/BUCK +4 -1
- package/ReactCommon/callinvoker/CMakeLists.txt +13 -0
- package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
- package/ReactCommon/cxxreact/Android.mk +5 -2
- package/ReactCommon/cxxreact/BUCK +16 -4
- package/ReactCommon/cxxreact/CMakeLists.txt +29 -0
- package/ReactCommon/cxxreact/Instance.cpp +0 -35
- package/ReactCommon/cxxreact/Instance.h +0 -3
- package/ReactCommon/cxxreact/JSBundleType.cpp +13 -8
- package/ReactCommon/cxxreact/JSBundleType.h +15 -11
- package/ReactCommon/cxxreact/ModuleRegistry.cpp +1 -1
- package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/cxxreact/tests/BUCK +1 -1
- package/ReactCommon/hermes/React-hermes.podspec +1 -1
- package/ReactCommon/hermes/executor/Android.mk +23 -21
- package/ReactCommon/hermes/executor/CMakeLists.txt +29 -0
- package/ReactCommon/hermes/inspector/Android.mk +5 -4
- package/ReactCommon/hermes/inspector/CMakeLists.txt +32 -0
- package/ReactCommon/hermes/inspector/Exceptions.h +6 -0
- package/ReactCommon/hermes/inspector/Inspector.cpp +5 -2
- package/ReactCommon/hermes/inspector/Inspector.h +14 -0
- package/ReactCommon/hermes/inspector/InspectorState.cpp +16 -8
- package/ReactCommon/hermes/inspector/chrome/Connection.cpp +398 -1
- package/ReactCommon/hermes/inspector/chrome/MessageTypes.cpp +266 -12
- package/ReactCommon/hermes/inspector/chrome/MessageTypes.h +140 -2
- package/ReactCommon/hermes/inspector/chrome/tests/AsyncHermesRuntime.cpp +21 -0
- package/ReactCommon/hermes/inspector/chrome/tests/AsyncHermesRuntime.h +27 -0
- package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +298 -7
- package/ReactCommon/hermes/inspector/chrome/tests/MessageTests.cpp +1071 -1
- package/ReactCommon/hermes/inspector/tools/message_types.txt +4 -0
- package/ReactCommon/hermes/inspector/tools/msggen/package.json +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/GeneratedHeader.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/ImplementationWriter.js +14 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/Property.js +1 -1
- package/ReactCommon/hermes/inspector/tools/msggen/src/index.js +17 -2
- package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +4 -4
- package/ReactCommon/hermes/inspector/tools/run_msggen +17 -12
- package/ReactCommon/jsi/Android.mk +2 -2
- package/ReactCommon/jsi/BUCK +12 -3
- package/ReactCommon/jsi/CMakeLists.txt +43 -0
- package/ReactCommon/jsi/JSCRuntime.cpp +8 -0
- package/ReactCommon/jsi/React-jsi.podspec +1 -1
- package/ReactCommon/jsi/jsi/decorator.h +3 -0
- package/ReactCommon/jsi/jsi/jsi.cpp +11 -0
- package/ReactCommon/jsi/jsi/jsi.h +24 -4
- package/ReactCommon/jsi/jsi/jsilib.h +1 -1
- package/ReactCommon/jsi/jsi/test/testlib.cpp +3 -1
- package/ReactCommon/jsiexecutor/Android.mk +1 -1
- package/ReactCommon/jsiexecutor/BUCK +4 -1
- package/ReactCommon/jsiexecutor/CMakeLists.txt +23 -0
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
- package/ReactCommon/jsinspector/BUCK +4 -1
- package/ReactCommon/jsinspector/CMakeLists.txt +14 -0
- package/ReactCommon/jsinspector/React-jsinspector.podspec +1 -1
- package/ReactCommon/logger/BUCK +4 -1
- package/ReactCommon/logger/CMakeLists.txt +16 -0
- package/ReactCommon/logger/React-logger.podspec +1 -1
- package/ReactCommon/microprofiler/BUCK +5 -2
- package/ReactCommon/react/bridging/AString.h +42 -0
- package/ReactCommon/react/bridging/Android.mk +27 -0
- package/ReactCommon/react/bridging/Array.h +108 -0
- package/ReactCommon/react/bridging/BUCK +57 -0
- package/ReactCommon/react/bridging/Base.h +154 -0
- package/ReactCommon/react/bridging/Bool.h +25 -0
- package/ReactCommon/react/bridging/Bridging.h +19 -0
- package/ReactCommon/react/bridging/CMakeLists.txt +17 -0
- package/ReactCommon/react/bridging/CallbackWrapper.h +103 -0
- package/ReactCommon/react/bridging/Class.h +71 -0
- package/ReactCommon/react/bridging/Convert.h +153 -0
- package/ReactCommon/react/bridging/Error.h +51 -0
- package/ReactCommon/react/bridging/Function.h +214 -0
- package/ReactCommon/react/{nativemodule/core/ReactCommon → bridging}/LongLivedObject.cpp +5 -0
- package/ReactCommon/react/bridging/LongLivedObject.h +58 -0
- package/ReactCommon/react/bridging/Number.h +47 -0
- package/ReactCommon/react/bridging/Object.h +100 -0
- package/ReactCommon/react/bridging/Promise.h +102 -0
- package/ReactCommon/react/bridging/Value.h +107 -0
- package/ReactCommon/react/bridging/tests/BridgingTest.cpp +407 -0
- package/ReactCommon/react/bridging/tests/BridgingTest.h +77 -0
- package/ReactCommon/react/bridging/tests/ClassTest.cpp +97 -0
- package/ReactCommon/react/config/BUCK +4 -1
- package/ReactCommon/react/config/CMakeLists.txt +19 -0
- package/ReactCommon/react/debug/Android.mk +1 -1
- package/ReactCommon/react/debug/BUCK +4 -1
- package/ReactCommon/react/debug/CMakeLists.txt +22 -0
- package/ReactCommon/react/debug/react_native_assert.h +1 -1
- package/ReactCommon/react/nativemodule/core/Android.mk +7 -4
- package/ReactCommon/react/nativemodule/core/BUCK +5 -1
- package/ReactCommon/react/nativemodule/core/CMakeLists.txt +32 -0
- package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.h +2 -48
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +0 -23
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +18 -2
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -83
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.h +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +3 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +18 -7
- package/ReactCommon/react/nativemodule/samples/BUCK +4 -1
- package/ReactCommon/react/renderer/animations/Android.mk +1 -2
- package/ReactCommon/react/renderer/animations/BUCK +4 -1
- package/ReactCommon/react/renderer/animations/CMakeLists.txt +32 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +6 -6
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +4 -3
- package/ReactCommon/react/renderer/animations/conversions.h +11 -11
- package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +1 -1
- package/ReactCommon/react/renderer/attributedstring/Android.mk +1 -2
- package/ReactCommon/react/renderer/attributedstring/BUCK +4 -1
- package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +29 -0
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +16 -16
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +14 -14
- package/ReactCommon/react/renderer/attributedstring/conversions.h +13 -11
- package/ReactCommon/react/renderer/componentregistry/Android.mk +2 -2
- package/ReactCommon/react/renderer/componentregistry/BUCK +4 -1
- package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +24 -0
- package/ReactCommon/react/renderer/componentregistry/native/Android.mk +1 -2
- package/ReactCommon/react/renderer/componentregistry/native/BUCK +4 -1
- package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +24 -0
- package/ReactCommon/react/renderer/components/image/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/image/BUCK +4 -1
- package/ReactCommon/react/renderer/components/image/CMakeLists.txt +29 -0
- package/ReactCommon/react/renderer/components/inputaccessory/BUCK +4 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +4 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +16 -2
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +4 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +16 -11
- package/ReactCommon/react/renderer/components/modal/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/modal/BUCK +4 -1
- package/ReactCommon/react/renderer/components/modal/CMakeLists.txt +31 -0
- package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +1 -1
- package/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +1 -1
- package/ReactCommon/react/renderer/components/progressbar/Android.mk +1 -2
- package/ReactCommon/react/renderer/components/progressbar/BUCK +4 -1
- package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +34 -0
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/conversions.h +1 -1
- package/ReactCommon/react/renderer/components/root/Android.mk +1 -2
- package/ReactCommon/react/renderer/components/root/BUCK +4 -1
- package/ReactCommon/react/renderer/components/root/CMakeLists.txt +26 -0
- package/ReactCommon/react/renderer/components/safeareaview/BUCK +4 -1
- package/ReactCommon/react/renderer/components/scrollview/Android.mk +1 -2
- package/ReactCommon/react/renderer/components/scrollview/BUCK +4 -1
- package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +28 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +2 -2
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +1 -1
- package/ReactCommon/react/renderer/components/slider/Android.mk +1 -2
- package/ReactCommon/react/renderer/components/slider/BUCK +4 -1
- package/ReactCommon/react/renderer/components/slider/CMakeLists.txt +38 -0
- package/ReactCommon/react/renderer/components/switch/Android.mk +1 -2
- package/ReactCommon/react/renderer/components/switch/BUCK +4 -1
- package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +44 -0
- package/ReactCommon/react/renderer/components/text/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/text/BUCK +4 -1
- package/ReactCommon/react/renderer/components/text/CMakeLists.txt +33 -0
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/textinput/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/textinput/BUCK +4 -1
- package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +40 -0
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +6 -6
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +4 -1
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +1 -1
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +1 -1
- package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +3 -4
- package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +1 -2
- package/ReactCommon/react/renderer/components/unimplementedview/BUCK +4 -1
- package/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +27 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +41 -6
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +24 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +5 -0
- package/ReactCommon/react/renderer/components/view/Android.mk +1 -1
- package/ReactCommon/react/renderer/components/view/BUCK +5 -3
- package/ReactCommon/react/renderer/components/view/CMakeLists.txt +26 -0
- package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +35 -0
- package/ReactCommon/react/renderer/components/view/PointerEvent.h +59 -0
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +76 -2
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +14 -1
- package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +1 -1
- package/ReactCommon/react/renderer/components/view/ViewEventEmitter.h +1 -1
- package/ReactCommon/react/renderer/components/view/ViewProps.cpp +46 -22
- package/ReactCommon/react/renderer/components/view/ViewProps.h +22 -11
- package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +5 -3
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +46 -3
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +13 -1
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +38 -27
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +2 -1
- package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +33 -0
- package/ReactCommon/react/renderer/components/view/conversions.h +5 -6
- package/ReactCommon/react/renderer/components/view/primitives.h +104 -11
- package/ReactCommon/react/renderer/components/view/propsConversions.h +191 -0
- package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +201 -24
- package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +3 -3
- package/ReactCommon/react/renderer/core/Android.mk +1 -2
- package/ReactCommon/react/renderer/core/BUCK +4 -3
- package/ReactCommon/react/renderer/core/CMakeLists.txt +22 -0
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +12 -0
- package/ReactCommon/react/renderer/core/EventDispatcher.cpp +21 -0
- package/ReactCommon/react/renderer/core/EventDispatcher.h +15 -0
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +15 -12
- package/ReactCommon/react/renderer/core/EventEmitter.h +5 -6
- package/ReactCommon/react/renderer/core/EventListener.cpp +39 -0
- package/ReactCommon/react/renderer/core/EventListener.h +44 -0
- package/ReactCommon/react/renderer/core/Props.cpp +5 -2
- package/ReactCommon/react/renderer/core/Props.h +2 -1
- package/ReactCommon/react/renderer/core/RawProps.h +1 -1
- package/ReactCommon/react/renderer/core/RawPropsKey.cpp +1 -1
- package/ReactCommon/react/renderer/core/RawPropsParser.cpp +7 -6
- package/ReactCommon/react/renderer/core/RawPropsParser.h +0 -1
- package/ReactCommon/react/renderer/core/propsConversions.h +6 -5
- package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +10 -12
- package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +3 -3
- package/ReactCommon/react/renderer/debug/Android.mk +1 -1
- package/ReactCommon/react/renderer/debug/BUCK +4 -1
- package/ReactCommon/react/renderer/debug/CMakeLists.txt +15 -0
- package/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h +3 -3
- package/ReactCommon/react/renderer/element/BUCK +4 -1
- package/ReactCommon/react/renderer/element/tests/ElementTest.cpp +3 -3
- package/ReactCommon/react/renderer/graphics/Android.mk +1 -2
- package/ReactCommon/react/renderer/graphics/BUCK +4 -1
- package/ReactCommon/react/renderer/graphics/CMakeLists.txt +25 -0
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
- package/ReactCommon/react/renderer/graphics/Transform.cpp +8 -0
- package/ReactCommon/react/renderer/graphics/Transform.h +9 -3
- package/ReactCommon/react/renderer/graphics/conversions.h +1 -11
- package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +1 -1
- package/ReactCommon/react/renderer/imagemanager/Android.mk +1 -1
- package/ReactCommon/react/renderer/imagemanager/BUCK +4 -1
- package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +34 -0
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImageManager.mm +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.mm +1 -1
- package/ReactCommon/react/renderer/leakchecker/BUCK +4 -1
- package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +18 -0
- package/ReactCommon/react/renderer/mapbuffer/BUCK +4 -1
- package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +15 -0
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +8 -8
- package/ReactCommon/react/renderer/mounting/Android.mk +1 -2
- package/ReactCommon/react/renderer/mounting/BUCK +4 -1
- package/ReactCommon/react/renderer/mounting/CMakeLists.txt +31 -0
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +2 -2
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +3 -3
- package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
- package/ReactCommon/react/renderer/mounting/MountingTransaction.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/MountingTransaction.h +2 -2
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +4 -1
- package/ReactCommon/react/renderer/mounting/ShadowTreeRevision.h +0 -2
- package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +7 -10
- package/ReactCommon/react/renderer/mounting/TelemetryController.h +7 -7
- package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +1 -1
- package/ReactCommon/react/renderer/runtimescheduler/BUCK +4 -1
- package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +21 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +55 -40
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +26 -1
- package/ReactCommon/react/renderer/runtimescheduler/Task.h +3 -2
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +48 -3
- package/ReactCommon/react/renderer/runtimescheduler/tests/StubQueue.h +9 -0
- package/ReactCommon/react/renderer/scheduler/Android.mk +1 -2
- package/ReactCommon/react/renderer/scheduler/BUCK +4 -1
- package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +34 -0
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +41 -6
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +10 -1
- package/ReactCommon/react/renderer/telemetry/Android.mk +1 -2
- package/ReactCommon/react/renderer/telemetry/BUCK +4 -1
- package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +27 -0
- package/ReactCommon/react/renderer/templateprocessor/Android.mk +1 -2
- package/ReactCommon/react/renderer/templateprocessor/BUCK +4 -1
- package/ReactCommon/react/renderer/templateprocessor/CMakeLists.txt +26 -0
- package/ReactCommon/react/renderer/textlayoutmanager/Android.mk +1 -2
- package/ReactCommon/react/renderer/textlayoutmanager/BUCK +4 -1
- package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +45 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +142 -10
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +13 -11
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +0 -2
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +0 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +26 -9
- package/ReactCommon/react/renderer/uimanager/Android.mk +1 -2
- package/ReactCommon/react/renderer/uimanager/BUCK +4 -1
- package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +32 -0
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +8 -9
- package/ReactCommon/react/renderer/uimanager/UIManager.h +10 -13
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +6 -5
- package/ReactCommon/react/test_utils/BUCK +4 -1
- package/ReactCommon/react/test_utils/MockSurfaceHandler.h +2 -2
- package/ReactCommon/react/utils/Android.mk +1 -3
- package/ReactCommon/react/utils/BUCK +4 -1
- package/ReactCommon/react/utils/CMakeLists.txt +24 -0
- package/ReactCommon/react/utils/ContextContainer.h +2 -2
- package/ReactCommon/react/utils/ManagedObjectWrapper.h +4 -0
- package/ReactCommon/react/utils/SimpleThreadSafeCache.h +2 -2
- package/ReactCommon/react/utils/Telemetry.h +2 -2
- package/ReactCommon/reactperflogger/BUCK +4 -1
- package/ReactCommon/reactperflogger/CMakeLists.txt +14 -0
- package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
- package/ReactCommon/runtimeexecutor/BUCK +4 -1
- package/ReactCommon/runtimeexecutor/CMakeLists.txt +17 -0
- package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
- package/ReactCommon/yoga/CMakeLists.txt +16 -0
- package/ReactCommon/yoga/Yoga.podspec +3 -3
- package/ReactCommon/yoga/yoga/BitUtils.h +4 -0
- package/ReactCommon/yoga/yoga/CompactValue.h +4 -0
- package/ReactCommon/yoga/yoga/Utils.h +5 -0
- package/ReactCommon/yoga/yoga/YGConfig.h +5 -0
- package/ReactCommon/yoga/yoga/YGFloatOptional.h +4 -0
- package/ReactCommon/yoga/yoga/YGLayout.h +5 -0
- package/ReactCommon/yoga/yoga/YGNodePrint.h +7 -0
- package/ReactCommon/yoga/yoga/Yoga-internal.h +5 -0
- package/ReactCommon/yoga/yoga/Yoga.cpp +1 -1
- package/ReactCommon/yoga/yoga/log.h +4 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-javadoc.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.2-7/react-native-0.68.2-7-sources.jar → 0.69.5-0/react-native-0.69.5-0-debug-sources.jar} +0 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-sources.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug.aar +0 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-javadoc.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-sources.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-sources.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.2-7/react-native-0.68.2-7.aar → 0.69.5-0/react-native-0.69.5-0-release.aar} +0 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.module +670 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.2-7/react-native-0.68.2-7.pom → 0.69.5-0/react-native-0.69.5-0.pom} +32 -3
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.pom.sha512 +1 -0
- package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
- package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
- package/flow/{use-subscription.js → use-sync-external-store.js} +4 -4
- package/index.js +30 -25
- package/jest/assetFileTransformer.js +3 -2
- package/jest/preprocessor.js +24 -107
- package/jest/preprocessor_DO_NOT_USE.js +122 -0
- package/package.json +35 -22
- package/react-native.config.js +1 -3
- package/react.gradle +47 -23
- package/scripts/cocoapods/FlipperConfiguration.rb +31 -0
- package/scripts/{find-node.sh → find-node-for-xcode.sh} +11 -0
- package/scripts/generate-artifacts.js +16 -6
- package/scripts/hermes/hermes-utils.js +253 -0
- package/scripts/hermes/prepare-hermes-for-build.js +47 -0
- package/scripts/packager.sh +1 -1
- package/scripts/react-native-xcode.sh +0 -4
- package/scripts/react_native_pods.rb +122 -20
- package/scripts/react_native_pods_utils/script_phases.rb +2 -2
- package/scripts/react_native_pods_utils/script_phases.sh +4 -5
- package/scripts/xcode/with-environment.sh +47 -0
- package/sdks/.hermesversion +1 -0
- package/sdks/hermes-engine/hermes-engine.podspec +81 -0
- package/sdks/hermes-engine/utils/build-apple-framework.sh +106 -0
- package/sdks/hermes-engine/utils/build-ios-framework.sh +20 -0
- package/sdks/hermes-engine/utils/build-mac-framework.sh +16 -0
- package/template/Gemfile +1 -1
- package/template/_flowconfig +1 -2
- package/template/_gitignore +5 -3
- package/template/_ruby-version +1 -1
- package/template/android/app/build.gradle +16 -5
- package/template/android/app/src/main/java/com/helloworld/MainActivity.java +9 -1
- package/template/android/app/src/main/java/com/helloworld/newarchitecture/MainApplicationReactNativeHost.java +2 -2
- package/template/android/app/src/main/jni/Android.mk +2 -3
- package/template/android/build.gradle +2 -2
- package/template/android/settings.gradle +2 -0
- package/template/ios/HelloWorld/AppDelegate.mm +26 -1
- package/template/ios/HelloWorld.xcodeproj/project.pbxproj +11 -9
- package/template/ios/Podfile +4 -0
- package/template/ios/_xcode.env +11 -0
- package/template/package.json +4 -4
- package/third-party-podspecs/DoubleConversion.podspec +1 -1
- package/third-party-podspecs/RCT-Folly.podspec +4 -1
- package/third-party-podspecs/glog.podspec +1 -1
- package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -44
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +0 -45
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +0 -123
- package/Libraries/Components/View/ReactNativeViewViewConfig.js +0 -362
- package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +0 -83
- package/Libraries/ReactNative/UIManagerInjection.js +0 -15
- package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +0 -24527
- package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +0 -8309
- package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +0 -8961
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +0 -24948
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +0 -8400
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +0 -9049
- package/React/Views/RCTWeakViewHolder.h +0 -19
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java +0 -388
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBufferSoLoader.java +0 -33
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.cpp +0 -48
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.h +0 -40
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/BUCK +0 -21
- package/ReactAndroid/src/main/jni/first-party/hermes/Android.mk +0 -10
- package/ReactAndroid/src/main/third-party/android/androidx/BUCK +0 -731
- package/ReactAndroid/src/main/third-party/java/asm/BUCK +0 -75
- package/ReactAndroid/src/main/third-party/java/assertj/BUCK +0 -14
- package/ReactAndroid/src/main/third-party/java/buck-android-support/BUCK +0 -11
- package/ReactAndroid/src/main/third-party/java/buck-android-support/buck-android-support.jar +0 -0
- package/ReactAndroid/src/main/third-party/java/infer-annotations/BUCK +0 -14
- package/ReactAndroid/src/main/third-party/java/javapoet/BUCK +0 -14
- package/ReactAndroid/src/main/third-party/java/jsr-305/BUCK +0 -13
- package/ReactAndroid/src/main/third-party/java/jsr-330/BUCK +0 -13
- package/ReactAndroid/src/main/third-party/java/junit/BUCK +0 -36
- package/ReactAndroid/src/main/third-party/java/mockito/BUCK +0 -36
- package/ReactAndroid/src/main/third-party/java/mockito2/BUCK +0 -75
- package/ReactAndroid/src/main/third-party/java/okhttp/BUCK +0 -46
- package/ReactAndroid/src/main/third-party/java/okio/BUCK +0 -24
- package/ReactAndroid/src/main/third-party/java/robolectric/BUCK +0 -218
- package/ReactAndroid/src/main/third-party/java/sqlite/BUCK +0 -23
- package/ReactAndroid/src/main/third-party/java/testing-support-lib/BUCK +0 -13
- package/ReactAndroid/src/main/third-party/kotlin/BUCK +0 -91
- package/ReactCommon/butter/optional.h +0 -38
- package/ReactCommon/common.mk +0 -29
- package/ReactCommon/react/renderer/mounting/MountingTransactionMetadata.h +0 -32
- package/ReactCommon/react/utils/LayoutManager.h +0 -150
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7-sources.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.module +0 -272
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.module.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.module.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.module.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.module.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.pom.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.pom.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.pom.sha512 +0 -1
- package/flow/Promise.js +0 -47
- package/template/Gemfile.lock +0 -100
|
@@ -37,7 +37,9 @@ import com.facebook.react.bridge.UiThreadUtil;
|
|
|
37
37
|
import com.facebook.react.bridge.WritableMap;
|
|
38
38
|
import com.facebook.react.bridge.WritableNativeMap;
|
|
39
39
|
import com.facebook.react.common.annotations.VisibleForTesting;
|
|
40
|
+
import com.facebook.react.config.ReactFeatureFlags;
|
|
40
41
|
import com.facebook.react.uimanager.FabricViewStateManager;
|
|
42
|
+
import com.facebook.react.uimanager.JSPointerDispatcher;
|
|
41
43
|
import com.facebook.react.uimanager.JSTouchDispatcher;
|
|
42
44
|
import com.facebook.react.uimanager.PixelUtil;
|
|
43
45
|
import com.facebook.react.uimanager.RootView;
|
|
@@ -416,6 +418,7 @@ public class ReactModalHostView extends ViewGroup
|
|
|
416
418
|
private final FabricViewStateManager mFabricViewStateManager = new FabricViewStateManager();
|
|
417
419
|
|
|
418
420
|
private final JSTouchDispatcher mJSTouchDispatcher = new JSTouchDispatcher(this);
|
|
421
|
+
@Nullable private JSPointerDispatcher mJSPointerDispatcher;
|
|
419
422
|
|
|
420
423
|
private final ReactAndroidHWInputDeviceHelper mAndroidHWInputDeviceHelper;
|
|
421
424
|
|
|
@@ -425,6 +428,9 @@ public class ReactModalHostView extends ViewGroup
|
|
|
425
428
|
super(context);
|
|
426
429
|
mReactContext = (ReactContext)context;
|
|
427
430
|
mAndroidHWInputDeviceHelper = new ReactAndroidHWInputDeviceHelper();
|
|
431
|
+
if (ReactFeatureFlags.dispatchPointerEvents) {
|
|
432
|
+
mJSPointerDispatcher = new JSPointerDispatcher(this);
|
|
433
|
+
}
|
|
428
434
|
}
|
|
429
435
|
|
|
430
436
|
private void setEventDispatcher(EventDispatcher eventDispatcher) {
|
|
@@ -536,31 +542,59 @@ public class ReactModalHostView extends ViewGroup
|
|
|
536
542
|
@Override
|
|
537
543
|
public boolean onInterceptTouchEvent(MotionEvent event) {
|
|
538
544
|
mJSTouchDispatcher.handleTouchEvent(event, mEventDispatcher);
|
|
545
|
+
if (mJSPointerDispatcher != null) {
|
|
546
|
+
mJSPointerDispatcher.handleMotionEvent(event, mEventDispatcher);
|
|
547
|
+
}
|
|
539
548
|
return super.onInterceptTouchEvent(event);
|
|
540
549
|
}
|
|
541
550
|
|
|
542
551
|
@Override
|
|
543
552
|
public boolean onTouchEvent(MotionEvent event) {
|
|
544
553
|
mJSTouchDispatcher.handleTouchEvent(event, mEventDispatcher);
|
|
554
|
+
if (mJSPointerDispatcher != null) {
|
|
555
|
+
mJSPointerDispatcher.handleMotionEvent(event, mEventDispatcher);
|
|
556
|
+
}
|
|
545
557
|
super.onTouchEvent(event);
|
|
546
558
|
// In case when there is no children interested in handling touch event, we return true from
|
|
547
559
|
// the root view in order to receive subsequent events related to that gesture
|
|
548
560
|
return true;
|
|
549
561
|
}
|
|
550
562
|
|
|
563
|
+
@Override
|
|
564
|
+
public boolean onInterceptHoverEvent(MotionEvent event) {
|
|
565
|
+
if (mJSPointerDispatcher != null) {
|
|
566
|
+
mJSPointerDispatcher.handleMotionEvent(event, mEventDispatcher);
|
|
567
|
+
}
|
|
568
|
+
return super.onHoverEvent(event);
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
@Override
|
|
572
|
+
public boolean onHoverEvent(MotionEvent event) {
|
|
573
|
+
if (mJSPointerDispatcher != null) {
|
|
574
|
+
mJSPointerDispatcher.handleMotionEvent(event, mEventDispatcher);
|
|
575
|
+
}
|
|
576
|
+
return super.onHoverEvent(event);
|
|
577
|
+
}
|
|
578
|
+
|
|
551
579
|
@Override
|
|
552
580
|
public void onChildStartedNativeGesture(MotionEvent ev) {
|
|
553
|
-
|
|
581
|
+
this.onChildStartedNativeGesture(null, ev);
|
|
554
582
|
}
|
|
555
583
|
|
|
556
584
|
@Override
|
|
557
585
|
public void onChildStartedNativeGesture(View childView, MotionEvent ev) {
|
|
558
586
|
mJSTouchDispatcher.onChildStartedNativeGesture(ev, mEventDispatcher);
|
|
587
|
+
if (mJSPointerDispatcher != null) {
|
|
588
|
+
mJSPointerDispatcher.onChildStartedNativeGesture(childView, ev, mEventDispatcher);
|
|
589
|
+
}
|
|
559
590
|
}
|
|
560
591
|
|
|
561
592
|
@Override
|
|
562
593
|
public void onChildEndedNativeGesture(View childView, MotionEvent ev) {
|
|
563
594
|
mJSTouchDispatcher.onChildEndedNativeGesture(ev, mEventDispatcher);
|
|
595
|
+
if (mJSPointerDispatcher != null) {
|
|
596
|
+
mJSPointerDispatcher.onChildEndedNativeGesture();
|
|
597
|
+
}
|
|
564
598
|
}
|
|
565
599
|
|
|
566
600
|
@Override
|
|
@@ -5,7 +5,10 @@ rn_android_library(
|
|
|
5
5
|
srcs = glob(["*.java"]),
|
|
6
6
|
autoglob = False,
|
|
7
7
|
is_androidx = True,
|
|
8
|
-
labels = [
|
|
8
|
+
labels = [
|
|
9
|
+
"pfh:ReactNative_CommonInfrastructurePlaceholder",
|
|
10
|
+
"supermodule:xplat/default/public.react_native.infra",
|
|
11
|
+
],
|
|
9
12
|
visibility = [
|
|
10
13
|
"PUBLIC",
|
|
11
14
|
],
|
|
@@ -5,7 +5,10 @@ rn_android_library(
|
|
|
5
5
|
srcs = glob(["*.java"]),
|
|
6
6
|
autoglob = False,
|
|
7
7
|
is_androidx = True,
|
|
8
|
-
labels = [
|
|
8
|
+
labels = [
|
|
9
|
+
"pfh:ReactNative_CommonInfrastructurePlaceholder",
|
|
10
|
+
"supermodule:xplat/default/public.react_native.infra",
|
|
11
|
+
],
|
|
9
12
|
provided_deps = [
|
|
10
13
|
react_native_dep("third-party/android/androidx:annotation"),
|
|
11
14
|
react_native_dep("third-party/android/androidx:core"),
|
package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java
CHANGED
|
@@ -46,6 +46,7 @@ import com.facebook.react.uimanager.ReactOverflowViewWithInset;
|
|
|
46
46
|
import com.facebook.react.uimanager.ViewProps;
|
|
47
47
|
import com.facebook.react.uimanager.events.NativeGestureUtil;
|
|
48
48
|
import com.facebook.react.views.scroll.ReactScrollViewHelper.HasFlingAnimator;
|
|
49
|
+
import com.facebook.react.views.scroll.ReactScrollViewHelper.HasScrollEventThrottle;
|
|
49
50
|
import com.facebook.react.views.scroll.ReactScrollViewHelper.HasScrollState;
|
|
50
51
|
import com.facebook.react.views.scroll.ReactScrollViewHelper.ReactScrollViewScrollState;
|
|
51
52
|
import com.facebook.react.views.view.ReactViewBackgroundManager;
|
|
@@ -59,7 +60,8 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
59
60
|
FabricViewStateManager.HasFabricViewStateManager,
|
|
60
61
|
ReactOverflowViewWithInset,
|
|
61
62
|
HasScrollState,
|
|
62
|
-
HasFlingAnimator
|
|
63
|
+
HasFlingAnimator,
|
|
64
|
+
HasScrollEventThrottle {
|
|
63
65
|
|
|
64
66
|
private static boolean DEBUG_MODE = false && ReactBuildConfig.DEBUG;
|
|
65
67
|
private static String TAG = ReactHorizontalScrollView.class.getSimpleName();
|
|
@@ -106,6 +108,8 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
106
108
|
private final ReactScrollViewScrollState mReactScrollViewScrollState;
|
|
107
109
|
private final ValueAnimator DEFAULT_FLING_ANIMATOR = ObjectAnimator.ofInt(this, "scrollX", 0, 0);
|
|
108
110
|
private PointerEvents mPointerEvents = PointerEvents.AUTO;
|
|
111
|
+
private long mLastScrollDispatchTime = 0;
|
|
112
|
+
private int mScrollEventThrottle = 0;
|
|
109
113
|
|
|
110
114
|
private final Rect mTempRect = new Rect();
|
|
111
115
|
|
|
@@ -468,11 +472,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
468
472
|
|
|
469
473
|
try {
|
|
470
474
|
if (super.onInterceptTouchEvent(ev)) {
|
|
471
|
-
|
|
472
|
-
ReactScrollViewHelper.emitScrollBeginDragEvent(this);
|
|
473
|
-
mDragging = true;
|
|
474
|
-
enableFpsListener();
|
|
475
|
-
getFlingAnimator().cancel();
|
|
475
|
+
handleInterceptedTouchEvent(ev);
|
|
476
476
|
return true;
|
|
477
477
|
}
|
|
478
478
|
} catch (IllegalArgumentException e) {
|
|
@@ -485,6 +485,14 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
485
485
|
return false;
|
|
486
486
|
}
|
|
487
487
|
|
|
488
|
+
protected void handleInterceptedTouchEvent(MotionEvent ev) {
|
|
489
|
+
NativeGestureUtil.notifyNativeGestureStarted(this, ev);
|
|
490
|
+
ReactScrollViewHelper.emitScrollBeginDragEvent(this);
|
|
491
|
+
mDragging = true;
|
|
492
|
+
enableFpsListener();
|
|
493
|
+
getFlingAnimator().cancel();
|
|
494
|
+
}
|
|
495
|
+
|
|
488
496
|
@Override
|
|
489
497
|
public boolean pageScroll(int direction) {
|
|
490
498
|
boolean handled = super.pageScroll(direction);
|
|
@@ -539,7 +547,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
539
547
|
}
|
|
540
548
|
|
|
541
549
|
mVelocityHelper.calculateVelocity(ev);
|
|
542
|
-
int action = ev.
|
|
550
|
+
int action = ev.getActionMasked();
|
|
543
551
|
if (action == MotionEvent.ACTION_UP && mDragging) {
|
|
544
552
|
ReactScrollViewHelper.updateFabricScrollState(this);
|
|
545
553
|
|
|
@@ -552,6 +560,10 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
552
560
|
handlePostTouchScrolling(Math.round(velocityX), Math.round(velocityY));
|
|
553
561
|
}
|
|
554
562
|
|
|
563
|
+
if (action == MotionEvent.ACTION_DOWN) {
|
|
564
|
+
cancelPostTouchScrolling();
|
|
565
|
+
}
|
|
566
|
+
|
|
555
567
|
return super.onTouchEvent(ev);
|
|
556
568
|
}
|
|
557
569
|
|
|
@@ -669,8 +681,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
669
681
|
}
|
|
670
682
|
|
|
671
683
|
private View getContentView() {
|
|
672
|
-
|
|
673
|
-
return contentView;
|
|
684
|
+
return getChildAt(0);
|
|
674
685
|
}
|
|
675
686
|
|
|
676
687
|
public void setEndFillColor(int color) {
|
|
@@ -830,6 +841,14 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
830
841
|
this, mPostTouchRunnable, ReactScrollViewHelper.MOMENTUM_DELAY);
|
|
831
842
|
}
|
|
832
843
|
|
|
844
|
+
private void cancelPostTouchScrolling() {
|
|
845
|
+
if (mPostTouchRunnable != null) {
|
|
846
|
+
removeCallbacks(mPostTouchRunnable);
|
|
847
|
+
mPostTouchRunnable = null;
|
|
848
|
+
getFlingAnimator().cancel();
|
|
849
|
+
}
|
|
850
|
+
}
|
|
851
|
+
|
|
833
852
|
private int predictFinalScrollPosition(int velocityX) {
|
|
834
853
|
// predict where a fling would end up so we can scroll to the nearest snap offset
|
|
835
854
|
final int maximumOffset = Math.max(0, computeHorizontalScrollRange() - getWidth());
|
|
@@ -1199,12 +1218,13 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
1199
1218
|
}
|
|
1200
1219
|
|
|
1201
1220
|
super.scrollTo(x, y);
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1221
|
+
ReactScrollViewHelper.updateFabricScrollState(this);
|
|
1222
|
+
setPendingContentOffsets(x, y);
|
|
1223
|
+
}
|
|
1224
|
+
|
|
1225
|
+
private boolean isContentReady() {
|
|
1226
|
+
View child = getContentView();
|
|
1227
|
+
return child != null && child.getWidth() != 0 && child.getHeight() != 0;
|
|
1208
1228
|
}
|
|
1209
1229
|
|
|
1210
1230
|
/**
|
|
@@ -1218,8 +1238,8 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
1218
1238
|
if (DEBUG_MODE) {
|
|
1219
1239
|
FLog.i(TAG, "setPendingContentOffsets[%d] x %d y %d", getId(), x, y);
|
|
1220
1240
|
}
|
|
1221
|
-
|
|
1222
|
-
if (
|
|
1241
|
+
|
|
1242
|
+
if (isContentReady()) {
|
|
1223
1243
|
pendingContentOffsetX = UNSET_CONTENT_OFFSET;
|
|
1224
1244
|
pendingContentOffsetY = UNSET_CONTENT_OFFSET;
|
|
1225
1245
|
} else {
|
|
@@ -1278,4 +1298,24 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
1278
1298
|
public PointerEvents getPointerEvents() {
|
|
1279
1299
|
return mPointerEvents;
|
|
1280
1300
|
}
|
|
1301
|
+
|
|
1302
|
+
@Override
|
|
1303
|
+
public void setScrollEventThrottle(int scrollEventThrottle) {
|
|
1304
|
+
mScrollEventThrottle = scrollEventThrottle;
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1307
|
+
@Override
|
|
1308
|
+
public int getScrollEventThrottle() {
|
|
1309
|
+
return mScrollEventThrottle;
|
|
1310
|
+
}
|
|
1311
|
+
|
|
1312
|
+
@Override
|
|
1313
|
+
public void setLastScrollDispatchTime(long lastScrollDispatchTime) {
|
|
1314
|
+
mLastScrollDispatchTime = lastScrollDispatchTime;
|
|
1315
|
+
}
|
|
1316
|
+
|
|
1317
|
+
@Override
|
|
1318
|
+
public long getLastScrollDispatchTime() {
|
|
1319
|
+
return mLastScrollDispatchTime;
|
|
1320
|
+
}
|
|
1281
1321
|
}
|
|
@@ -8,14 +8,12 @@
|
|
|
8
8
|
package com.facebook.react.views.scroll;
|
|
9
9
|
|
|
10
10
|
import android.graphics.Color;
|
|
11
|
-
import android.util.DisplayMetrics;
|
|
12
11
|
import androidx.annotation.Nullable;
|
|
13
12
|
import androidx.core.view.ViewCompat;
|
|
14
13
|
import com.facebook.react.modules.i18nmanager.I18nUtil;
|
|
15
14
|
import com.facebook.react.bridge.ReadableArray;
|
|
16
15
|
import com.facebook.react.bridge.ReadableMap;
|
|
17
16
|
import com.facebook.react.module.annotations.ReactModule;
|
|
18
|
-
import com.facebook.react.uimanager.DisplayMetricsHolder;
|
|
19
17
|
import com.facebook.react.uimanager.PixelUtil;
|
|
20
18
|
import com.facebook.react.uimanager.PointerEvents;
|
|
21
19
|
import com.facebook.react.uimanager.ReactClippingViewGroupHelper;
|
|
@@ -104,8 +102,8 @@ public class ReactHorizontalScrollViewManager extends ViewGroupManager<ReactHori
|
|
|
104
102
|
@ReactProp(name = "snapToInterval")
|
|
105
103
|
public void setSnapToInterval(ReactHorizontalScrollView view, float snapToInterval) {
|
|
106
104
|
// snapToInterval needs to be exposed as a float because of the Javascript interface.
|
|
107
|
-
|
|
108
|
-
view.setSnapInterval((int) (snapToInterval *
|
|
105
|
+
float density = PixelUtil.getDisplayMetricDensity();
|
|
106
|
+
view.setSnapInterval((int) (snapToInterval * density));
|
|
109
107
|
}
|
|
110
108
|
|
|
111
109
|
@ReactProp(name = "snapToAlignment")
|
|
@@ -116,15 +114,15 @@ public class ReactHorizontalScrollViewManager extends ViewGroupManager<ReactHori
|
|
|
116
114
|
@ReactProp(name = "snapToOffsets")
|
|
117
115
|
public void setSnapToOffsets(
|
|
118
116
|
ReactHorizontalScrollView view, @Nullable ReadableArray snapToOffsets) {
|
|
119
|
-
if (snapToOffsets == null) {
|
|
117
|
+
if (snapToOffsets == null || snapToOffsets.size() == 0) {
|
|
120
118
|
view.setSnapOffsets(null);
|
|
121
119
|
return;
|
|
122
120
|
}
|
|
123
121
|
|
|
124
|
-
|
|
122
|
+
float density = PixelUtil.getDisplayMetricDensity();
|
|
125
123
|
List<Integer> offsets = new ArrayList<Integer>();
|
|
126
124
|
for (int i = 0; i < snapToOffsets.size(); i++) {
|
|
127
|
-
offsets.add((int) (snapToOffsets.getDouble(i) *
|
|
125
|
+
offsets.add((int) (snapToOffsets.getDouble(i) * density));
|
|
128
126
|
}
|
|
129
127
|
view.setSnapOffsets(offsets);
|
|
130
128
|
}
|
|
@@ -359,4 +357,9 @@ public class ReactHorizontalScrollViewManager extends ViewGroupManager<ReactHori
|
|
|
359
357
|
public void setPointerEvents(ReactHorizontalScrollView view, @Nullable String pointerEventsStr) {
|
|
360
358
|
view.setPointerEvents(PointerEvents.parsePointerEvents(pointerEventsStr));
|
|
361
359
|
}
|
|
360
|
+
|
|
361
|
+
@ReactProp(name = "scrollEventThrottle")
|
|
362
|
+
public void setScrollEventThrottle(ReactHorizontalScrollView view, int scrollEventThrottle) {
|
|
363
|
+
view.setScrollEventThrottle(scrollEventThrottle);
|
|
364
|
+
}
|
|
362
365
|
}
|
|
@@ -42,6 +42,7 @@ import com.facebook.react.uimanager.ReactOverflowViewWithInset;
|
|
|
42
42
|
import com.facebook.react.uimanager.ViewProps;
|
|
43
43
|
import com.facebook.react.uimanager.events.NativeGestureUtil;
|
|
44
44
|
import com.facebook.react.views.scroll.ReactScrollViewHelper.HasFlingAnimator;
|
|
45
|
+
import com.facebook.react.views.scroll.ReactScrollViewHelper.HasScrollEventThrottle;
|
|
45
46
|
import com.facebook.react.views.scroll.ReactScrollViewHelper.HasScrollState;
|
|
46
47
|
import com.facebook.react.views.scroll.ReactScrollViewHelper.ReactScrollViewScrollState;
|
|
47
48
|
import com.facebook.react.views.view.ReactViewBackgroundManager;
|
|
@@ -62,7 +63,8 @@ public class ReactScrollView extends ScrollView
|
|
|
62
63
|
FabricViewStateManager.HasFabricViewStateManager,
|
|
63
64
|
ReactOverflowViewWithInset,
|
|
64
65
|
HasScrollState,
|
|
65
|
-
HasFlingAnimator
|
|
66
|
+
HasFlingAnimator,
|
|
67
|
+
HasScrollEventThrottle {
|
|
66
68
|
|
|
67
69
|
private static @Nullable Field sScrollerField;
|
|
68
70
|
private static boolean sTriedToGetScrollerField = false;
|
|
@@ -103,6 +105,8 @@ public class ReactScrollView extends ScrollView
|
|
|
103
105
|
new ReactScrollViewScrollState(ViewCompat.LAYOUT_DIRECTION_LTR);
|
|
104
106
|
private final ValueAnimator DEFAULT_FLING_ANIMATOR = ObjectAnimator.ofInt(this, "scrollY", 0, 0);
|
|
105
107
|
private PointerEvents mPointerEvents = PointerEvents.AUTO;
|
|
108
|
+
private long mLastScrollDispatchTime = 0;
|
|
109
|
+
private int mScrollEventThrottle = 0;
|
|
106
110
|
|
|
107
111
|
public ReactScrollView(Context context) {
|
|
108
112
|
this(context, null);
|
|
@@ -254,8 +258,8 @@ public class ReactScrollView extends ScrollView
|
|
|
254
258
|
@Override
|
|
255
259
|
protected void onLayout(boolean changed, int l, int t, int r, int b) {
|
|
256
260
|
// Call with the present values in order to re-layout if necessary
|
|
257
|
-
// If a "pending" value has been set, we restore that value.
|
|
258
|
-
//
|
|
261
|
+
// If a "pending" content offset value has been set, we restore that value.
|
|
262
|
+
// Upon call to scrollTo, the "pending" values will be re-set.
|
|
259
263
|
int scrollToX =
|
|
260
264
|
pendingContentOffsetX != UNSET_CONTENT_OFFSET ? pendingContentOffsetX : getScrollX();
|
|
261
265
|
int scrollToY =
|
|
@@ -348,11 +352,7 @@ public class ReactScrollView extends ScrollView
|
|
|
348
352
|
|
|
349
353
|
try {
|
|
350
354
|
if (super.onInterceptTouchEvent(ev)) {
|
|
351
|
-
|
|
352
|
-
ReactScrollViewHelper.emitScrollBeginDragEvent(this);
|
|
353
|
-
mDragging = true;
|
|
354
|
-
enableFpsListener();
|
|
355
|
-
getFlingAnimator().cancel();
|
|
355
|
+
handleInterceptedTouchEvent(ev);
|
|
356
356
|
return true;
|
|
357
357
|
}
|
|
358
358
|
} catch (IllegalArgumentException e) {
|
|
@@ -365,6 +365,14 @@ public class ReactScrollView extends ScrollView
|
|
|
365
365
|
return false;
|
|
366
366
|
}
|
|
367
367
|
|
|
368
|
+
protected void handleInterceptedTouchEvent(MotionEvent ev) {
|
|
369
|
+
NativeGestureUtil.notifyNativeGestureStarted(this, ev);
|
|
370
|
+
ReactScrollViewHelper.emitScrollBeginDragEvent(this);
|
|
371
|
+
mDragging = true;
|
|
372
|
+
enableFpsListener();
|
|
373
|
+
getFlingAnimator().cancel();
|
|
374
|
+
}
|
|
375
|
+
|
|
368
376
|
@Override
|
|
369
377
|
public boolean onTouchEvent(MotionEvent ev) {
|
|
370
378
|
if (!mScrollEnabled) {
|
|
@@ -377,7 +385,7 @@ public class ReactScrollView extends ScrollView
|
|
|
377
385
|
}
|
|
378
386
|
|
|
379
387
|
mVelocityHelper.calculateVelocity(ev);
|
|
380
|
-
int action = ev.
|
|
388
|
+
int action = ev.getActionMasked();
|
|
381
389
|
if (action == MotionEvent.ACTION_UP && mDragging) {
|
|
382
390
|
ReactScrollViewHelper.updateFabricScrollState(this);
|
|
383
391
|
|
|
@@ -390,6 +398,10 @@ public class ReactScrollView extends ScrollView
|
|
|
390
398
|
handlePostTouchScrolling(Math.round(velocityX), Math.round(velocityY));
|
|
391
399
|
}
|
|
392
400
|
|
|
401
|
+
if (action == MotionEvent.ACTION_DOWN) {
|
|
402
|
+
cancelPostTouchScrolling();
|
|
403
|
+
}
|
|
404
|
+
|
|
393
405
|
return super.onTouchEvent(ev);
|
|
394
406
|
}
|
|
395
407
|
|
|
@@ -619,6 +631,14 @@ public class ReactScrollView extends ScrollView
|
|
|
619
631
|
this, mPostTouchRunnable, ReactScrollViewHelper.MOMENTUM_DELAY);
|
|
620
632
|
}
|
|
621
633
|
|
|
634
|
+
private void cancelPostTouchScrolling() {
|
|
635
|
+
if (mPostTouchRunnable != null) {
|
|
636
|
+
removeCallbacks(mPostTouchRunnable);
|
|
637
|
+
mPostTouchRunnable = null;
|
|
638
|
+
getFlingAnimator().cancel();
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
|
|
622
642
|
private int predictFinalScrollPosition(int velocityY) {
|
|
623
643
|
// predict where a fling would end up so we can scroll to the nearest snap offset
|
|
624
644
|
// TODO(T106335409): Existing prediction still uses overscroller. Consider change this to use
|
|
@@ -962,10 +982,10 @@ public class ReactScrollView extends ScrollView
|
|
|
962
982
|
}
|
|
963
983
|
|
|
964
984
|
/**
|
|
965
|
-
* Calls `
|
|
985
|
+
* Calls `super.scrollTo` and updates state.
|
|
966
986
|
*
|
|
967
|
-
* <p>`
|
|
968
|
-
* scroll view and state.
|
|
987
|
+
* <p>`super.scrollTo` changes `contentOffset` and we need to keep `contentOffset` in sync between
|
|
988
|
+
* scroll view and state.
|
|
969
989
|
*
|
|
970
990
|
* <p>Note that while we can override scrollTo, we *cannot* override `smoothScrollTo` because it
|
|
971
991
|
* is final. See `reactSmoothScrollTo`.
|
|
@@ -973,12 +993,13 @@ public class ReactScrollView extends ScrollView
|
|
|
973
993
|
@Override
|
|
974
994
|
public void scrollTo(int x, int y) {
|
|
975
995
|
super.scrollTo(x, y);
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
996
|
+
ReactScrollViewHelper.updateFabricScrollState(this);
|
|
997
|
+
setPendingContentOffsets(x, y);
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
private boolean isContentReady() {
|
|
1001
|
+
View child = getContentView();
|
|
1002
|
+
return child != null && child.getWidth() != 0 && child.getHeight() != 0;
|
|
982
1003
|
}
|
|
983
1004
|
|
|
984
1005
|
/**
|
|
@@ -989,8 +1010,7 @@ public class ReactScrollView extends ScrollView
|
|
|
989
1010
|
* @param y
|
|
990
1011
|
*/
|
|
991
1012
|
private void setPendingContentOffsets(int x, int y) {
|
|
992
|
-
|
|
993
|
-
if (child != null && child.getWidth() != 0 && child.getHeight() != 0) {
|
|
1013
|
+
if (isContentReady()) {
|
|
994
1014
|
pendingContentOffsetX = UNSET_CONTENT_OFFSET;
|
|
995
1015
|
pendingContentOffsetY = UNSET_CONTENT_OFFSET;
|
|
996
1016
|
} else {
|
|
@@ -1140,4 +1160,24 @@ public class ReactScrollView extends ScrollView
|
|
|
1140
1160
|
public PointerEvents getPointerEvents() {
|
|
1141
1161
|
return mPointerEvents;
|
|
1142
1162
|
}
|
|
1163
|
+
|
|
1164
|
+
@Override
|
|
1165
|
+
public void setScrollEventThrottle(int scrollEventThrottle) {
|
|
1166
|
+
mScrollEventThrottle = scrollEventThrottle;
|
|
1167
|
+
}
|
|
1168
|
+
|
|
1169
|
+
@Override
|
|
1170
|
+
public int getScrollEventThrottle() {
|
|
1171
|
+
return mScrollEventThrottle;
|
|
1172
|
+
}
|
|
1173
|
+
|
|
1174
|
+
@Override
|
|
1175
|
+
public void setLastScrollDispatchTime(long lastScrollDispatchTime) {
|
|
1176
|
+
mLastScrollDispatchTime = lastScrollDispatchTime;
|
|
1177
|
+
}
|
|
1178
|
+
|
|
1179
|
+
@Override
|
|
1180
|
+
public long getLastScrollDispatchTime() {
|
|
1181
|
+
return mLastScrollDispatchTime;
|
|
1182
|
+
}
|
|
1143
1183
|
}
|
package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java
CHANGED
|
@@ -22,6 +22,7 @@ import com.facebook.react.bridge.ReactContext;
|
|
|
22
22
|
import com.facebook.react.bridge.WritableMap;
|
|
23
23
|
import com.facebook.react.bridge.WritableNativeMap;
|
|
24
24
|
import com.facebook.react.common.build.ReactBuildConfig;
|
|
25
|
+
import com.facebook.react.config.ReactFeatureFlags;
|
|
25
26
|
import com.facebook.react.uimanager.FabricViewStateManager;
|
|
26
27
|
import com.facebook.react.uimanager.PixelUtil;
|
|
27
28
|
import com.facebook.react.uimanager.UIManagerHelper;
|
|
@@ -68,34 +69,49 @@ public class ReactScrollViewHelper {
|
|
|
68
69
|
private static boolean mSmoothScrollDurationInitialized = false;
|
|
69
70
|
|
|
70
71
|
/** Shared by {@link ReactScrollView} and {@link ReactHorizontalScrollView}. */
|
|
71
|
-
public static
|
|
72
|
+
public static <T extends ViewGroup & HasScrollEventThrottle> void emitScrollEvent(
|
|
73
|
+
T scrollView, float xVelocity, float yVelocity) {
|
|
72
74
|
emitScrollEvent(scrollView, ScrollEventType.SCROLL, xVelocity, yVelocity);
|
|
73
75
|
}
|
|
74
76
|
|
|
75
|
-
public static void emitScrollBeginDragEvent(
|
|
77
|
+
public static <T extends ViewGroup & HasScrollEventThrottle> void emitScrollBeginDragEvent(
|
|
78
|
+
T scrollView) {
|
|
76
79
|
emitScrollEvent(scrollView, ScrollEventType.BEGIN_DRAG);
|
|
77
80
|
}
|
|
78
81
|
|
|
79
|
-
public static void emitScrollEndDragEvent(
|
|
80
|
-
|
|
82
|
+
public static <T extends ViewGroup & HasScrollEventThrottle> void emitScrollEndDragEvent(
|
|
83
|
+
T scrollView, float xVelocity, float yVelocity) {
|
|
81
84
|
emitScrollEvent(scrollView, ScrollEventType.END_DRAG, xVelocity, yVelocity);
|
|
82
85
|
}
|
|
83
86
|
|
|
84
|
-
public static void emitScrollMomentumBeginEvent(
|
|
85
|
-
|
|
87
|
+
public static <T extends ViewGroup & HasScrollEventThrottle> void emitScrollMomentumBeginEvent(
|
|
88
|
+
T scrollView, int xVelocity, int yVelocity) {
|
|
86
89
|
emitScrollEvent(scrollView, ScrollEventType.MOMENTUM_BEGIN, xVelocity, yVelocity);
|
|
87
90
|
}
|
|
88
91
|
|
|
89
|
-
public static void emitScrollMomentumEndEvent(
|
|
92
|
+
public static <T extends ViewGroup & HasScrollEventThrottle> void emitScrollMomentumEndEvent(
|
|
93
|
+
T scrollView) {
|
|
90
94
|
emitScrollEvent(scrollView, ScrollEventType.MOMENTUM_END);
|
|
91
95
|
}
|
|
92
96
|
|
|
93
|
-
private static
|
|
97
|
+
private static <T extends ViewGroup & HasScrollEventThrottle> void emitScrollEvent(
|
|
98
|
+
T scrollView, ScrollEventType scrollEventType) {
|
|
94
99
|
emitScrollEvent(scrollView, scrollEventType, 0, 0);
|
|
95
100
|
}
|
|
96
101
|
|
|
97
|
-
private static void emitScrollEvent(
|
|
98
|
-
|
|
102
|
+
private static <T extends ViewGroup & HasScrollEventThrottle> void emitScrollEvent(
|
|
103
|
+
T scrollView, ScrollEventType scrollEventType, float xVelocity, float yVelocity) {
|
|
104
|
+
long now = System.currentTimeMillis();
|
|
105
|
+
// Throttle the scroll event if scrollEventThrottle is set to be equal or more than 17 ms.
|
|
106
|
+
// We limit the delta to 17ms so that small throttles intended to enable 60fps updates will not
|
|
107
|
+
// inadvertently filter out any scroll events.
|
|
108
|
+
if (ReactFeatureFlags.enableScrollEventThrottle
|
|
109
|
+
&& scrollView.getScrollEventThrottle()
|
|
110
|
+
>= Math.max(17, now - scrollView.getLastScrollDispatchTime())) {
|
|
111
|
+
// Scroll events are throttled.
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
|
|
99
115
|
View contentView = scrollView.getChildAt(0);
|
|
100
116
|
|
|
101
117
|
if (contentView == null) {
|
|
@@ -129,6 +145,7 @@ public class ReactScrollViewHelper {
|
|
|
129
145
|
contentView.getHeight(),
|
|
130
146
|
scrollView.getWidth(),
|
|
131
147
|
scrollView.getHeight()));
|
|
148
|
+
scrollView.setLastScrollDispatchTime(now);
|
|
132
149
|
}
|
|
133
150
|
}
|
|
134
151
|
|
|
@@ -469,7 +486,7 @@ public class ReactScrollViewHelper {
|
|
|
469
486
|
public static <
|
|
470
487
|
T extends
|
|
471
488
|
ViewGroup & FabricViewStateManager.HasFabricViewStateManager & HasScrollState
|
|
472
|
-
& HasFlingAnimator>
|
|
489
|
+
& HasFlingAnimator & HasScrollEventThrottle>
|
|
473
490
|
void updateStateOnScrollChanged(
|
|
474
491
|
final T scrollView, final float xVelocity, final float yVelocity) {
|
|
475
492
|
// Race an UpdateState with every onScroll. This makes it more likely that, in Fabric,
|
|
@@ -579,4 +596,21 @@ public class ReactScrollViewHelper {
|
|
|
579
596
|
/** Get the fling distance with current velocity for prediction */
|
|
580
597
|
int getFlingExtrapolatedDistance(int velocity);
|
|
581
598
|
}
|
|
599
|
+
|
|
600
|
+
public interface HasScrollEventThrottle {
|
|
601
|
+
/**
|
|
602
|
+
* Set the scroll event throttle in ms. This number is used to throttle the scroll events. The
|
|
603
|
+
* default value is zero, which means the scroll events are sent with no throttle.
|
|
604
|
+
*/
|
|
605
|
+
void setScrollEventThrottle(int scrollEventThrottle);
|
|
606
|
+
|
|
607
|
+
/** Get the scroll event throttle in ms. */
|
|
608
|
+
int getScrollEventThrottle();
|
|
609
|
+
|
|
610
|
+
/** Set the scroll view's last dispatch time for throttling */
|
|
611
|
+
void setLastScrollDispatchTime(long lastScrollDispatchTime);
|
|
612
|
+
|
|
613
|
+
/** Get the scroll view dispatch time for throttling */
|
|
614
|
+
long getLastScrollDispatchTime();
|
|
615
|
+
}
|
|
582
616
|
}
|
package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java
CHANGED
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
package com.facebook.react.views.scroll;
|
|
9
9
|
|
|
10
10
|
import android.graphics.Color;
|
|
11
|
-
import android.util.DisplayMetrics;
|
|
12
11
|
import android.view.View;
|
|
13
12
|
import androidx.annotation.Nullable;
|
|
14
13
|
import androidx.core.view.ViewCompat;
|
|
@@ -17,7 +16,6 @@ import com.facebook.react.bridge.ReadableMap;
|
|
|
17
16
|
import com.facebook.react.bridge.RetryableMountingLayerException;
|
|
18
17
|
import com.facebook.react.common.MapBuilder;
|
|
19
18
|
import com.facebook.react.module.annotations.ReactModule;
|
|
20
|
-
import com.facebook.react.uimanager.DisplayMetricsHolder;
|
|
21
19
|
import com.facebook.react.uimanager.PixelUtil;
|
|
22
20
|
import com.facebook.react.uimanager.PointerEvents;
|
|
23
21
|
import com.facebook.react.uimanager.ReactClippingViewGroupHelper;
|
|
@@ -98,21 +96,21 @@ public class ReactScrollViewManager extends ViewGroupManager<ReactScrollView>
|
|
|
98
96
|
@ReactProp(name = "snapToInterval")
|
|
99
97
|
public void setSnapToInterval(ReactScrollView view, float snapToInterval) {
|
|
100
98
|
// snapToInterval needs to be exposed as a float because of the Javascript interface.
|
|
101
|
-
|
|
102
|
-
view.setSnapInterval((int) (snapToInterval *
|
|
99
|
+
float density = PixelUtil.getDisplayMetricDensity();
|
|
100
|
+
view.setSnapInterval((int) (snapToInterval * density));
|
|
103
101
|
}
|
|
104
102
|
|
|
105
103
|
@ReactProp(name = "snapToOffsets")
|
|
106
104
|
public void setSnapToOffsets(ReactScrollView view, @Nullable ReadableArray snapToOffsets) {
|
|
107
|
-
if (snapToOffsets == null) {
|
|
105
|
+
if (snapToOffsets == null || snapToOffsets.size() == 0) {
|
|
108
106
|
view.setSnapOffsets(null);
|
|
109
107
|
return;
|
|
110
108
|
}
|
|
111
109
|
|
|
112
|
-
|
|
110
|
+
float density = PixelUtil.getDisplayMetricDensity();
|
|
113
111
|
List<Integer> offsets = new ArrayList<Integer>();
|
|
114
112
|
for (int i = 0; i < snapToOffsets.size(); i++) {
|
|
115
|
-
offsets.add((int) (snapToOffsets.getDouble(i) *
|
|
113
|
+
offsets.add((int) (snapToOffsets.getDouble(i) * density));
|
|
116
114
|
}
|
|
117
115
|
view.setSnapOffsets(offsets);
|
|
118
116
|
}
|
|
@@ -369,4 +367,9 @@ public class ReactScrollViewManager extends ViewGroupManager<ReactScrollView>
|
|
|
369
367
|
public void setPointerEvents(ReactScrollView view, @Nullable String pointerEventsStr) {
|
|
370
368
|
view.setPointerEvents(PointerEvents.parsePointerEvents(pointerEventsStr));
|
|
371
369
|
}
|
|
370
|
+
|
|
371
|
+
@ReactProp(name = "scrollEventThrottle")
|
|
372
|
+
public void setScrollEventThrottle(ReactScrollView view, int scrollEventThrottle) {
|
|
373
|
+
view.setScrollEventThrottle(scrollEventThrottle);
|
|
374
|
+
}
|
|
372
375
|
}
|