react-native 0.68.1 → 0.69.0-rc.1
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/CHANGELOG.md +250 -0
- 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/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 +3 -3
- 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 +21 -9
- 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 +17 -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/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 +3 -3
- 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 +40 -11
- 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/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 +9 -3
- 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 +158 -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/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/.npmignore +6 -2
- package/ReactAndroid/Android-prebuilt.mk +7 -13
- package/ReactAndroid/build.gradle +76 -85
- package/ReactAndroid/gradle.properties +3 -2
- package/ReactAndroid/hermes-engine/.npmignore +3 -0
- 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 +3 -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 -32
- 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/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 +1 -1
- 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 +1 -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 +2 -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 +2 -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 +2 -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 +3 -3
- 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/Android.mk +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 +3 -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 +1 -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/Android.mk +1 -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 +14 -5
- package/ReactAndroid/src/main/jni/react/jni/BUCK +4 -1
- package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +73 -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/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 +4 -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-rncore.podspec +1 -1
- package/ReactCommon/ReactCommon.podspec +4 -3
- package/ReactCommon/butter/Android.mk +1 -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 +6 -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 +3 -3
- package/ReactCommon/cxxreact/tests/BUCK +1 -1
- package/ReactCommon/hermes/React-hermes.podspec +1 -1
- package/ReactCommon/hermes/executor/Android.mk +23 -19
- package/ReactCommon/hermes/executor/CMakeLists.txt +29 -0
- package/ReactCommon/hermes/inspector/Android.mk +6 -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 +4 -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 +2 -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/Android.mk +1 -0
- package/ReactCommon/jsinspector/BUCK +4 -1
- package/ReactCommon/jsinspector/CMakeLists.txt +14 -0
- package/ReactCommon/jsinspector/React-jsinspector.podspec +1 -1
- package/ReactCommon/logger/Android.mk +1 -0
- 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/React-bridging.podspec +41 -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/Android.mk +1 -0
- package/ReactCommon/react/config/BUCK +4 -1
- package/ReactCommon/react/config/CMakeLists.txt +19 -0
- package/ReactCommon/react/debug/Android.mk +2 -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 +8 -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.mm +3 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +17 -7
- package/ReactCommon/react/nativemodule/samples/BUCK +4 -1
- package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +1 -0
- package/ReactCommon/react/renderer/animations/Android.mk +2 -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 +2 -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 +3 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +18 -7
- 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 +96 -3
- 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 +2 -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 +2 -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 +2 -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 +2 -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/Android.mk +1 -0
- package/ReactCommon/react/renderer/leakchecker/BUCK +4 -1
- package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +18 -0
- package/ReactCommon/react/renderer/mapbuffer/Android.mk +1 -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 +2 -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/Android.mk +1 -0
- 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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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/Android.mk +1 -0
- 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/Android.mk +1 -0
- package/ReactCommon/yoga/CMakeLists.txt +16 -0
- package/ReactCommon/yoga/Yoga-umbrella.h +21 -0
- package/ReactCommon/yoga/Yoga.modulemap +6 -0
- package/ReactCommon/yoga/Yoga.podspec +21 -7
- package/ReactCommon/yoga/yoga/Yoga.cpp +1 -1
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug-javadoc.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug-sources.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug-sources.jar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug.aar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug.aar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug.aar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug.aar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-debug.aar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release-javadoc.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release-sources.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release-sources.jar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release.aar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release.aar.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release.aar.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release.aar.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1-release.aar.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1.module +246 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1.module.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1.module.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1.module.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1.module.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1.pom +44 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1.pom.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1.pom.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1.pom.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/0.69.0-rc.1/hermes-engine-0.69.0-rc.1.pom.sha512 +1 -0
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml +13 -0
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.md5 +1 -0
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha1 +1 -0
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha256 +1 -0
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug-javadoc.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug-sources.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug-sources.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug.aar +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-debug.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release-javadoc.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release-javadoc.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release-javadoc.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release-javadoc.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release-javadoc.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.1/react-native-0.68.1-sources.jar → 0.69.0-rc.1/react-native-0.69.0-rc.1-release-sources.jar} +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release-sources.jar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release-sources.jar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release-sources.jar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release-sources.jar.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.1/react-native-0.68.1.aar → 0.69.0-rc.1/react-native-0.69.0-rc.1-release.aar} +0 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1-release.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1.module +670 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.68.1/react-native-0.68.1.pom → 0.69.0-rc.1/react-native-0.69.0-rc.1.pom} +32 -3
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.69.0-rc.1/react-native-0.69.0-rc.1.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/preprocessor.js +24 -107
- package/jest/preprocessor_DO_NOT_USE.js +122 -0
- package/package.json +26 -22
- package/react-native.config.js +1 -3
- package/react.gradle +47 -23
- package/scripts/{find-node.sh → find-node-for-xcode.sh} +11 -0
- package/scripts/generate-artifacts.js +16 -6
- package/scripts/packager.sh +1 -1
- package/scripts/react-native-xcode.sh +0 -4
- package/scripts/react_native_pods.rb +121 -17
- 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/hermes-engine.podspec +53 -0
- package/sdks/hermesc/linux64-bin/hermesc +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/sdks/hermesc/win64-bin/icudt64.dll +0 -0
- package/sdks/hermesc/win64-bin/icuin64.dll +0 -0
- package/sdks/hermesc/win64-bin/icuio64.dll +0 -0
- package/sdks/hermesc/win64-bin/icutest64.dll +0 -0
- package/sdks/hermesc/win64-bin/icutu64.dll +0 -0
- package/sdks/hermesc/win64-bin/icuuc64.dll +0 -0
- package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
- package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
- package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -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 +11 -12
- 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 -6
- package/template/android/settings.gradle +2 -0
- package/template/ios/HelloWorld/AppDelegate.mm +26 -1
- package/template/ios/HelloWorld.xcodeproj/project.pbxproj +7 -5
- package/template/ios/Podfile +1 -1
- 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/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 -360
- 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.1/react-native-0.68.1-sources.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.module +0 -272
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.module.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.module.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.module.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.module.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.pom.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.pom.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.68.1/react-native-0.68.1.pom.sha512 +0 -1
- package/flow/Promise.js +0 -47
- package/template/Gemfile.lock +0 -100
|
@@ -34,7 +34,9 @@ import com.facebook.react.bridge.UiThreadUtil;
|
|
|
34
34
|
import com.facebook.react.bridge.WritableMap;
|
|
35
35
|
import com.facebook.react.bridge.WritableNativeMap;
|
|
36
36
|
import com.facebook.react.common.annotations.VisibleForTesting;
|
|
37
|
+
import com.facebook.react.config.ReactFeatureFlags;
|
|
37
38
|
import com.facebook.react.uimanager.FabricViewStateManager;
|
|
39
|
+
import com.facebook.react.uimanager.JSPointerDispatcher;
|
|
38
40
|
import com.facebook.react.uimanager.JSTouchDispatcher;
|
|
39
41
|
import com.facebook.react.uimanager.PixelUtil;
|
|
40
42
|
import com.facebook.react.uimanager.RootView;
|
|
@@ -413,9 +415,13 @@ public class ReactModalHostView extends ViewGroup
|
|
|
413
415
|
private final FabricViewStateManager mFabricViewStateManager = new FabricViewStateManager();
|
|
414
416
|
|
|
415
417
|
private final JSTouchDispatcher mJSTouchDispatcher = new JSTouchDispatcher(this);
|
|
418
|
+
@Nullable private JSPointerDispatcher mJSPointerDispatcher;
|
|
416
419
|
|
|
417
420
|
public DialogRootViewGroup(Context context) {
|
|
418
421
|
super(context);
|
|
422
|
+
if (ReactFeatureFlags.dispatchPointerEvents) {
|
|
423
|
+
mJSPointerDispatcher = new JSPointerDispatcher(this);
|
|
424
|
+
}
|
|
419
425
|
}
|
|
420
426
|
|
|
421
427
|
private void setEventDispatcher(EventDispatcher eventDispatcher) {
|
|
@@ -515,31 +521,59 @@ public class ReactModalHostView extends ViewGroup
|
|
|
515
521
|
@Override
|
|
516
522
|
public boolean onInterceptTouchEvent(MotionEvent event) {
|
|
517
523
|
mJSTouchDispatcher.handleTouchEvent(event, mEventDispatcher);
|
|
524
|
+
if (mJSPointerDispatcher != null) {
|
|
525
|
+
mJSPointerDispatcher.handleMotionEvent(event, mEventDispatcher);
|
|
526
|
+
}
|
|
518
527
|
return super.onInterceptTouchEvent(event);
|
|
519
528
|
}
|
|
520
529
|
|
|
521
530
|
@Override
|
|
522
531
|
public boolean onTouchEvent(MotionEvent event) {
|
|
523
532
|
mJSTouchDispatcher.handleTouchEvent(event, mEventDispatcher);
|
|
533
|
+
if (mJSPointerDispatcher != null) {
|
|
534
|
+
mJSPointerDispatcher.handleMotionEvent(event, mEventDispatcher);
|
|
535
|
+
}
|
|
524
536
|
super.onTouchEvent(event);
|
|
525
537
|
// In case when there is no children interested in handling touch event, we return true from
|
|
526
538
|
// the root view in order to receive subsequent events related to that gesture
|
|
527
539
|
return true;
|
|
528
540
|
}
|
|
529
541
|
|
|
542
|
+
@Override
|
|
543
|
+
public boolean onInterceptHoverEvent(MotionEvent event) {
|
|
544
|
+
if (mJSPointerDispatcher != null) {
|
|
545
|
+
mJSPointerDispatcher.handleMotionEvent(event, mEventDispatcher);
|
|
546
|
+
}
|
|
547
|
+
return super.onHoverEvent(event);
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
@Override
|
|
551
|
+
public boolean onHoverEvent(MotionEvent event) {
|
|
552
|
+
if (mJSPointerDispatcher != null) {
|
|
553
|
+
mJSPointerDispatcher.handleMotionEvent(event, mEventDispatcher);
|
|
554
|
+
}
|
|
555
|
+
return super.onHoverEvent(event);
|
|
556
|
+
}
|
|
557
|
+
|
|
530
558
|
@Override
|
|
531
559
|
public void onChildStartedNativeGesture(MotionEvent ev) {
|
|
532
|
-
|
|
560
|
+
this.onChildStartedNativeGesture(null, ev);
|
|
533
561
|
}
|
|
534
562
|
|
|
535
563
|
@Override
|
|
536
564
|
public void onChildStartedNativeGesture(View childView, MotionEvent ev) {
|
|
537
565
|
mJSTouchDispatcher.onChildStartedNativeGesture(ev, mEventDispatcher);
|
|
566
|
+
if (mJSPointerDispatcher != null) {
|
|
567
|
+
mJSPointerDispatcher.onChildStartedNativeGesture(childView, ev, mEventDispatcher);
|
|
568
|
+
}
|
|
538
569
|
}
|
|
539
570
|
|
|
540
571
|
@Override
|
|
541
572
|
public void onChildEndedNativeGesture(View childView, MotionEvent ev) {
|
|
542
573
|
mJSTouchDispatcher.onChildEndedNativeGesture(ev, mEventDispatcher);
|
|
574
|
+
if (mJSPointerDispatcher != null) {
|
|
575
|
+
mJSPointerDispatcher.onChildEndedNativeGesture();
|
|
576
|
+
}
|
|
543
577
|
}
|
|
544
578
|
|
|
545
579
|
@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
|
|
|
@@ -460,11 +464,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
460
464
|
|
|
461
465
|
try {
|
|
462
466
|
if (super.onInterceptTouchEvent(ev)) {
|
|
463
|
-
|
|
464
|
-
ReactScrollViewHelper.emitScrollBeginDragEvent(this);
|
|
465
|
-
mDragging = true;
|
|
466
|
-
enableFpsListener();
|
|
467
|
-
getFlingAnimator().cancel();
|
|
467
|
+
handleInterceptedTouchEvent(ev);
|
|
468
468
|
return true;
|
|
469
469
|
}
|
|
470
470
|
} catch (IllegalArgumentException e) {
|
|
@@ -477,6 +477,14 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
477
477
|
return false;
|
|
478
478
|
}
|
|
479
479
|
|
|
480
|
+
protected void handleInterceptedTouchEvent(MotionEvent ev) {
|
|
481
|
+
NativeGestureUtil.notifyNativeGestureStarted(this, ev);
|
|
482
|
+
ReactScrollViewHelper.emitScrollBeginDragEvent(this);
|
|
483
|
+
mDragging = true;
|
|
484
|
+
enableFpsListener();
|
|
485
|
+
getFlingAnimator().cancel();
|
|
486
|
+
}
|
|
487
|
+
|
|
480
488
|
@Override
|
|
481
489
|
public boolean pageScroll(int direction) {
|
|
482
490
|
boolean handled = super.pageScroll(direction);
|
|
@@ -531,7 +539,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
531
539
|
}
|
|
532
540
|
|
|
533
541
|
mVelocityHelper.calculateVelocity(ev);
|
|
534
|
-
int action = ev.
|
|
542
|
+
int action = ev.getActionMasked();
|
|
535
543
|
if (action == MotionEvent.ACTION_UP && mDragging) {
|
|
536
544
|
ReactScrollViewHelper.updateFabricScrollState(this);
|
|
537
545
|
|
|
@@ -544,6 +552,10 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
544
552
|
handlePostTouchScrolling(Math.round(velocityX), Math.round(velocityY));
|
|
545
553
|
}
|
|
546
554
|
|
|
555
|
+
if (action == MotionEvent.ACTION_DOWN) {
|
|
556
|
+
cancelPostTouchScrolling();
|
|
557
|
+
}
|
|
558
|
+
|
|
547
559
|
return super.onTouchEvent(ev);
|
|
548
560
|
}
|
|
549
561
|
|
|
@@ -661,8 +673,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
661
673
|
}
|
|
662
674
|
|
|
663
675
|
private View getContentView() {
|
|
664
|
-
|
|
665
|
-
return contentView;
|
|
676
|
+
return getChildAt(0);
|
|
666
677
|
}
|
|
667
678
|
|
|
668
679
|
public void setEndFillColor(int color) {
|
|
@@ -822,6 +833,14 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
822
833
|
this, mPostTouchRunnable, ReactScrollViewHelper.MOMENTUM_DELAY);
|
|
823
834
|
}
|
|
824
835
|
|
|
836
|
+
private void cancelPostTouchScrolling() {
|
|
837
|
+
if (mPostTouchRunnable != null) {
|
|
838
|
+
removeCallbacks(mPostTouchRunnable);
|
|
839
|
+
mPostTouchRunnable = null;
|
|
840
|
+
getFlingAnimator().cancel();
|
|
841
|
+
}
|
|
842
|
+
}
|
|
843
|
+
|
|
825
844
|
private int predictFinalScrollPosition(int velocityX) {
|
|
826
845
|
// predict where a fling would end up so we can scroll to the nearest snap offset
|
|
827
846
|
final int maximumOffset = Math.max(0, computeHorizontalScrollRange() - getWidth());
|
|
@@ -1191,12 +1210,13 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
1191
1210
|
}
|
|
1192
1211
|
|
|
1193
1212
|
super.scrollTo(x, y);
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1213
|
+
ReactScrollViewHelper.updateFabricScrollState(this);
|
|
1214
|
+
setPendingContentOffsets(x, y);
|
|
1215
|
+
}
|
|
1216
|
+
|
|
1217
|
+
private boolean isContentReady() {
|
|
1218
|
+
View child = getContentView();
|
|
1219
|
+
return child != null && child.getWidth() != 0 && child.getHeight() != 0;
|
|
1200
1220
|
}
|
|
1201
1221
|
|
|
1202
1222
|
/**
|
|
@@ -1210,8 +1230,8 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
1210
1230
|
if (DEBUG_MODE) {
|
|
1211
1231
|
FLog.i(TAG, "setPendingContentOffsets[%d] x %d y %d", getId(), x, y);
|
|
1212
1232
|
}
|
|
1213
|
-
|
|
1214
|
-
if (
|
|
1233
|
+
|
|
1234
|
+
if (isContentReady()) {
|
|
1215
1235
|
pendingContentOffsetX = UNSET_CONTENT_OFFSET;
|
|
1216
1236
|
pendingContentOffsetY = UNSET_CONTENT_OFFSET;
|
|
1217
1237
|
} else {
|
|
@@ -1270,4 +1290,24 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
|
|
|
1270
1290
|
public PointerEvents getPointerEvents() {
|
|
1271
1291
|
return mPointerEvents;
|
|
1272
1292
|
}
|
|
1293
|
+
|
|
1294
|
+
@Override
|
|
1295
|
+
public void setScrollEventThrottle(int scrollEventThrottle) {
|
|
1296
|
+
mScrollEventThrottle = scrollEventThrottle;
|
|
1297
|
+
}
|
|
1298
|
+
|
|
1299
|
+
@Override
|
|
1300
|
+
public int getScrollEventThrottle() {
|
|
1301
|
+
return mScrollEventThrottle;
|
|
1302
|
+
}
|
|
1303
|
+
|
|
1304
|
+
@Override
|
|
1305
|
+
public void setLastScrollDispatchTime(long lastScrollDispatchTime) {
|
|
1306
|
+
mLastScrollDispatchTime = lastScrollDispatchTime;
|
|
1307
|
+
}
|
|
1308
|
+
|
|
1309
|
+
@Override
|
|
1310
|
+
public long getLastScrollDispatchTime() {
|
|
1311
|
+
return mLastScrollDispatchTime;
|
|
1312
|
+
}
|
|
1273
1313
|
}
|
|
@@ -8,13 +8,11 @@
|
|
|
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.bridge.ReadableArray;
|
|
15
14
|
import com.facebook.react.bridge.ReadableMap;
|
|
16
15
|
import com.facebook.react.module.annotations.ReactModule;
|
|
17
|
-
import com.facebook.react.uimanager.DisplayMetricsHolder;
|
|
18
16
|
import com.facebook.react.uimanager.PixelUtil;
|
|
19
17
|
import com.facebook.react.uimanager.PointerEvents;
|
|
20
18
|
import com.facebook.react.uimanager.ReactClippingViewGroupHelper;
|
|
@@ -99,8 +97,8 @@ public class ReactHorizontalScrollViewManager extends ViewGroupManager<ReactHori
|
|
|
99
97
|
@ReactProp(name = "snapToInterval")
|
|
100
98
|
public void setSnapToInterval(ReactHorizontalScrollView view, float snapToInterval) {
|
|
101
99
|
// snapToInterval needs to be exposed as a float because of the Javascript interface.
|
|
102
|
-
|
|
103
|
-
view.setSnapInterval((int) (snapToInterval *
|
|
100
|
+
float density = PixelUtil.getDisplayMetricDensity();
|
|
101
|
+
view.setSnapInterval((int) (snapToInterval * density));
|
|
104
102
|
}
|
|
105
103
|
|
|
106
104
|
@ReactProp(name = "snapToAlignment")
|
|
@@ -111,15 +109,15 @@ public class ReactHorizontalScrollViewManager extends ViewGroupManager<ReactHori
|
|
|
111
109
|
@ReactProp(name = "snapToOffsets")
|
|
112
110
|
public void setSnapToOffsets(
|
|
113
111
|
ReactHorizontalScrollView view, @Nullable ReadableArray snapToOffsets) {
|
|
114
|
-
if (snapToOffsets == null) {
|
|
112
|
+
if (snapToOffsets == null || snapToOffsets.size() == 0) {
|
|
115
113
|
view.setSnapOffsets(null);
|
|
116
114
|
return;
|
|
117
115
|
}
|
|
118
116
|
|
|
119
|
-
|
|
117
|
+
float density = PixelUtil.getDisplayMetricDensity();
|
|
120
118
|
List<Integer> offsets = new ArrayList<Integer>();
|
|
121
119
|
for (int i = 0; i < snapToOffsets.size(); i++) {
|
|
122
|
-
offsets.add((int) (snapToOffsets.getDouble(i) *
|
|
120
|
+
offsets.add((int) (snapToOffsets.getDouble(i) * density));
|
|
123
121
|
}
|
|
124
122
|
view.setSnapOffsets(offsets);
|
|
125
123
|
}
|
|
@@ -327,4 +325,9 @@ public class ReactHorizontalScrollViewManager extends ViewGroupManager<ReactHori
|
|
|
327
325
|
public void setPointerEvents(ReactHorizontalScrollView view, @Nullable String pointerEventsStr) {
|
|
328
326
|
view.setPointerEvents(PointerEvents.parsePointerEvents(pointerEventsStr));
|
|
329
327
|
}
|
|
328
|
+
|
|
329
|
+
@ReactProp(name = "scrollEventThrottle")
|
|
330
|
+
public void setScrollEventThrottle(ReactHorizontalScrollView view, int scrollEventThrottle) {
|
|
331
|
+
view.setScrollEventThrottle(scrollEventThrottle);
|
|
332
|
+
}
|
|
330
333
|
}
|
|
@@ -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 =
|
|
@@ -340,11 +344,7 @@ public class ReactScrollView extends ScrollView
|
|
|
340
344
|
|
|
341
345
|
try {
|
|
342
346
|
if (super.onInterceptTouchEvent(ev)) {
|
|
343
|
-
|
|
344
|
-
ReactScrollViewHelper.emitScrollBeginDragEvent(this);
|
|
345
|
-
mDragging = true;
|
|
346
|
-
enableFpsListener();
|
|
347
|
-
getFlingAnimator().cancel();
|
|
347
|
+
handleInterceptedTouchEvent(ev);
|
|
348
348
|
return true;
|
|
349
349
|
}
|
|
350
350
|
} catch (IllegalArgumentException e) {
|
|
@@ -357,6 +357,14 @@ public class ReactScrollView extends ScrollView
|
|
|
357
357
|
return false;
|
|
358
358
|
}
|
|
359
359
|
|
|
360
|
+
protected void handleInterceptedTouchEvent(MotionEvent ev) {
|
|
361
|
+
NativeGestureUtil.notifyNativeGestureStarted(this, ev);
|
|
362
|
+
ReactScrollViewHelper.emitScrollBeginDragEvent(this);
|
|
363
|
+
mDragging = true;
|
|
364
|
+
enableFpsListener();
|
|
365
|
+
getFlingAnimator().cancel();
|
|
366
|
+
}
|
|
367
|
+
|
|
360
368
|
@Override
|
|
361
369
|
public boolean onTouchEvent(MotionEvent ev) {
|
|
362
370
|
if (!mScrollEnabled) {
|
|
@@ -369,7 +377,7 @@ public class ReactScrollView extends ScrollView
|
|
|
369
377
|
}
|
|
370
378
|
|
|
371
379
|
mVelocityHelper.calculateVelocity(ev);
|
|
372
|
-
int action = ev.
|
|
380
|
+
int action = ev.getActionMasked();
|
|
373
381
|
if (action == MotionEvent.ACTION_UP && mDragging) {
|
|
374
382
|
ReactScrollViewHelper.updateFabricScrollState(this);
|
|
375
383
|
|
|
@@ -382,6 +390,10 @@ public class ReactScrollView extends ScrollView
|
|
|
382
390
|
handlePostTouchScrolling(Math.round(velocityX), Math.round(velocityY));
|
|
383
391
|
}
|
|
384
392
|
|
|
393
|
+
if (action == MotionEvent.ACTION_DOWN) {
|
|
394
|
+
cancelPostTouchScrolling();
|
|
395
|
+
}
|
|
396
|
+
|
|
385
397
|
return super.onTouchEvent(ev);
|
|
386
398
|
}
|
|
387
399
|
|
|
@@ -611,6 +623,14 @@ public class ReactScrollView extends ScrollView
|
|
|
611
623
|
this, mPostTouchRunnable, ReactScrollViewHelper.MOMENTUM_DELAY);
|
|
612
624
|
}
|
|
613
625
|
|
|
626
|
+
private void cancelPostTouchScrolling() {
|
|
627
|
+
if (mPostTouchRunnable != null) {
|
|
628
|
+
removeCallbacks(mPostTouchRunnable);
|
|
629
|
+
mPostTouchRunnable = null;
|
|
630
|
+
getFlingAnimator().cancel();
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
|
|
614
634
|
private int predictFinalScrollPosition(int velocityY) {
|
|
615
635
|
// predict where a fling would end up so we can scroll to the nearest snap offset
|
|
616
636
|
// TODO(T106335409): Existing prediction still uses overscroller. Consider change this to use
|
|
@@ -954,10 +974,10 @@ public class ReactScrollView extends ScrollView
|
|
|
954
974
|
}
|
|
955
975
|
|
|
956
976
|
/**
|
|
957
|
-
* Calls `
|
|
977
|
+
* Calls `super.scrollTo` and updates state.
|
|
958
978
|
*
|
|
959
|
-
* <p>`
|
|
960
|
-
* scroll view and state.
|
|
979
|
+
* <p>`super.scrollTo` changes `contentOffset` and we need to keep `contentOffset` in sync between
|
|
980
|
+
* scroll view and state.
|
|
961
981
|
*
|
|
962
982
|
* <p>Note that while we can override scrollTo, we *cannot* override `smoothScrollTo` because it
|
|
963
983
|
* is final. See `reactSmoothScrollTo`.
|
|
@@ -965,12 +985,13 @@ public class ReactScrollView extends ScrollView
|
|
|
965
985
|
@Override
|
|
966
986
|
public void scrollTo(int x, int y) {
|
|
967
987
|
super.scrollTo(x, y);
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
988
|
+
ReactScrollViewHelper.updateFabricScrollState(this);
|
|
989
|
+
setPendingContentOffsets(x, y);
|
|
990
|
+
}
|
|
991
|
+
|
|
992
|
+
private boolean isContentReady() {
|
|
993
|
+
View child = getContentView();
|
|
994
|
+
return child != null && child.getWidth() != 0 && child.getHeight() != 0;
|
|
974
995
|
}
|
|
975
996
|
|
|
976
997
|
/**
|
|
@@ -981,8 +1002,7 @@ public class ReactScrollView extends ScrollView
|
|
|
981
1002
|
* @param y
|
|
982
1003
|
*/
|
|
983
1004
|
private void setPendingContentOffsets(int x, int y) {
|
|
984
|
-
|
|
985
|
-
if (child != null && child.getWidth() != 0 && child.getHeight() != 0) {
|
|
1005
|
+
if (isContentReady()) {
|
|
986
1006
|
pendingContentOffsetX = UNSET_CONTENT_OFFSET;
|
|
987
1007
|
pendingContentOffsetY = UNSET_CONTENT_OFFSET;
|
|
988
1008
|
} else {
|
|
@@ -1132,4 +1152,24 @@ public class ReactScrollView extends ScrollView
|
|
|
1132
1152
|
public PointerEvents getPointerEvents() {
|
|
1133
1153
|
return mPointerEvents;
|
|
1134
1154
|
}
|
|
1155
|
+
|
|
1156
|
+
@Override
|
|
1157
|
+
public void setScrollEventThrottle(int scrollEventThrottle) {
|
|
1158
|
+
mScrollEventThrottle = scrollEventThrottle;
|
|
1159
|
+
}
|
|
1160
|
+
|
|
1161
|
+
@Override
|
|
1162
|
+
public int getScrollEventThrottle() {
|
|
1163
|
+
return mScrollEventThrottle;
|
|
1164
|
+
}
|
|
1165
|
+
|
|
1166
|
+
@Override
|
|
1167
|
+
public void setLastScrollDispatchTime(long lastScrollDispatchTime) {
|
|
1168
|
+
mLastScrollDispatchTime = lastScrollDispatchTime;
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1171
|
+
@Override
|
|
1172
|
+
public long getLastScrollDispatchTime() {
|
|
1173
|
+
return mLastScrollDispatchTime;
|
|
1174
|
+
}
|
|
1135
1175
|
}
|
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
|
}
|