react-native-tvos 0.68.2-7 → 0.69.5-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (974) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -0
  2. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  3. package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
  4. package/Libraries/Animated/AnimatedImplementation.js +1 -1
  5. package/Libraries/Animated/NativeAnimatedHelper.js +55 -9
  6. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  7. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  8. package/Libraries/Animated/animations/TimingAnimation.js +6 -11
  9. package/Libraries/Animated/createAnimatedComponent.js +2 -2
  10. package/Libraries/Animated/nodes/AnimatedColor.js +95 -29
  11. package/Libraries/Animated/nodes/AnimatedInterpolation.js +19 -22
  12. package/Libraries/Animated/nodes/AnimatedNode.js +2 -2
  13. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  14. package/Libraries/AppState/AppState.js +1 -1
  15. package/Libraries/Blob/RCTFileReaderModule.mm +31 -27
  16. package/Libraries/Blob/React-RCTBlob.podspec +2 -2
  17. package/Libraries/Blob/URL.js +7 -1
  18. package/Libraries/Components/Button.js +3 -0
  19. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +5 -0
  20. package/Libraries/Components/Pressable/Pressable.js +3 -3
  21. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +47 -38
  22. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +15 -7
  23. package/Libraries/Components/ScrollView/ScrollView.js +1 -1
  24. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -3
  25. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +3 -1
  26. package/Libraries/Components/Slider/Slider.js +0 -2
  27. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -1
  28. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  29. package/Libraries/Components/Switch/Switch.js +11 -1
  30. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +114 -109
  31. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +17 -9
  32. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +13 -5
  33. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
  34. package/Libraries/Components/TextInput/TextInput.js +1 -8
  35. package/Libraries/Components/TextInput/TextInputState.js +10 -2
  36. package/Libraries/Components/Touchable/TouchableBounce.js +1 -0
  37. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -0
  38. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -0
  39. package/Libraries/Components/Touchable/TouchableOpacity.js +7 -1
  40. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -0
  41. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
  42. package/Libraries/Components/View/ViewNativeComponent.js +68 -8
  43. package/Libraries/Components/View/ViewPropTypes.js +36 -4
  44. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  45. package/Libraries/Core/ExceptionsManager.js +1 -1
  46. package/Libraries/Core/RawEventEmitter.js +38 -0
  47. package/Libraries/Core/ReactNativeVersion.js +2 -2
  48. package/Libraries/Core/polyfillPromise.js +32 -0
  49. package/Libraries/Core/setUpReactDevTools.js +3 -2
  50. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  51. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
  52. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -3
  53. package/Libraries/Events/CustomEvent.js +32 -0
  54. package/Libraries/Events/EventPolyfill.js +239 -0
  55. package/Libraries/FBLazyVector/BUCK +4 -1
  56. package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
  57. package/Libraries/Image/Image.android.js +0 -6
  58. package/Libraries/Image/Image.ios.js +0 -6
  59. package/Libraries/Image/ImageViewNativeComponent.js +18 -3
  60. package/Libraries/Image/RCTImageBlurUtils.m +8 -5
  61. package/Libraries/Image/RCTImageCache.h +3 -0
  62. package/Libraries/Image/RCTImageCache.m +8 -2
  63. package/Libraries/Image/RCTImageLoader.mm +14 -4
  64. package/Libraries/Image/RCTImageUtils.m +8 -7
  65. package/Libraries/Image/RCTUIImageViewAnimated.m +1 -1
  66. package/Libraries/Image/React-RCTImage.podspec +2 -2
  67. package/Libraries/Image/TextInlineImageNativeComponent.js +23 -15
  68. package/Libraries/Inspector/Inspector.js +2 -4
  69. package/Libraries/Interaction/BridgeSpyStallHandler.js +4 -3
  70. package/Libraries/Interaction/InteractionManager.js +1 -12
  71. package/Libraries/Interaction/TaskQueue.js +5 -4
  72. package/Libraries/LayoutAnimation/LayoutAnimation.js +13 -0
  73. package/Libraries/Linking/Linking.js +1 -1
  74. package/Libraries/LinkingIOS/React-RCTLinking.podspec +2 -2
  75. package/Libraries/Lists/FlatList.js +27 -6
  76. package/Libraries/Lists/VirtualizedList.js +71 -55
  77. package/Libraries/Lists/VirtualizedListContext.js +7 -3
  78. package/Libraries/Lists/VirtualizedSectionList.js +2 -2
  79. package/Libraries/LogBox/Data/LogBoxData.js +2 -2
  80. package/Libraries/LogBox/Data/LogBoxLog.js +1 -1
  81. package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
  82. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  83. package/Libraries/LogBox/LogBox.js +2 -21
  84. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -0
  85. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +2 -1
  86. package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.m +2 -2
  87. package/{ReactCommon/react/renderer/mounting/MountingTransactionMetadata.cpp → Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.h} +6 -4
  88. package/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.m +30 -0
  89. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +11 -6
  90. package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.m +8 -4
  91. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +8 -0
  92. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +3 -0
  93. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +8 -0
  94. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +8 -0
  95. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +3 -3
  96. package/Libraries/NativeComponent/BaseViewConfig.android.js +295 -0
  97. package/Libraries/NativeComponent/BaseViewConfig.ios.js +333 -0
  98. package/Libraries/NativeComponent/NativeComponentRegistry.js +0 -2
  99. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +24 -0
  100. package/Libraries/NativeComponent/StaticViewConfigValidator.js +7 -42
  101. package/Libraries/NativeComponent/ViewConfig.js +4 -4
  102. package/Libraries/NativeComponent/ViewConfigIgnore.js +54 -0
  103. package/Libraries/Network/FormData.js +7 -1
  104. package/Libraries/Network/React-RCTNetwork.podspec +2 -2
  105. package/Libraries/Pressability/Pressability.js +115 -46
  106. package/Libraries/Pressability/PressabilityDebug.js +5 -9
  107. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  108. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +20 -8
  109. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +2 -2
  110. package/Libraries/RCTRequired/BUCK +4 -1
  111. package/Libraries/RCTRequired/RCTRequired.podspec +1 -1
  112. package/Libraries/ReactNative/AppContainer.js +1 -1
  113. package/Libraries/ReactNative/{DummyUIManager.js → BridgelessUIManager.js} +62 -40
  114. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +39 -0
  115. package/Libraries/ReactNative/UIManager.js +2 -3
  116. package/Libraries/ReactNative/renderApplication.js +4 -0
  117. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +8 -0
  118. package/Libraries/Renderer/REVISION +1 -1
  119. package/Libraries/Renderer/implementations/ReactFabric-dev.js +5908 -4906
  120. package/Libraries/Renderer/implementations/ReactFabric-prod.js +2100 -1918
  121. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2567 -2352
  122. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5610 -4844
  123. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1710 -1556
  124. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1830 -1639
  125. package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -1
  126. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -1
  127. package/Libraries/Settings/React-RCTSettings.podspec +2 -2
  128. package/Libraries/StyleSheet/EdgeInsetsPropType.js +4 -1
  129. package/Libraries/StyleSheet/StyleSheetTypes.js +59 -66
  130. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  131. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +15 -0
  132. package/Libraries/StyleSheet/private/_TransformStyle.js +53 -0
  133. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.h +2 -0
  134. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.mm +20 -11
  135. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.h +3 -3
  136. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.mm +2 -4
  137. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent+Internal.h +1 -2
  138. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.h +2 -3
  139. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +16 -3
  140. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentController.mm +26 -10
  141. package/Libraries/Text/React-RCTText.podspec +1 -1
  142. package/Libraries/Text/Text.js +13 -7
  143. package/Libraries/Text/TextNativeComponent.js +2 -0
  144. package/Libraries/Text/TextProps.js +10 -0
  145. package/Libraries/TypeSafety/RCTConvertHelpers.h +10 -9
  146. package/Libraries/TypeSafety/RCTConvertHelpers.mm +2 -2
  147. package/Libraries/TypeSafety/RCTTypeSafety.podspec +3 -8
  148. package/Libraries/Types/CoreEventTypes.js +13 -1
  149. package/Libraries/Utilities/Appearance.js +0 -8
  150. package/Libraries/Utilities/HMRClient.js +1 -1
  151. package/Libraries/Utilities/ReactNativeTestTools.js +1 -0
  152. package/Libraries/Utilities/codegenNativeComponent.js +16 -6
  153. package/Libraries/Utilities/stringifySafe.js +4 -1
  154. package/Libraries/Utilities/useColorScheme.js +9 -15
  155. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +3 -3
  156. package/Libraries/Vibration/React-RCTVibration.podspec +2 -2
  157. package/Libraries/WebSocket/WebSocket.js +1 -1
  158. package/Libraries/vendor/emitter/_EmitterSubscription.js +1 -1
  159. package/Libraries/vendor/emitter/_EventEmitter.js +1 -1
  160. package/Libraries/vendor/emitter/_EventSubscription.js +1 -1
  161. package/README.md +3 -3
  162. package/React/Base/RCTAssert.h +36 -15
  163. package/React/Base/RCTAssert.m +65 -19
  164. package/React/Base/RCTBridge.m +2 -4
  165. package/React/Base/RCTBridgeModule.h +3 -0
  166. package/React/Base/RCTBridgeModuleDecorator.h +35 -0
  167. package/React/Base/RCTBridgeModuleDecorator.m +73 -0
  168. package/React/Base/RCTConstants.h +18 -0
  169. package/React/Base/RCTConstants.m +46 -0
  170. package/React/Base/RCTJavaScriptLoader.h +1 -4
  171. package/React/Base/RCTJavaScriptLoader.mm +11 -17
  172. package/React/Base/RCTLog.h +17 -0
  173. package/React/Base/RCTLog.mm +31 -2
  174. package/React/Base/RCTModuleData.mm +8 -74
  175. package/React/Base/RCTVersion.m +2 -2
  176. package/React/Base/RCTViewRegistry.m +24 -0
  177. package/React/Base/Surface/RCTSurface.mm +2 -1
  178. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +0 -1
  179. package/React/CoreModules/BUCK +1 -0
  180. package/React/CoreModules/RCTAccessibilityManager.mm +2 -2
  181. package/React/CoreModules/RCTActionSheetManager.mm +38 -9
  182. package/React/CoreModules/RCTDevMenu.h +5 -0
  183. package/React/CoreModules/RCTDevMenu.mm +68 -25
  184. package/React/CoreModules/RCTDeviceInfo.mm +17 -11
  185. package/React/CoreModules/RCTEventDispatcher.mm +2 -2
  186. package/React/CoreModules/RCTExceptionsManager.h +5 -3
  187. package/React/CoreModules/RCTExceptionsManager.mm +44 -12
  188. package/React/CoreModules/RCTFPSGraph.m +3 -3
  189. package/React/CoreModules/RCTLogBox.mm +17 -9
  190. package/React/CoreModules/RCTLogBoxView.h +3 -1
  191. package/React/CoreModules/RCTLogBoxView.mm +41 -12
  192. package/React/CoreModules/RCTPlatform.mm +2 -0
  193. package/React/CoreModules/RCTRedBox.mm +2 -2
  194. package/React/CoreModules/RCTStatusBarManager.mm +1 -1
  195. package/React/CoreModules/React-CoreModules.podspec +2 -2
  196. package/React/CxxBridge/RCTCxxBridge.mm +25 -58
  197. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +8 -2
  198. package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +2 -2
  199. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.h +1 -0
  200. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +77 -19
  201. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +2 -1
  202. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +28 -7
  203. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.mm +1 -0
  204. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +2 -2
  205. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.h +4 -3
  206. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +2 -2
  207. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +29 -16
  208. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +2 -2
  209. package/React/Fabric/Mounting/RCTMountingManager.mm +13 -6
  210. package/React/Fabric/Mounting/RCTMountingTransactionObserverCoordinator.h +5 -3
  211. package/React/Fabric/Mounting/RCTMountingTransactionObserverCoordinator.mm +10 -8
  212. package/React/Fabric/Mounting/RCTMountingTransactionObserving.h +5 -3
  213. package/React/Fabric/RCTConversions.h +9 -1
  214. package/React/Fabric/RCTLocalizationProvider.mm +10 -4
  215. package/React/Fabric/RCTScheduler.h +7 -0
  216. package/React/Fabric/RCTScheduler.mm +15 -0
  217. package/React/Fabric/RCTSurfacePresenter.h +8 -0
  218. package/React/Fabric/RCTSurfacePresenter.mm +65 -15
  219. package/React/Fabric/RCTSurfaceTouchHandler.mm +168 -0
  220. package/React/Fabric/Surface/RCTFabricSurface.mm +1 -1
  221. package/React/Modules/RCTSurfacePresenterStub.h +4 -0
  222. package/React/Modules/RCTUIManager.m +26 -1
  223. package/React/React-RCTFabric.podspec +3 -2
  224. package/React/Views/RCTBorderDrawing.m +176 -173
  225. package/React/Views/RCTComponent.h +1 -0
  226. package/React/Views/RCTComponentData.m +11 -1
  227. package/React/Views/RCTDatePickerManager.m +5 -6
  228. package/React/Views/RCTModalHostView.h +1 -1
  229. package/React/Views/RCTShadowView.h +2 -0
  230. package/React/Views/RCTView.h +10 -0
  231. package/React/Views/RCTView.m +34 -17
  232. package/React/Views/RCTViewManager.m +37 -2
  233. package/React/Views/UIView+React.h +1 -0
  234. package/React/Views/UIView+React.m +11 -0
  235. package/React/third-party.xcconfig +1 -1
  236. package/React-Core.podspec +1 -1
  237. package/React.podspec +1 -1
  238. package/ReactAndroid/Android-prebuilt.mk +7 -13
  239. package/ReactAndroid/build.gradle +76 -76
  240. package/ReactAndroid/gradle.properties +3 -2
  241. package/ReactAndroid/hermes-engine/build.gradle +261 -0
  242. package/ReactAndroid/hermes-engine/gradle.properties +1 -0
  243. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppTestActivity.java +4 -0
  244. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstanceSpecForTest.java +13 -0
  245. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstrumentationTest.java +8 -0
  246. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/BUCK +4 -1
  247. package/ReactAndroid/src/androidTest/js/BUCK +4 -1
  248. package/ReactAndroid/src/main/java/com/facebook/debug/holder/BUCK +4 -1
  249. package/ReactAndroid/src/main/java/com/facebook/debug/tags/BUCK +4 -1
  250. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +2 -5
  251. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/BUCK +8 -2
  252. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/CMakeLists.txt +31 -0
  253. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +35 -34
  254. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/CMakeLists.txt +41 -0
  255. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/OnLoad.cpp +1 -0
  256. package/ReactAndroid/src/main/java/com/facebook/react/BUCK +4 -1
  257. package/ReactAndroid/src/main/java/com/facebook/react/JSInterpreter.java +18 -0
  258. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +33 -1
  259. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +9 -27
  260. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +51 -31
  261. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +1 -1
  262. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +89 -12
  263. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeWithUpdateableConfig.java +15 -0
  264. package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +6 -1
  265. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.java +131 -0
  266. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +116 -45
  267. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +17 -0
  268. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +14 -0
  269. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +2 -0
  270. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +2 -1
  271. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BUCK +8 -2
  272. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.java +3 -1
  273. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.java +4 -0
  274. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +12 -1
  275. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +2 -1
  276. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.java +27 -0
  277. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.java +6 -0
  278. package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +4 -1
  279. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegate.java +3 -0
  280. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +8 -2
  281. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +170 -0
  282. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBufferSoLoader.kt +33 -0
  283. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +298 -0
  284. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +170 -0
  285. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/Android.mk +0 -2
  286. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +4 -1
  287. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/CMakeLists.txt +34 -0
  288. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/.clang-tidy +3 -0
  289. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/JReadableMapBuffer.cpp +43 -0
  290. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/{ReadableMapBuffer.h → JReadableMapBuffer.h} +5 -3
  291. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/JWritableMapBuffer.cpp +65 -0
  292. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/JWritableMapBuffer.h +23 -0
  293. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/OnLoad.cpp +3 -2
  294. package/ReactAndroid/src/main/java/com/facebook/react/common/network/BUCK +4 -1
  295. package/ReactAndroid/src/main/java/com/facebook/react/config/BUCK +4 -1
  296. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +18 -5
  297. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +8 -2
  298. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +1 -0
  299. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +1 -0
  300. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +42 -51
  301. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +1 -0
  302. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +17 -0
  303. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DoubleTapReloadRecognizer.java +1 -1
  304. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.java +5 -4
  305. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{RedBoxDialog.java → RedBoxContentView.java} +38 -29
  306. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +126 -0
  307. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +7 -0
  308. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{RedBoxHandler.java → interfaces/RedBoxHandler.java} +1 -3
  309. package/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK +11 -5
  310. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +148 -0
  311. package/ReactAndroid/src/main/java/com/facebook/react/fabric/EmptyReactNativeConfig.java +1 -1
  312. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +2 -2
  313. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +42 -29
  314. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ReactNativeConfig.java +5 -2
  315. package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +2 -1
  316. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +1 -2
  317. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/{AsyncEventBeatV2.cpp → AsyncEventBeat.cpp} +6 -6
  318. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeat.h +8 -40
  319. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +6 -3
  320. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +55 -36
  321. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +3 -2
  322. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CMakeLists.txt +70 -0
  323. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +2 -15
  324. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +2 -4
  325. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountItem.cpp +5 -2
  326. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountItem.h +3 -1
  327. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountingManager.cpp +65 -71
  328. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountingManager.h +11 -9
  329. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JFabricUIManager.cpp +18 -0
  330. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JFabricUIManager.h +25 -0
  331. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ReactNativeConfigHolder.cpp +1 -1
  332. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.cpp +4 -4
  333. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.h +2 -2
  334. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/viewPropConversions.h +527 -0
  335. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +19 -22
  336. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +93 -29
  337. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +6 -9
  338. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.java +2 -0
  339. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +2 -3
  340. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +1 -1
  341. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +4 -1
  342. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/CMakeLists.txt +23 -0
  343. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/BUCK +4 -1
  344. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +8 -2
  345. package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/BUCK +4 -1
  346. package/ReactAndroid/src/main/java/com/facebook/react/module/model/BUCK +4 -1
  347. package/ReactAndroid/src/main/java/com/facebook/react/module/processing/BUCK +6 -1
  348. package/ReactAndroid/src/main/java/com/facebook/react/module/processing/ReactModuleSpecProcessor.java +11 -1
  349. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +4 -1
  350. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +4 -1
  351. package/ReactAndroid/src/main/java/com/facebook/react/modules/appregistry/BUCK +4 -1
  352. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +4 -1
  353. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +4 -1
  354. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +1 -1
  355. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BUCK +4 -1
  356. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/CMakeLists.txt +22 -0
  357. package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +4 -1
  358. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +4 -1
  359. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +4 -1
  360. package/ReactAndroid/src/main/java/com/facebook/react/modules/common/BUCK +4 -1
  361. package/ReactAndroid/src/main/java/com/facebook/react/modules/common/ModuleDataCleaner.java +16 -0
  362. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +4 -1
  363. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +8 -2
  364. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +4 -1
  365. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +4 -1
  366. package/ReactAndroid/src/main/java/com/facebook/react/modules/fabric/BUCK +4 -1
  367. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/BUCK +4 -1
  368. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +4 -1
  369. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +4 -1
  370. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.java +8 -5
  371. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +4 -1
  372. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +7 -5
  373. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +4 -1
  374. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +9 -2
  375. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +4 -1
  376. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressiveStringDecoder.java +7 -7
  377. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +4 -1
  378. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +4 -1
  379. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +4 -1
  380. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +4 -1
  381. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.java +20 -8
  382. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +4 -1
  383. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +8 -2
  384. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  385. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +4 -1
  386. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +4 -1
  387. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +4 -1
  388. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/BUCK +4 -1
  389. package/ReactAndroid/src/main/java/com/facebook/react/processing/BUCK +4 -1
  390. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/BUCK +1 -0
  391. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/BUCK +1 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/CMakeLists.txt +24 -0
  393. package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +4 -1
  394. package/ReactAndroid/src/main/java/com/facebook/react/surface/BUCK +4 -1
  395. package/ReactAndroid/src/main/java/com/facebook/react/touch/BUCK +4 -1
  396. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK +8 -2
  397. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/BUCK +4 -1
  398. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/Android.mk +1 -1
  399. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK +8 -2
  400. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/CMakeLists.txt +62 -0
  401. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/OnLoad.cpp +3 -3
  402. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK +45 -7
  403. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +148 -7
  404. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/BaseViewManagerDelegate.java → BaseViewManagerDelegate.java} +0 -0
  405. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/BaseViewManagerInterface.java → BaseViewManagerInterface.java} +0 -0
  406. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/FloatUtil.java → FloatUtil.java} +0 -0
  407. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +331 -0
  408. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +3 -3
  409. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +265 -21
  410. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRoot.java +1 -6
  411. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/Spacing.java → Spacing.java} +0 -0
  412. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/StateWrapper.java +1 -1
  413. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +57 -12
  414. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +0 -11
  415. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java +3 -3
  416. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +42 -0
  417. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/ViewManagerDelegate.java → ViewManagerDelegate.java} +0 -0
  418. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{interfaces/ViewProps.java → ViewProps.java} +0 -0
  419. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/BUCK +4 -1
  420. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/BUCK +4 -1
  421. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +7 -1
  422. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/NativeGestureUtil.java +5 -1
  423. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +180 -0
  424. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.java +75 -0
  425. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/Android.mk +0 -2
  426. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +4 -1
  427. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/CMakeLists.txt +26 -0
  428. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/BUCK +4 -1
  429. package/ReactAndroid/src/main/java/com/facebook/react/util/BUCK +4 -1
  430. package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.java +5 -4
  431. package/ReactAndroid/src/main/java/com/facebook/react/views/common/BUCK +4 -1
  432. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +4 -1
  433. package/ReactAndroid/src/main/java/com/facebook/react/views/image/BUCK +8 -3
  434. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +3 -91
  435. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/BUCK +8 -2
  436. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.java +2 -1
  437. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +5 -1
  438. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +35 -1
  439. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +4 -1
  440. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +4 -1
  441. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +57 -17
  442. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +10 -7
  443. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +60 -20
  444. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +45 -11
  445. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +10 -7
  446. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +10 -10
  447. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +4 -1
  448. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +7 -2
  449. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +4 -1
  450. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +4 -1
  451. package/ReactAndroid/src/main/java/com/facebook/react/views/text/BUCK +12 -3
  452. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +14 -0
  453. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactClickableSpan.java +3 -6
  454. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +5 -0
  455. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +20 -0
  456. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +45 -9
  457. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +31 -31
  458. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +21 -17
  459. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +25 -31
  460. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/BUCK +4 -1
  461. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +4 -1
  462. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +9 -4
  463. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +12 -2
  464. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java +1 -1
  465. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/BUCK +4 -1
  466. package/ReactAndroid/src/main/java/com/facebook/react/views/view/BUCK +11 -2
  467. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ColorUtil.java +19 -0
  468. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactMapBufferPropSetter.kt +468 -0
  469. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactMapBufferViewManager.kt +76 -0
  470. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +1 -1
  471. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +4 -0
  472. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManagerWrapper.kt +90 -0
  473. package/ReactAndroid/src/main/jni/CMakeLists.txt +102 -0
  474. package/ReactAndroid/src/main/jni/first-party/fb/BUCK +1 -1
  475. package/ReactAndroid/src/main/jni/first-party/fb/CMakeLists.txt +28 -0
  476. package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +15 -0
  477. package/ReactAndroid/src/main/jni/first-party/fbjni/CMakeLists.txt +15 -0
  478. package/ReactAndroid/src/main/jni/first-party/hermes/CMakeLists.txt +13 -0
  479. package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +20 -0
  480. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/ScopedGlobalRef.h +1 -1
  481. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/ScopedLocalRef.h +1 -1
  482. package/ReactAndroid/src/main/jni/react/jni/Android.mk +12 -5
  483. package/ReactAndroid/src/main/jni/react/jni/BUCK +4 -1
  484. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +44 -0
  485. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +63 -32
  486. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
  487. package/ReactAndroid/src/main/jni/react/jni/NativeTime.cpp +8 -2
  488. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.cpp +10 -0
  489. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.h +3 -1
  490. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.cpp +10 -0
  491. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.h +1 -1
  492. package/ReactAndroid/src/main/jni/third-party/boost/Android.mk +3 -3
  493. package/ReactAndroid/src/main/jni/third-party/boost/CMakeLists.txt +22 -0
  494. package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm64 → arm64-v8a}/jump_arm64_aapcs_elf_gas.S +0 -0
  495. package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm64 → arm64-v8a}/make_arm64_aapcs_elf_gas.S +0 -0
  496. package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm64 → arm64-v8a}/ontop_arm64_aapcs_elf_gas.S +0 -0
  497. package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm → armeabi-v7a}/jump_arm_aapcs_elf_gas.S +0 -0
  498. package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm → armeabi-v7a}/make_arm_aapcs_elf_gas.S +0 -0
  499. package/ReactAndroid/src/main/jni/third-party/boost/asm/{arm → armeabi-v7a}/ontop_arm_aapcs_elf_gas.S +0 -0
  500. package/ReactAndroid/src/main/jni/third-party/double-conversion/CMakeLists.txt +23 -0
  501. package/ReactAndroid/src/main/jni/third-party/fmt/CMakeLists.txt +13 -0
  502. package/ReactAndroid/src/main/jni/third-party/folly/Android.mk +31 -31
  503. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +126 -0
  504. package/ReactAndroid/src/main/jni/third-party/glog/CMakeLists.txt +35 -0
  505. package/ReactAndroid/src/main/jni/third-party/jsc/CMakeLists.txt +15 -0
  506. package/ReactAndroid/src/main/jni/third-party/libevent/CMakeLists.txt +42 -0
  507. package/ReactAndroid/src/main/res/shell/values/styles.xml +3 -2
  508. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
  509. package/ReactAndroid/src/test/java/com/facebook/react/ReactActivityDelegateTest.kt +62 -0
  510. package/ReactAndroid/src/test/java/com/facebook/react/views/BUCK +5 -2
  511. package/ReactAndroid/src/test/java/com/facebook/react/views/view/ColorUtilTest.java +9 -0
  512. package/ReactAndroid/src/test/resources/BUCK +1 -0
  513. package/ReactCommon/React-Fabric.podspec +1 -1
  514. package/ReactCommon/React-bridging.podspec +42 -0
  515. package/ReactCommon/React-rncore.podspec +1 -1
  516. package/ReactCommon/ReactCommon.podspec +4 -3
  517. package/ReactCommon/butter/Android.mk +0 -2
  518. package/ReactCommon/butter/BUCK +4 -1
  519. package/ReactCommon/butter/CMakeLists.txt +20 -0
  520. package/ReactCommon/callinvoker/BUCK +4 -1
  521. package/ReactCommon/callinvoker/CMakeLists.txt +13 -0
  522. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  523. package/ReactCommon/cxxreact/Android.mk +5 -2
  524. package/ReactCommon/cxxreact/BUCK +16 -4
  525. package/ReactCommon/cxxreact/CMakeLists.txt +29 -0
  526. package/ReactCommon/cxxreact/Instance.cpp +0 -35
  527. package/ReactCommon/cxxreact/Instance.h +0 -3
  528. package/ReactCommon/cxxreact/JSBundleType.cpp +13 -8
  529. package/ReactCommon/cxxreact/JSBundleType.h +15 -11
  530. package/ReactCommon/cxxreact/ModuleRegistry.cpp +1 -1
  531. package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
  532. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  533. package/ReactCommon/cxxreact/tests/BUCK +1 -1
  534. package/ReactCommon/hermes/React-hermes.podspec +1 -1
  535. package/ReactCommon/hermes/executor/Android.mk +23 -21
  536. package/ReactCommon/hermes/executor/CMakeLists.txt +29 -0
  537. package/ReactCommon/hermes/inspector/Android.mk +5 -4
  538. package/ReactCommon/hermes/inspector/CMakeLists.txt +32 -0
  539. package/ReactCommon/hermes/inspector/Exceptions.h +6 -0
  540. package/ReactCommon/hermes/inspector/Inspector.cpp +5 -2
  541. package/ReactCommon/hermes/inspector/Inspector.h +14 -0
  542. package/ReactCommon/hermes/inspector/InspectorState.cpp +16 -8
  543. package/ReactCommon/hermes/inspector/chrome/Connection.cpp +398 -1
  544. package/ReactCommon/hermes/inspector/chrome/MessageTypes.cpp +266 -12
  545. package/ReactCommon/hermes/inspector/chrome/MessageTypes.h +140 -2
  546. package/ReactCommon/hermes/inspector/chrome/tests/AsyncHermesRuntime.cpp +21 -0
  547. package/ReactCommon/hermes/inspector/chrome/tests/AsyncHermesRuntime.h +27 -0
  548. package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +298 -7
  549. package/ReactCommon/hermes/inspector/chrome/tests/MessageTests.cpp +1071 -1
  550. package/ReactCommon/hermes/inspector/tools/message_types.txt +4 -0
  551. package/ReactCommon/hermes/inspector/tools/msggen/package.json +1 -1
  552. package/ReactCommon/hermes/inspector/tools/msggen/src/GeneratedHeader.js +1 -1
  553. package/ReactCommon/hermes/inspector/tools/msggen/src/ImplementationWriter.js +14 -1
  554. package/ReactCommon/hermes/inspector/tools/msggen/src/Property.js +1 -1
  555. package/ReactCommon/hermes/inspector/tools/msggen/src/index.js +17 -2
  556. package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +4 -4
  557. package/ReactCommon/hermes/inspector/tools/run_msggen +17 -12
  558. package/ReactCommon/jsi/Android.mk +2 -2
  559. package/ReactCommon/jsi/BUCK +12 -3
  560. package/ReactCommon/jsi/CMakeLists.txt +43 -0
  561. package/ReactCommon/jsi/JSCRuntime.cpp +8 -0
  562. package/ReactCommon/jsi/React-jsi.podspec +1 -1
  563. package/ReactCommon/jsi/jsi/decorator.h +3 -0
  564. package/ReactCommon/jsi/jsi/jsi.cpp +11 -0
  565. package/ReactCommon/jsi/jsi/jsi.h +24 -4
  566. package/ReactCommon/jsi/jsi/jsilib.h +1 -1
  567. package/ReactCommon/jsi/jsi/test/testlib.cpp +3 -1
  568. package/ReactCommon/jsiexecutor/Android.mk +1 -1
  569. package/ReactCommon/jsiexecutor/BUCK +4 -1
  570. package/ReactCommon/jsiexecutor/CMakeLists.txt +23 -0
  571. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
  572. package/ReactCommon/jsinspector/BUCK +4 -1
  573. package/ReactCommon/jsinspector/CMakeLists.txt +14 -0
  574. package/ReactCommon/jsinspector/React-jsinspector.podspec +1 -1
  575. package/ReactCommon/logger/BUCK +4 -1
  576. package/ReactCommon/logger/CMakeLists.txt +16 -0
  577. package/ReactCommon/logger/React-logger.podspec +1 -1
  578. package/ReactCommon/microprofiler/BUCK +5 -2
  579. package/ReactCommon/react/bridging/AString.h +42 -0
  580. package/ReactCommon/react/bridging/Android.mk +27 -0
  581. package/ReactCommon/react/bridging/Array.h +108 -0
  582. package/ReactCommon/react/bridging/BUCK +57 -0
  583. package/ReactCommon/react/bridging/Base.h +154 -0
  584. package/ReactCommon/react/bridging/Bool.h +25 -0
  585. package/ReactCommon/react/bridging/Bridging.h +19 -0
  586. package/ReactCommon/react/bridging/CMakeLists.txt +17 -0
  587. package/ReactCommon/react/bridging/CallbackWrapper.h +103 -0
  588. package/ReactCommon/react/bridging/Class.h +71 -0
  589. package/ReactCommon/react/bridging/Convert.h +153 -0
  590. package/ReactCommon/react/bridging/Error.h +51 -0
  591. package/ReactCommon/react/bridging/Function.h +214 -0
  592. package/ReactCommon/react/{nativemodule/core/ReactCommon → bridging}/LongLivedObject.cpp +5 -0
  593. package/ReactCommon/react/bridging/LongLivedObject.h +58 -0
  594. package/ReactCommon/react/bridging/Number.h +47 -0
  595. package/ReactCommon/react/bridging/Object.h +100 -0
  596. package/ReactCommon/react/bridging/Promise.h +102 -0
  597. package/ReactCommon/react/bridging/Value.h +107 -0
  598. package/ReactCommon/react/bridging/tests/BridgingTest.cpp +407 -0
  599. package/ReactCommon/react/bridging/tests/BridgingTest.h +77 -0
  600. package/ReactCommon/react/bridging/tests/ClassTest.cpp +97 -0
  601. package/ReactCommon/react/config/BUCK +4 -1
  602. package/ReactCommon/react/config/CMakeLists.txt +19 -0
  603. package/ReactCommon/react/debug/Android.mk +1 -1
  604. package/ReactCommon/react/debug/BUCK +4 -1
  605. package/ReactCommon/react/debug/CMakeLists.txt +22 -0
  606. package/ReactCommon/react/debug/react_native_assert.h +1 -1
  607. package/ReactCommon/react/nativemodule/core/Android.mk +7 -4
  608. package/ReactCommon/react/nativemodule/core/BUCK +5 -1
  609. package/ReactCommon/react/nativemodule/core/CMakeLists.txt +32 -0
  610. package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.h +2 -48
  611. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +0 -23
  612. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +18 -2
  613. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -83
  614. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.h +1 -1
  615. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +3 -1
  616. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +18 -7
  617. package/ReactCommon/react/nativemodule/samples/BUCK +4 -1
  618. package/ReactCommon/react/renderer/animations/Android.mk +1 -2
  619. package/ReactCommon/react/renderer/animations/BUCK +4 -1
  620. package/ReactCommon/react/renderer/animations/CMakeLists.txt +32 -0
  621. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +6 -6
  622. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +4 -3
  623. package/ReactCommon/react/renderer/animations/conversions.h +11 -11
  624. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +1 -1
  625. package/ReactCommon/react/renderer/attributedstring/Android.mk +1 -2
  626. package/ReactCommon/react/renderer/attributedstring/BUCK +4 -1
  627. package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +29 -0
  628. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +16 -16
  629. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +14 -14
  630. package/ReactCommon/react/renderer/attributedstring/conversions.h +13 -11
  631. package/ReactCommon/react/renderer/componentregistry/Android.mk +2 -2
  632. package/ReactCommon/react/renderer/componentregistry/BUCK +4 -1
  633. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +24 -0
  634. package/ReactCommon/react/renderer/componentregistry/native/Android.mk +1 -2
  635. package/ReactCommon/react/renderer/componentregistry/native/BUCK +4 -1
  636. package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +24 -0
  637. package/ReactCommon/react/renderer/components/image/Android.mk +1 -1
  638. package/ReactCommon/react/renderer/components/image/BUCK +4 -1
  639. package/ReactCommon/react/renderer/components/image/CMakeLists.txt +29 -0
  640. package/ReactCommon/react/renderer/components/inputaccessory/BUCK +4 -1
  641. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +4 -1
  642. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +16 -2
  643. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +4 -1
  644. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +16 -11
  645. package/ReactCommon/react/renderer/components/modal/Android.mk +1 -1
  646. package/ReactCommon/react/renderer/components/modal/BUCK +4 -1
  647. package/ReactCommon/react/renderer/components/modal/CMakeLists.txt +31 -0
  648. package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +1 -1
  649. package/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h +1 -1
  650. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +1 -1
  651. package/ReactCommon/react/renderer/components/progressbar/Android.mk +1 -2
  652. package/ReactCommon/react/renderer/components/progressbar/BUCK +4 -1
  653. package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +34 -0
  654. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/conversions.h +1 -1
  655. package/ReactCommon/react/renderer/components/root/Android.mk +1 -2
  656. package/ReactCommon/react/renderer/components/root/BUCK +4 -1
  657. package/ReactCommon/react/renderer/components/root/CMakeLists.txt +26 -0
  658. package/ReactCommon/react/renderer/components/safeareaview/BUCK +4 -1
  659. package/ReactCommon/react/renderer/components/scrollview/Android.mk +1 -2
  660. package/ReactCommon/react/renderer/components/scrollview/BUCK +4 -1
  661. package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +28 -0
  662. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +2 -2
  663. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +1 -1
  664. package/ReactCommon/react/renderer/components/slider/Android.mk +1 -2
  665. package/ReactCommon/react/renderer/components/slider/BUCK +4 -1
  666. package/ReactCommon/react/renderer/components/slider/CMakeLists.txt +38 -0
  667. package/ReactCommon/react/renderer/components/switch/Android.mk +1 -2
  668. package/ReactCommon/react/renderer/components/switch/BUCK +4 -1
  669. package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +44 -0
  670. package/ReactCommon/react/renderer/components/text/Android.mk +1 -1
  671. package/ReactCommon/react/renderer/components/text/BUCK +4 -1
  672. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +33 -0
  673. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +1 -1
  674. package/ReactCommon/react/renderer/components/textinput/Android.mk +1 -1
  675. package/ReactCommon/react/renderer/components/textinput/BUCK +4 -1
  676. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +40 -0
  677. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +6 -6
  678. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +1 -1
  679. package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +4 -1
  680. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +1 -1
  681. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +1 -1
  682. package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +3 -4
  683. package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +1 -2
  684. package/ReactCommon/react/renderer/components/unimplementedview/BUCK +4 -1
  685. package/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +27 -0
  686. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +41 -6
  687. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +24 -0
  688. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +5 -0
  689. package/ReactCommon/react/renderer/components/view/Android.mk +1 -1
  690. package/ReactCommon/react/renderer/components/view/BUCK +5 -3
  691. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +26 -0
  692. package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +35 -0
  693. package/ReactCommon/react/renderer/components/view/PointerEvent.h +59 -0
  694. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +76 -2
  695. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +14 -1
  696. package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +1 -1
  697. package/ReactCommon/react/renderer/components/view/ViewEventEmitter.h +1 -1
  698. package/ReactCommon/react/renderer/components/view/ViewProps.cpp +46 -22
  699. package/ReactCommon/react/renderer/components/view/ViewProps.h +22 -11
  700. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +5 -3
  701. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +46 -3
  702. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +13 -1
  703. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +38 -27
  704. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
  705. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +2 -1
  706. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +33 -0
  707. package/ReactCommon/react/renderer/components/view/conversions.h +5 -6
  708. package/ReactCommon/react/renderer/components/view/primitives.h +104 -11
  709. package/ReactCommon/react/renderer/components/view/propsConversions.h +191 -0
  710. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +201 -24
  711. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +3 -3
  712. package/ReactCommon/react/renderer/core/Android.mk +1 -2
  713. package/ReactCommon/react/renderer/core/BUCK +4 -3
  714. package/ReactCommon/react/renderer/core/CMakeLists.txt +22 -0
  715. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +12 -0
  716. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +21 -0
  717. package/ReactCommon/react/renderer/core/EventDispatcher.h +15 -0
  718. package/ReactCommon/react/renderer/core/EventEmitter.cpp +15 -12
  719. package/ReactCommon/react/renderer/core/EventEmitter.h +5 -6
  720. package/ReactCommon/react/renderer/core/EventListener.cpp +39 -0
  721. package/ReactCommon/react/renderer/core/EventListener.h +44 -0
  722. package/ReactCommon/react/renderer/core/Props.cpp +5 -2
  723. package/ReactCommon/react/renderer/core/Props.h +2 -1
  724. package/ReactCommon/react/renderer/core/RawProps.h +1 -1
  725. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +1 -1
  726. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +7 -6
  727. package/ReactCommon/react/renderer/core/RawPropsParser.h +0 -1
  728. package/ReactCommon/react/renderer/core/propsConversions.h +6 -5
  729. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +10 -12
  730. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +3 -3
  731. package/ReactCommon/react/renderer/debug/Android.mk +1 -1
  732. package/ReactCommon/react/renderer/debug/BUCK +4 -1
  733. package/ReactCommon/react/renderer/debug/CMakeLists.txt +15 -0
  734. package/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h +3 -3
  735. package/ReactCommon/react/renderer/element/BUCK +4 -1
  736. package/ReactCommon/react/renderer/element/tests/ElementTest.cpp +3 -3
  737. package/ReactCommon/react/renderer/graphics/Android.mk +1 -2
  738. package/ReactCommon/react/renderer/graphics/BUCK +4 -1
  739. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +25 -0
  740. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
  741. package/ReactCommon/react/renderer/graphics/Transform.cpp +8 -0
  742. package/ReactCommon/react/renderer/graphics/Transform.h +9 -3
  743. package/ReactCommon/react/renderer/graphics/conversions.h +1 -11
  744. package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +1 -1
  745. package/ReactCommon/react/renderer/imagemanager/Android.mk +1 -1
  746. package/ReactCommon/react/renderer/imagemanager/BUCK +4 -1
  747. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +34 -0
  748. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImageManager.mm +1 -1
  749. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.mm +1 -1
  750. package/ReactCommon/react/renderer/leakchecker/BUCK +4 -1
  751. package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +18 -0
  752. package/ReactCommon/react/renderer/mapbuffer/BUCK +4 -1
  753. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +15 -0
  754. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +8 -8
  755. package/ReactCommon/react/renderer/mounting/Android.mk +1 -2
  756. package/ReactCommon/react/renderer/mounting/BUCK +4 -1
  757. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +31 -0
  758. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +2 -2
  759. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +3 -3
  760. package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
  761. package/ReactCommon/react/renderer/mounting/MountingTransaction.cpp +1 -1
  762. package/ReactCommon/react/renderer/mounting/MountingTransaction.h +2 -2
  763. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +4 -1
  764. package/ReactCommon/react/renderer/mounting/ShadowTreeRevision.h +0 -2
  765. package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +1 -1
  766. package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +7 -10
  767. package/ReactCommon/react/renderer/mounting/TelemetryController.h +7 -7
  768. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +1 -1
  769. package/ReactCommon/react/renderer/runtimescheduler/BUCK +4 -1
  770. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +21 -0
  771. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +55 -40
  772. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +26 -1
  773. package/ReactCommon/react/renderer/runtimescheduler/Task.h +3 -2
  774. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +48 -3
  775. package/ReactCommon/react/renderer/runtimescheduler/tests/StubQueue.h +9 -0
  776. package/ReactCommon/react/renderer/scheduler/Android.mk +1 -2
  777. package/ReactCommon/react/renderer/scheduler/BUCK +4 -1
  778. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +34 -0
  779. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +41 -6
  780. package/ReactCommon/react/renderer/scheduler/Scheduler.h +10 -1
  781. package/ReactCommon/react/renderer/telemetry/Android.mk +1 -2
  782. package/ReactCommon/react/renderer/telemetry/BUCK +4 -1
  783. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +27 -0
  784. package/ReactCommon/react/renderer/templateprocessor/Android.mk +1 -2
  785. package/ReactCommon/react/renderer/templateprocessor/BUCK +4 -1
  786. package/ReactCommon/react/renderer/templateprocessor/CMakeLists.txt +26 -0
  787. package/ReactCommon/react/renderer/textlayoutmanager/Android.mk +1 -2
  788. package/ReactCommon/react/renderer/textlayoutmanager/BUCK +4 -1
  789. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +45 -0
  790. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +142 -10
  791. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +13 -11
  792. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +0 -2
  793. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +0 -1
  794. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +26 -9
  795. package/ReactCommon/react/renderer/uimanager/Android.mk +1 -2
  796. package/ReactCommon/react/renderer/uimanager/BUCK +4 -1
  797. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +32 -0
  798. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +8 -9
  799. package/ReactCommon/react/renderer/uimanager/UIManager.h +10 -13
  800. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +6 -5
  801. package/ReactCommon/react/test_utils/BUCK +4 -1
  802. package/ReactCommon/react/test_utils/MockSurfaceHandler.h +2 -2
  803. package/ReactCommon/react/utils/Android.mk +1 -3
  804. package/ReactCommon/react/utils/BUCK +4 -1
  805. package/ReactCommon/react/utils/CMakeLists.txt +24 -0
  806. package/ReactCommon/react/utils/ContextContainer.h +2 -2
  807. package/ReactCommon/react/utils/ManagedObjectWrapper.h +4 -0
  808. package/ReactCommon/react/utils/SimpleThreadSafeCache.h +2 -2
  809. package/ReactCommon/react/utils/Telemetry.h +2 -2
  810. package/ReactCommon/reactperflogger/BUCK +4 -1
  811. package/ReactCommon/reactperflogger/CMakeLists.txt +14 -0
  812. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  813. package/ReactCommon/runtimeexecutor/BUCK +4 -1
  814. package/ReactCommon/runtimeexecutor/CMakeLists.txt +17 -0
  815. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  816. package/ReactCommon/yoga/CMakeLists.txt +16 -0
  817. package/ReactCommon/yoga/Yoga.podspec +3 -3
  818. package/ReactCommon/yoga/yoga/BitUtils.h +4 -0
  819. package/ReactCommon/yoga/yoga/CompactValue.h +4 -0
  820. package/ReactCommon/yoga/yoga/Utils.h +5 -0
  821. package/ReactCommon/yoga/yoga/YGConfig.h +5 -0
  822. package/ReactCommon/yoga/yoga/YGFloatOptional.h +4 -0
  823. package/ReactCommon/yoga/yoga/YGLayout.h +5 -0
  824. package/ReactCommon/yoga/yoga/YGNodePrint.h +7 -0
  825. package/ReactCommon/yoga/yoga/Yoga-internal.h +5 -0
  826. package/ReactCommon/yoga/yoga/Yoga.cpp +1 -1
  827. package/ReactCommon/yoga/yoga/log.h +4 -0
  828. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-javadoc.jar +0 -0
  829. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-javadoc.jar.md5 +1 -0
  830. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-javadoc.jar.sha1 +1 -0
  831. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-javadoc.jar.sha256 +1 -0
  832. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-javadoc.jar.sha512 +1 -0
  833. package/android/com/facebook/react/react-native/{0.68.2-7/react-native-0.68.2-7-sources.jar → 0.69.5-0/react-native-0.69.5-0-debug-sources.jar} +0 -0
  834. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-sources.jar.md5 +1 -0
  835. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-sources.jar.sha1 +1 -0
  836. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-sources.jar.sha256 +1 -0
  837. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug-sources.jar.sha512 +1 -0
  838. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug.aar +0 -0
  839. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug.aar.md5 +1 -0
  840. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug.aar.sha1 +1 -0
  841. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug.aar.sha256 +1 -0
  842. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-debug.aar.sha512 +1 -0
  843. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-javadoc.jar +0 -0
  844. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-javadoc.jar.md5 +1 -0
  845. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-javadoc.jar.sha1 +1 -0
  846. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-javadoc.jar.sha256 +1 -0
  847. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-javadoc.jar.sha512 +1 -0
  848. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-sources.jar +0 -0
  849. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-sources.jar.md5 +1 -0
  850. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-sources.jar.sha1 +1 -0
  851. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-sources.jar.sha256 +1 -0
  852. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release-sources.jar.sha512 +1 -0
  853. package/android/com/facebook/react/react-native/{0.68.2-7/react-native-0.68.2-7.aar → 0.69.5-0/react-native-0.69.5-0-release.aar} +0 -0
  854. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release.aar.md5 +1 -0
  855. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release.aar.sha1 +1 -0
  856. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release.aar.sha256 +1 -0
  857. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0-release.aar.sha512 +1 -0
  858. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.module +670 -0
  859. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.module.md5 +1 -0
  860. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.module.sha1 +1 -0
  861. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.module.sha256 +1 -0
  862. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.module.sha512 +1 -0
  863. package/android/com/facebook/react/react-native/{0.68.2-7/react-native-0.68.2-7.pom → 0.69.5-0/react-native-0.69.5-0.pom} +32 -3
  864. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.pom.md5 +1 -0
  865. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.pom.sha1 +1 -0
  866. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.pom.sha256 +1 -0
  867. package/android/com/facebook/react/react-native/0.69.5-0/react-native-0.69.5-0.pom.sha512 +1 -0
  868. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
  869. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  870. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  871. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
  872. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
  873. package/flow/{use-subscription.js → use-sync-external-store.js} +4 -4
  874. package/index.js +30 -25
  875. package/jest/assetFileTransformer.js +3 -2
  876. package/jest/preprocessor.js +24 -107
  877. package/jest/preprocessor_DO_NOT_USE.js +122 -0
  878. package/package.json +35 -22
  879. package/react-native.config.js +1 -3
  880. package/react.gradle +47 -23
  881. package/scripts/cocoapods/FlipperConfiguration.rb +31 -0
  882. package/scripts/{find-node.sh → find-node-for-xcode.sh} +11 -0
  883. package/scripts/generate-artifacts.js +16 -6
  884. package/scripts/hermes/hermes-utils.js +253 -0
  885. package/scripts/hermes/prepare-hermes-for-build.js +47 -0
  886. package/scripts/packager.sh +1 -1
  887. package/scripts/react-native-xcode.sh +0 -4
  888. package/scripts/react_native_pods.rb +122 -20
  889. package/scripts/react_native_pods_utils/script_phases.rb +2 -2
  890. package/scripts/react_native_pods_utils/script_phases.sh +4 -5
  891. package/scripts/xcode/with-environment.sh +47 -0
  892. package/sdks/.hermesversion +1 -0
  893. package/sdks/hermes-engine/hermes-engine.podspec +81 -0
  894. package/sdks/hermes-engine/utils/build-apple-framework.sh +106 -0
  895. package/sdks/hermes-engine/utils/build-ios-framework.sh +20 -0
  896. package/sdks/hermes-engine/utils/build-mac-framework.sh +16 -0
  897. package/template/Gemfile +1 -1
  898. package/template/_flowconfig +1 -2
  899. package/template/_gitignore +5 -3
  900. package/template/_ruby-version +1 -1
  901. package/template/android/app/build.gradle +16 -5
  902. package/template/android/app/src/main/java/com/helloworld/MainActivity.java +9 -1
  903. package/template/android/app/src/main/java/com/helloworld/newarchitecture/MainApplicationReactNativeHost.java +2 -2
  904. package/template/android/app/src/main/jni/Android.mk +2 -3
  905. package/template/android/build.gradle +2 -2
  906. package/template/android/settings.gradle +2 -0
  907. package/template/ios/HelloWorld/AppDelegate.mm +26 -1
  908. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +11 -9
  909. package/template/ios/Podfile +4 -0
  910. package/template/ios/_xcode.env +11 -0
  911. package/template/package.json +4 -4
  912. package/third-party-podspecs/DoubleConversion.podspec +1 -1
  913. package/third-party-podspecs/RCT-Folly.podspec +4 -1
  914. package/third-party-podspecs/glog.podspec +1 -1
  915. package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -44
  916. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +0 -45
  917. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +0 -123
  918. package/Libraries/Components/View/ReactNativeViewViewConfig.js +0 -362
  919. package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +0 -83
  920. package/Libraries/ReactNative/UIManagerInjection.js +0 -15
  921. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +0 -24527
  922. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +0 -8309
  923. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +0 -8961
  924. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +0 -24948
  925. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +0 -8400
  926. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +0 -9049
  927. package/React/Views/RCTWeakViewHolder.h +0 -19
  928. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java +0 -388
  929. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBufferSoLoader.java +0 -33
  930. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.cpp +0 -48
  931. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.h +0 -40
  932. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/BUCK +0 -21
  933. package/ReactAndroid/src/main/jni/first-party/hermes/Android.mk +0 -10
  934. package/ReactAndroid/src/main/third-party/android/androidx/BUCK +0 -731
  935. package/ReactAndroid/src/main/third-party/java/asm/BUCK +0 -75
  936. package/ReactAndroid/src/main/third-party/java/assertj/BUCK +0 -14
  937. package/ReactAndroid/src/main/third-party/java/buck-android-support/BUCK +0 -11
  938. package/ReactAndroid/src/main/third-party/java/buck-android-support/buck-android-support.jar +0 -0
  939. package/ReactAndroid/src/main/third-party/java/infer-annotations/BUCK +0 -14
  940. package/ReactAndroid/src/main/third-party/java/javapoet/BUCK +0 -14
  941. package/ReactAndroid/src/main/third-party/java/jsr-305/BUCK +0 -13
  942. package/ReactAndroid/src/main/third-party/java/jsr-330/BUCK +0 -13
  943. package/ReactAndroid/src/main/third-party/java/junit/BUCK +0 -36
  944. package/ReactAndroid/src/main/third-party/java/mockito/BUCK +0 -36
  945. package/ReactAndroid/src/main/third-party/java/mockito2/BUCK +0 -75
  946. package/ReactAndroid/src/main/third-party/java/okhttp/BUCK +0 -46
  947. package/ReactAndroid/src/main/third-party/java/okio/BUCK +0 -24
  948. package/ReactAndroid/src/main/third-party/java/robolectric/BUCK +0 -218
  949. package/ReactAndroid/src/main/third-party/java/sqlite/BUCK +0 -23
  950. package/ReactAndroid/src/main/third-party/java/testing-support-lib/BUCK +0 -13
  951. package/ReactAndroid/src/main/third-party/kotlin/BUCK +0 -91
  952. package/ReactCommon/butter/optional.h +0 -38
  953. package/ReactCommon/common.mk +0 -29
  954. package/ReactCommon/react/renderer/mounting/MountingTransactionMetadata.h +0 -32
  955. package/ReactCommon/react/utils/LayoutManager.h +0 -150
  956. package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7-sources.jar.md5 +0 -1
  957. package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7-sources.jar.sha1 +0 -1
  958. package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7-sources.jar.sha256 +0 -1
  959. package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7-sources.jar.sha512 +0 -1
  960. package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.aar.md5 +0 -1
  961. package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.aar.sha1 +0 -1
  962. package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.aar.sha256 +0 -1
  963. package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.aar.sha512 +0 -1
  964. package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.module +0 -272
  965. package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.module.md5 +0 -1
  966. package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.module.sha1 +0 -1
  967. package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.module.sha256 +0 -1
  968. package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.module.sha512 +0 -1
  969. package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.pom.md5 +0 -1
  970. package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.pom.sha1 +0 -1
  971. package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.pom.sha256 +0 -1
  972. package/android/com/facebook/react/react-native/0.68.2-7/react-native-0.68.2-7.pom.sha512 +0 -1
  973. package/flow/Promise.js +0 -47
  974. package/template/Gemfile.lock +0 -100
@@ -37,7 +37,9 @@ import com.facebook.react.bridge.UiThreadUtil;
37
37
  import com.facebook.react.bridge.WritableMap;
38
38
  import com.facebook.react.bridge.WritableNativeMap;
39
39
  import com.facebook.react.common.annotations.VisibleForTesting;
40
+ import com.facebook.react.config.ReactFeatureFlags;
40
41
  import com.facebook.react.uimanager.FabricViewStateManager;
42
+ import com.facebook.react.uimanager.JSPointerDispatcher;
41
43
  import com.facebook.react.uimanager.JSTouchDispatcher;
42
44
  import com.facebook.react.uimanager.PixelUtil;
43
45
  import com.facebook.react.uimanager.RootView;
@@ -416,6 +418,7 @@ public class ReactModalHostView extends ViewGroup
416
418
  private final FabricViewStateManager mFabricViewStateManager = new FabricViewStateManager();
417
419
 
418
420
  private final JSTouchDispatcher mJSTouchDispatcher = new JSTouchDispatcher(this);
421
+ @Nullable private JSPointerDispatcher mJSPointerDispatcher;
419
422
 
420
423
  private final ReactAndroidHWInputDeviceHelper mAndroidHWInputDeviceHelper;
421
424
 
@@ -425,6 +428,9 @@ public class ReactModalHostView extends ViewGroup
425
428
  super(context);
426
429
  mReactContext = (ReactContext)context;
427
430
  mAndroidHWInputDeviceHelper = new ReactAndroidHWInputDeviceHelper();
431
+ if (ReactFeatureFlags.dispatchPointerEvents) {
432
+ mJSPointerDispatcher = new JSPointerDispatcher(this);
433
+ }
428
434
  }
429
435
 
430
436
  private void setEventDispatcher(EventDispatcher eventDispatcher) {
@@ -536,31 +542,59 @@ public class ReactModalHostView extends ViewGroup
536
542
  @Override
537
543
  public boolean onInterceptTouchEvent(MotionEvent event) {
538
544
  mJSTouchDispatcher.handleTouchEvent(event, mEventDispatcher);
545
+ if (mJSPointerDispatcher != null) {
546
+ mJSPointerDispatcher.handleMotionEvent(event, mEventDispatcher);
547
+ }
539
548
  return super.onInterceptTouchEvent(event);
540
549
  }
541
550
 
542
551
  @Override
543
552
  public boolean onTouchEvent(MotionEvent event) {
544
553
  mJSTouchDispatcher.handleTouchEvent(event, mEventDispatcher);
554
+ if (mJSPointerDispatcher != null) {
555
+ mJSPointerDispatcher.handleMotionEvent(event, mEventDispatcher);
556
+ }
545
557
  super.onTouchEvent(event);
546
558
  // In case when there is no children interested in handling touch event, we return true from
547
559
  // the root view in order to receive subsequent events related to that gesture
548
560
  return true;
549
561
  }
550
562
 
563
+ @Override
564
+ public boolean onInterceptHoverEvent(MotionEvent event) {
565
+ if (mJSPointerDispatcher != null) {
566
+ mJSPointerDispatcher.handleMotionEvent(event, mEventDispatcher);
567
+ }
568
+ return super.onHoverEvent(event);
569
+ }
570
+
571
+ @Override
572
+ public boolean onHoverEvent(MotionEvent event) {
573
+ if (mJSPointerDispatcher != null) {
574
+ mJSPointerDispatcher.handleMotionEvent(event, mEventDispatcher);
575
+ }
576
+ return super.onHoverEvent(event);
577
+ }
578
+
551
579
  @Override
552
580
  public void onChildStartedNativeGesture(MotionEvent ev) {
553
- mJSTouchDispatcher.onChildStartedNativeGesture(ev, mEventDispatcher);
581
+ this.onChildStartedNativeGesture(null, ev);
554
582
  }
555
583
 
556
584
  @Override
557
585
  public void onChildStartedNativeGesture(View childView, MotionEvent ev) {
558
586
  mJSTouchDispatcher.onChildStartedNativeGesture(ev, mEventDispatcher);
587
+ if (mJSPointerDispatcher != null) {
588
+ mJSPointerDispatcher.onChildStartedNativeGesture(childView, ev, mEventDispatcher);
589
+ }
559
590
  }
560
591
 
561
592
  @Override
562
593
  public void onChildEndedNativeGesture(View childView, MotionEvent ev) {
563
594
  mJSTouchDispatcher.onChildEndedNativeGesture(ev, mEventDispatcher);
595
+ if (mJSPointerDispatcher != null) {
596
+ mJSPointerDispatcher.onChildEndedNativeGesture();
597
+ }
564
598
  }
565
599
 
566
600
  @Override
@@ -5,7 +5,10 @@ rn_android_library(
5
5
  srcs = glob(["*.java"]),
6
6
  autoglob = False,
7
7
  is_androidx = True,
8
- labels = ["supermodule:xplat/default/public.react_native.infra"],
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 = ["supermodule:xplat/default/public.react_native.infra"],
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"),
@@ -46,6 +46,7 @@ import com.facebook.react.uimanager.ReactOverflowViewWithInset;
46
46
  import com.facebook.react.uimanager.ViewProps;
47
47
  import com.facebook.react.uimanager.events.NativeGestureUtil;
48
48
  import com.facebook.react.views.scroll.ReactScrollViewHelper.HasFlingAnimator;
49
+ import com.facebook.react.views.scroll.ReactScrollViewHelper.HasScrollEventThrottle;
49
50
  import com.facebook.react.views.scroll.ReactScrollViewHelper.HasScrollState;
50
51
  import com.facebook.react.views.scroll.ReactScrollViewHelper.ReactScrollViewScrollState;
51
52
  import com.facebook.react.views.view.ReactViewBackgroundManager;
@@ -59,7 +60,8 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
59
60
  FabricViewStateManager.HasFabricViewStateManager,
60
61
  ReactOverflowViewWithInset,
61
62
  HasScrollState,
62
- HasFlingAnimator {
63
+ HasFlingAnimator,
64
+ HasScrollEventThrottle {
63
65
 
64
66
  private static boolean DEBUG_MODE = false && ReactBuildConfig.DEBUG;
65
67
  private static String TAG = ReactHorizontalScrollView.class.getSimpleName();
@@ -106,6 +108,8 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
106
108
  private final ReactScrollViewScrollState mReactScrollViewScrollState;
107
109
  private final ValueAnimator DEFAULT_FLING_ANIMATOR = ObjectAnimator.ofInt(this, "scrollX", 0, 0);
108
110
  private PointerEvents mPointerEvents = PointerEvents.AUTO;
111
+ private long mLastScrollDispatchTime = 0;
112
+ private int mScrollEventThrottle = 0;
109
113
 
110
114
  private final Rect mTempRect = new Rect();
111
115
 
@@ -468,11 +472,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
468
472
 
469
473
  try {
470
474
  if (super.onInterceptTouchEvent(ev)) {
471
- NativeGestureUtil.notifyNativeGestureStarted(this, ev);
472
- ReactScrollViewHelper.emitScrollBeginDragEvent(this);
473
- mDragging = true;
474
- enableFpsListener();
475
- getFlingAnimator().cancel();
475
+ handleInterceptedTouchEvent(ev);
476
476
  return true;
477
477
  }
478
478
  } catch (IllegalArgumentException e) {
@@ -485,6 +485,14 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
485
485
  return false;
486
486
  }
487
487
 
488
+ protected void handleInterceptedTouchEvent(MotionEvent ev) {
489
+ NativeGestureUtil.notifyNativeGestureStarted(this, ev);
490
+ ReactScrollViewHelper.emitScrollBeginDragEvent(this);
491
+ mDragging = true;
492
+ enableFpsListener();
493
+ getFlingAnimator().cancel();
494
+ }
495
+
488
496
  @Override
489
497
  public boolean pageScroll(int direction) {
490
498
  boolean handled = super.pageScroll(direction);
@@ -539,7 +547,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
539
547
  }
540
548
 
541
549
  mVelocityHelper.calculateVelocity(ev);
542
- int action = ev.getAction() & MotionEvent.ACTION_MASK;
550
+ int action = ev.getActionMasked();
543
551
  if (action == MotionEvent.ACTION_UP && mDragging) {
544
552
  ReactScrollViewHelper.updateFabricScrollState(this);
545
553
 
@@ -552,6 +560,10 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
552
560
  handlePostTouchScrolling(Math.round(velocityX), Math.round(velocityY));
553
561
  }
554
562
 
563
+ if (action == MotionEvent.ACTION_DOWN) {
564
+ cancelPostTouchScrolling();
565
+ }
566
+
555
567
  return super.onTouchEvent(ev);
556
568
  }
557
569
 
@@ -669,8 +681,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
669
681
  }
670
682
 
671
683
  private View getContentView() {
672
- View contentView = getChildAt(0);
673
- return contentView;
684
+ return getChildAt(0);
674
685
  }
675
686
 
676
687
  public void setEndFillColor(int color) {
@@ -830,6 +841,14 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
830
841
  this, mPostTouchRunnable, ReactScrollViewHelper.MOMENTUM_DELAY);
831
842
  }
832
843
 
844
+ private void cancelPostTouchScrolling() {
845
+ if (mPostTouchRunnable != null) {
846
+ removeCallbacks(mPostTouchRunnable);
847
+ mPostTouchRunnable = null;
848
+ getFlingAnimator().cancel();
849
+ }
850
+ }
851
+
833
852
  private int predictFinalScrollPosition(int velocityX) {
834
853
  // predict where a fling would end up so we can scroll to the nearest snap offset
835
854
  final int maximumOffset = Math.max(0, computeHorizontalScrollRange() - getWidth());
@@ -1199,12 +1218,13 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
1199
1218
  }
1200
1219
 
1201
1220
  super.scrollTo(x, y);
1202
- // The final scroll position might be different from (x, y). For example, we may need to scroll
1203
- // to the last item in the list, but that item cannot be move to the start position of the view.
1204
- final int actualX = getScrollX();
1205
- final int actualY = getScrollY();
1206
- ReactScrollViewHelper.updateFabricScrollState(this, actualX, actualY);
1207
- setPendingContentOffsets(actualX, actualY);
1221
+ ReactScrollViewHelper.updateFabricScrollState(this);
1222
+ setPendingContentOffsets(x, y);
1223
+ }
1224
+
1225
+ private boolean isContentReady() {
1226
+ View child = getContentView();
1227
+ return child != null && child.getWidth() != 0 && child.getHeight() != 0;
1208
1228
  }
1209
1229
 
1210
1230
  /**
@@ -1218,8 +1238,8 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
1218
1238
  if (DEBUG_MODE) {
1219
1239
  FLog.i(TAG, "setPendingContentOffsets[%d] x %d y %d", getId(), x, y);
1220
1240
  }
1221
- View child = getContentView();
1222
- if (child != null && child.getWidth() != 0 && child.getHeight() != 0) {
1241
+
1242
+ if (isContentReady()) {
1223
1243
  pendingContentOffsetX = UNSET_CONTENT_OFFSET;
1224
1244
  pendingContentOffsetY = UNSET_CONTENT_OFFSET;
1225
1245
  } else {
@@ -1278,4 +1298,24 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
1278
1298
  public PointerEvents getPointerEvents() {
1279
1299
  return mPointerEvents;
1280
1300
  }
1301
+
1302
+ @Override
1303
+ public void setScrollEventThrottle(int scrollEventThrottle) {
1304
+ mScrollEventThrottle = scrollEventThrottle;
1305
+ }
1306
+
1307
+ @Override
1308
+ public int getScrollEventThrottle() {
1309
+ return mScrollEventThrottle;
1310
+ }
1311
+
1312
+ @Override
1313
+ public void setLastScrollDispatchTime(long lastScrollDispatchTime) {
1314
+ mLastScrollDispatchTime = lastScrollDispatchTime;
1315
+ }
1316
+
1317
+ @Override
1318
+ public long getLastScrollDispatchTime() {
1319
+ return mLastScrollDispatchTime;
1320
+ }
1281
1321
  }
@@ -8,14 +8,12 @@
8
8
  package com.facebook.react.views.scroll;
9
9
 
10
10
  import android.graphics.Color;
11
- import android.util.DisplayMetrics;
12
11
  import androidx.annotation.Nullable;
13
12
  import androidx.core.view.ViewCompat;
14
13
  import com.facebook.react.modules.i18nmanager.I18nUtil;
15
14
  import com.facebook.react.bridge.ReadableArray;
16
15
  import com.facebook.react.bridge.ReadableMap;
17
16
  import com.facebook.react.module.annotations.ReactModule;
18
- import com.facebook.react.uimanager.DisplayMetricsHolder;
19
17
  import com.facebook.react.uimanager.PixelUtil;
20
18
  import com.facebook.react.uimanager.PointerEvents;
21
19
  import com.facebook.react.uimanager.ReactClippingViewGroupHelper;
@@ -104,8 +102,8 @@ public class ReactHorizontalScrollViewManager extends ViewGroupManager<ReactHori
104
102
  @ReactProp(name = "snapToInterval")
105
103
  public void setSnapToInterval(ReactHorizontalScrollView view, float snapToInterval) {
106
104
  // snapToInterval needs to be exposed as a float because of the Javascript interface.
107
- DisplayMetrics screenDisplayMetrics = DisplayMetricsHolder.getScreenDisplayMetrics();
108
- view.setSnapInterval((int) (snapToInterval * screenDisplayMetrics.density));
105
+ float density = PixelUtil.getDisplayMetricDensity();
106
+ view.setSnapInterval((int) (snapToInterval * density));
109
107
  }
110
108
 
111
109
  @ReactProp(name = "snapToAlignment")
@@ -116,15 +114,15 @@ public class ReactHorizontalScrollViewManager extends ViewGroupManager<ReactHori
116
114
  @ReactProp(name = "snapToOffsets")
117
115
  public void setSnapToOffsets(
118
116
  ReactHorizontalScrollView view, @Nullable ReadableArray snapToOffsets) {
119
- if (snapToOffsets == null) {
117
+ if (snapToOffsets == null || snapToOffsets.size() == 0) {
120
118
  view.setSnapOffsets(null);
121
119
  return;
122
120
  }
123
121
 
124
- DisplayMetrics screenDisplayMetrics = DisplayMetricsHolder.getScreenDisplayMetrics();
122
+ float density = PixelUtil.getDisplayMetricDensity();
125
123
  List<Integer> offsets = new ArrayList<Integer>();
126
124
  for (int i = 0; i < snapToOffsets.size(); i++) {
127
- offsets.add((int) (snapToOffsets.getDouble(i) * screenDisplayMetrics.density));
125
+ offsets.add((int) (snapToOffsets.getDouble(i) * density));
128
126
  }
129
127
  view.setSnapOffsets(offsets);
130
128
  }
@@ -359,4 +357,9 @@ public class ReactHorizontalScrollViewManager extends ViewGroupManager<ReactHori
359
357
  public void setPointerEvents(ReactHorizontalScrollView view, @Nullable String pointerEventsStr) {
360
358
  view.setPointerEvents(PointerEvents.parsePointerEvents(pointerEventsStr));
361
359
  }
360
+
361
+ @ReactProp(name = "scrollEventThrottle")
362
+ public void setScrollEventThrottle(ReactHorizontalScrollView view, int scrollEventThrottle) {
363
+ view.setScrollEventThrottle(scrollEventThrottle);
364
+ }
362
365
  }
@@ -42,6 +42,7 @@ import com.facebook.react.uimanager.ReactOverflowViewWithInset;
42
42
  import com.facebook.react.uimanager.ViewProps;
43
43
  import com.facebook.react.uimanager.events.NativeGestureUtil;
44
44
  import com.facebook.react.views.scroll.ReactScrollViewHelper.HasFlingAnimator;
45
+ import com.facebook.react.views.scroll.ReactScrollViewHelper.HasScrollEventThrottle;
45
46
  import com.facebook.react.views.scroll.ReactScrollViewHelper.HasScrollState;
46
47
  import com.facebook.react.views.scroll.ReactScrollViewHelper.ReactScrollViewScrollState;
47
48
  import com.facebook.react.views.view.ReactViewBackgroundManager;
@@ -62,7 +63,8 @@ public class ReactScrollView extends ScrollView
62
63
  FabricViewStateManager.HasFabricViewStateManager,
63
64
  ReactOverflowViewWithInset,
64
65
  HasScrollState,
65
- HasFlingAnimator {
66
+ HasFlingAnimator,
67
+ HasScrollEventThrottle {
66
68
 
67
69
  private static @Nullable Field sScrollerField;
68
70
  private static boolean sTriedToGetScrollerField = false;
@@ -103,6 +105,8 @@ public class ReactScrollView extends ScrollView
103
105
  new ReactScrollViewScrollState(ViewCompat.LAYOUT_DIRECTION_LTR);
104
106
  private final ValueAnimator DEFAULT_FLING_ANIMATOR = ObjectAnimator.ofInt(this, "scrollY", 0, 0);
105
107
  private PointerEvents mPointerEvents = PointerEvents.AUTO;
108
+ private long mLastScrollDispatchTime = 0;
109
+ private int mScrollEventThrottle = 0;
106
110
 
107
111
  public ReactScrollView(Context context) {
108
112
  this(context, null);
@@ -254,8 +258,8 @@ public class ReactScrollView extends ScrollView
254
258
  @Override
255
259
  protected void onLayout(boolean changed, int l, int t, int r, int b) {
256
260
  // Call with the present values in order to re-layout if necessary
257
- // If a "pending" value has been set, we restore that value.
258
- // That value gets cleared by reactScrollTo.
261
+ // If a "pending" content offset value has been set, we restore that value.
262
+ // Upon call to scrollTo, the "pending" values will be re-set.
259
263
  int scrollToX =
260
264
  pendingContentOffsetX != UNSET_CONTENT_OFFSET ? pendingContentOffsetX : getScrollX();
261
265
  int scrollToY =
@@ -348,11 +352,7 @@ public class ReactScrollView extends ScrollView
348
352
 
349
353
  try {
350
354
  if (super.onInterceptTouchEvent(ev)) {
351
- NativeGestureUtil.notifyNativeGestureStarted(this, ev);
352
- ReactScrollViewHelper.emitScrollBeginDragEvent(this);
353
- mDragging = true;
354
- enableFpsListener();
355
- getFlingAnimator().cancel();
355
+ handleInterceptedTouchEvent(ev);
356
356
  return true;
357
357
  }
358
358
  } catch (IllegalArgumentException e) {
@@ -365,6 +365,14 @@ public class ReactScrollView extends ScrollView
365
365
  return false;
366
366
  }
367
367
 
368
+ protected void handleInterceptedTouchEvent(MotionEvent ev) {
369
+ NativeGestureUtil.notifyNativeGestureStarted(this, ev);
370
+ ReactScrollViewHelper.emitScrollBeginDragEvent(this);
371
+ mDragging = true;
372
+ enableFpsListener();
373
+ getFlingAnimator().cancel();
374
+ }
375
+
368
376
  @Override
369
377
  public boolean onTouchEvent(MotionEvent ev) {
370
378
  if (!mScrollEnabled) {
@@ -377,7 +385,7 @@ public class ReactScrollView extends ScrollView
377
385
  }
378
386
 
379
387
  mVelocityHelper.calculateVelocity(ev);
380
- int action = ev.getAction() & MotionEvent.ACTION_MASK;
388
+ int action = ev.getActionMasked();
381
389
  if (action == MotionEvent.ACTION_UP && mDragging) {
382
390
  ReactScrollViewHelper.updateFabricScrollState(this);
383
391
 
@@ -390,6 +398,10 @@ public class ReactScrollView extends ScrollView
390
398
  handlePostTouchScrolling(Math.round(velocityX), Math.round(velocityY));
391
399
  }
392
400
 
401
+ if (action == MotionEvent.ACTION_DOWN) {
402
+ cancelPostTouchScrolling();
403
+ }
404
+
393
405
  return super.onTouchEvent(ev);
394
406
  }
395
407
 
@@ -619,6 +631,14 @@ public class ReactScrollView extends ScrollView
619
631
  this, mPostTouchRunnable, ReactScrollViewHelper.MOMENTUM_DELAY);
620
632
  }
621
633
 
634
+ private void cancelPostTouchScrolling() {
635
+ if (mPostTouchRunnable != null) {
636
+ removeCallbacks(mPostTouchRunnable);
637
+ mPostTouchRunnable = null;
638
+ getFlingAnimator().cancel();
639
+ }
640
+ }
641
+
622
642
  private int predictFinalScrollPosition(int velocityY) {
623
643
  // predict where a fling would end up so we can scroll to the nearest snap offset
624
644
  // TODO(T106335409): Existing prediction still uses overscroller. Consider change this to use
@@ -962,10 +982,10 @@ public class ReactScrollView extends ScrollView
962
982
  }
963
983
 
964
984
  /**
965
- * Calls `reactScrollTo` and updates state.
985
+ * Calls `super.scrollTo` and updates state.
966
986
  *
967
- * <p>`reactScrollTo` changes `contentOffset` and we need to keep `contentOffset` in sync between
968
- * scroll view and state. Calling raw `reactScrollTo` doesn't update state.
987
+ * <p>`super.scrollTo` changes `contentOffset` and we need to keep `contentOffset` in sync between
988
+ * scroll view and state.
969
989
  *
970
990
  * <p>Note that while we can override scrollTo, we *cannot* override `smoothScrollTo` because it
971
991
  * is final. See `reactSmoothScrollTo`.
@@ -973,12 +993,13 @@ public class ReactScrollView extends ScrollView
973
993
  @Override
974
994
  public void scrollTo(int x, int y) {
975
995
  super.scrollTo(x, y);
976
- // The final scroll position might be different from (x, y). For example, we may need to scroll
977
- // to the last item in the list, but that item cannot be move to the start position of the view.
978
- final int actualX = getScrollX();
979
- final int actualY = getScrollY();
980
- ReactScrollViewHelper.updateFabricScrollState(this, actualX, actualY);
981
- setPendingContentOffsets(actualX, actualY);
996
+ ReactScrollViewHelper.updateFabricScrollState(this);
997
+ setPendingContentOffsets(x, y);
998
+ }
999
+
1000
+ private boolean isContentReady() {
1001
+ View child = getContentView();
1002
+ return child != null && child.getWidth() != 0 && child.getHeight() != 0;
982
1003
  }
983
1004
 
984
1005
  /**
@@ -989,8 +1010,7 @@ public class ReactScrollView extends ScrollView
989
1010
  * @param y
990
1011
  */
991
1012
  private void setPendingContentOffsets(int x, int y) {
992
- View child = getChildAt(0);
993
- if (child != null && child.getWidth() != 0 && child.getHeight() != 0) {
1013
+ if (isContentReady()) {
994
1014
  pendingContentOffsetX = UNSET_CONTENT_OFFSET;
995
1015
  pendingContentOffsetY = UNSET_CONTENT_OFFSET;
996
1016
  } else {
@@ -1140,4 +1160,24 @@ public class ReactScrollView extends ScrollView
1140
1160
  public PointerEvents getPointerEvents() {
1141
1161
  return mPointerEvents;
1142
1162
  }
1163
+
1164
+ @Override
1165
+ public void setScrollEventThrottle(int scrollEventThrottle) {
1166
+ mScrollEventThrottle = scrollEventThrottle;
1167
+ }
1168
+
1169
+ @Override
1170
+ public int getScrollEventThrottle() {
1171
+ return mScrollEventThrottle;
1172
+ }
1173
+
1174
+ @Override
1175
+ public void setLastScrollDispatchTime(long lastScrollDispatchTime) {
1176
+ mLastScrollDispatchTime = lastScrollDispatchTime;
1177
+ }
1178
+
1179
+ @Override
1180
+ public long getLastScrollDispatchTime() {
1181
+ return mLastScrollDispatchTime;
1182
+ }
1143
1183
  }
@@ -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 void emitScrollEvent(ViewGroup scrollView, float xVelocity, float yVelocity) {
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(ViewGroup scrollView) {
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
- ViewGroup scrollView, float xVelocity, float yVelocity) {
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
- ViewGroup scrollView, int xVelocity, int yVelocity) {
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(ViewGroup scrollView) {
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 void emitScrollEvent(ViewGroup scrollView, ScrollEventType scrollEventType) {
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
- ViewGroup scrollView, ScrollEventType scrollEventType, float xVelocity, float yVelocity) {
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
  }
@@ -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
- DisplayMetrics screenDisplayMetrics = DisplayMetricsHolder.getScreenDisplayMetrics();
102
- view.setSnapInterval((int) (snapToInterval * screenDisplayMetrics.density));
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
- DisplayMetrics screenDisplayMetrics = DisplayMetricsHolder.getScreenDisplayMetrics();
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) * screenDisplayMetrics.density));
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
  }