react-native 0.0.0-263478b91 → 0.0.0-268efb102

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 (866) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +14 -1
  2. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -0
  3. package/Libraries/Animated/AnimatedEvent.js +23 -4
  4. package/Libraries/Animated/AnimatedMock.js +1 -7
  5. package/Libraries/Animated/NativeAnimatedHelper.js +3 -3
  6. package/Libraries/Animated/animations/Animation.js +1 -0
  7. package/Libraries/Animated/animations/DecayAnimation.js +2 -0
  8. package/Libraries/Animated/animations/SpringAnimation.js +1 -0
  9. package/Libraries/Animated/animations/TimingAnimation.js +3 -0
  10. package/Libraries/Animated/createAnimatedComponent.js +5 -1
  11. package/Libraries/Animated/createAnimatedComponentInjection.js +48 -0
  12. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +48 -0
  13. package/Libraries/Animated/nodes/AnimatedValue.js +6 -0
  14. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -0
  15. package/Libraries/Animated/useAnimatedProps.js +211 -0
  16. package/Libraries/BatchedBridge/MessageQueue.js +15 -10
  17. package/Libraries/BatchedBridge/NativeModules.js +5 -1
  18. package/Libraries/Blob/FileReader.js +1 -1
  19. package/Libraries/Blob/RCTBlobManager.h +2 -1
  20. package/Libraries/Blob/RCTBlobManager.mm +1 -3
  21. package/Libraries/Blob/React-RCTBlob.podspec +1 -1
  22. package/Libraries/Blob/URL.js +1 -1
  23. package/Libraries/BugReporting/BugReporting.js +2 -0
  24. package/Libraries/BugReporting/getReactData.js +1 -1
  25. package/Libraries/Components/Button.js +18 -2
  26. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +3 -6
  27. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -7
  28. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  29. package/Libraries/Components/Pressable/useAndroidRippleForView.js +18 -15
  30. package/Libraries/Components/ScrollView/ScrollView.js +22 -5
  31. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +1 -0
  32. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +2 -0
  33. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +268 -252
  34. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +2 -0
  35. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +14 -6
  36. package/Libraries/Components/Slider/Slider.js +13 -1
  37. package/Libraries/Components/StatusBar/StatusBar.js +6 -14
  38. package/Libraries/Components/Switch/Switch.js +18 -6
  39. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +4 -4
  40. package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +1 -0
  41. package/Libraries/Components/TextInput/TextInput.js +32 -4
  42. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  43. package/Libraries/Components/Touchable/Touchable.js +14 -0
  44. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  45. package/Libraries/Components/Touchable/TouchableOpacity.js +11 -2
  46. package/Libraries/Components/View/ReactNativeStyleAttributes.js +131 -64
  47. package/Libraries/Components/View/ViewAccessibility.js +2 -0
  48. package/Libraries/Components/View/ViewNativeComponent.js +0 -10
  49. package/Libraries/Core/Devtools/parseErrorStack.js +0 -10
  50. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  51. package/Libraries/Core/ExceptionsManager.js +49 -39
  52. package/Libraries/{Components/View/ViewInjection.js → Core/ExtendedError.js} +8 -2
  53. package/Libraries/Core/ReactFiberErrorDialog.js +44 -34
  54. package/Libraries/Core/ReactNativeVersion.js +1 -1
  55. package/Libraries/Core/Timers/JSTimers.js +37 -28
  56. package/Libraries/Core/Timers/immediateShim.js +67 -0
  57. package/Libraries/Core/Timers/queueMicrotask.js +41 -0
  58. package/Libraries/Core/polyfillPromise.js +1 -1
  59. package/Libraries/Core/setUpBatchedBridge.js +1 -1
  60. package/Libraries/Core/setUpGlobals.js +2 -0
  61. package/Libraries/Core/setUpRegeneratorRuntime.js +25 -8
  62. package/Libraries/Core/setUpTimers.js +65 -6
  63. package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.android.js +131 -0
  64. package/Libraries/DeprecatedPropTypes/{DeprecatedImagePropType.js → DeprecatedImagePropType.ios.js} +0 -0
  65. package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +5 -5
  66. package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +1 -0
  67. package/Libraries/EventEmitter/NativeEventEmitter.js +2 -0
  68. package/Libraries/Image/Image.android.js +20 -130
  69. package/Libraries/Image/Image.ios.js +12 -7
  70. package/Libraries/Image/ImageBackground.js +10 -8
  71. package/Libraries/Image/ImageInjection.js +28 -0
  72. package/Libraries/Image/ImageProps.js +28 -0
  73. package/Libraries/Image/ImageSource.js +108 -65
  74. package/Libraries/Image/React-RCTImage.podspec +1 -1
  75. package/Libraries/Inspector/Inspector.js +6 -0
  76. package/Libraries/Interaction/InteractionManager.js +3 -0
  77. package/Libraries/Interaction/PanResponder.js +1 -1
  78. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  79. package/Libraries/Lists/CellRenderMask.js +145 -0
  80. package/Libraries/Lists/FlatList.js +43 -26
  81. package/Libraries/Lists/VirtualizedList.js +3 -1
  82. package/Libraries/Lists/VirtualizedSectionList.js +3 -0
  83. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +4 -4
  84. package/Libraries/LogBox/Data/LogBoxData.js +21 -19
  85. package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
  86. package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
  87. package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
  88. package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
  89. package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
  90. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
  91. package/Libraries/Modal/Modal.js +1 -0
  92. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +0 -3
  93. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +6 -3
  94. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +1 -1
  95. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +1 -1
  96. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +32 -28
  97. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  98. package/Libraries/Network/RCTHTTPRequestHandler.h +5 -0
  99. package/Libraries/Network/RCTHTTPRequestHandler.mm +19 -7
  100. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  101. package/Libraries/Network/XMLHttpRequest.js +4 -1
  102. package/Libraries/NewAppScreen/components/Header.js +1 -0
  103. package/Libraries/NewAppScreen/components/logo.png +0 -0
  104. package/Libraries/Performance/QuickPerformanceLogger.js +3 -1
  105. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -1
  106. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +6 -0
  107. package/Libraries/Pressability/Pressability.js +1 -0
  108. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -0
  109. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +0 -1
  110. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  111. package/Libraries/ReactNative/AppContainer.js +1 -0
  112. package/Libraries/ReactNative/AppRegistry.js +3 -1
  113. package/Libraries/ReactNative/I18nManager.js +12 -3
  114. package/Libraries/ReactNative/PaperUIManager.js +1 -0
  115. package/Libraries/ReactNative/renderApplication.js +8 -3
  116. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -3
  117. package/Libraries/Reliability/UserFlow.js +7 -0
  118. package/Libraries/Renderer/REVISION +1 -1
  119. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +5686 -4572
  120. package/Libraries/Renderer/implementations/ReactFabric-dev.js +4324 -3826
  121. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +2196 -1859
  122. package/Libraries/Renderer/implementations/ReactFabric-prod.js +196 -210
  123. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +2694 -2070
  124. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +647 -375
  125. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +5474 -4460
  126. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +4109 -3636
  127. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +1375 -1166
  128. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +162 -193
  129. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +2197 -1708
  130. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +618 -364
  131. package/Libraries/Renderer/shims/ReactFabric.js +5 -4
  132. package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
  133. package/Libraries/Renderer/shims/ReactNative.js +3 -1
  134. package/Libraries/Renderer/shims/ReactNativeTypes.js +7 -4
  135. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  136. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -1
  137. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  138. package/Libraries/Settings/Settings.ios.js +4 -0
  139. package/Libraries/Storage/AsyncStorage.js +1 -0
  140. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +16 -1
  141. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +8 -1
  142. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +2 -0
  143. package/Libraries/StyleSheet/StyleSheet.js +3 -5
  144. package/Libraries/StyleSheet/normalizeColor.js +2 -2
  145. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +1 -1
  146. package/Libraries/Text/Text.js +11 -0
  147. package/Libraries/Text/TextInput/RCTBaseTextInputView.m +10 -12
  148. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +4 -11
  149. package/Libraries/Text/TextProps.js +5 -7
  150. package/Libraries/TurboModule/TurboModuleRegistry.js +1 -10
  151. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  152. package/Libraries/UTFSequence.js +1 -1
  153. package/Libraries/Utilities/Dimensions.js +9 -14
  154. package/Libraries/Utilities/FeatureDetection.js +31 -0
  155. package/Libraries/Utilities/HMRClient.js +13 -6
  156. package/Libraries/Utilities/MatrixMath.js +1 -1
  157. package/Libraries/Utilities/NativeDeviceInfo.js +1 -1
  158. package/Libraries/Utilities/PerformanceLoggerContext.js +1 -1
  159. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -0
  160. package/Libraries/Utilities/deprecatedPropType.js +2 -2
  161. package/Libraries/Utilities/useMergeRefs.js +44 -0
  162. package/Libraries/Utilities/useRefEffect.js +45 -0
  163. package/Libraries/Utilities/useWindowDimensions.js +7 -2
  164. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  165. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -0
  166. package/Libraries/promiseRejectionTrackingOptions.js +2 -0
  167. package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +1 -1
  168. package/README.md +5 -5
  169. package/React/Base/RCTAssert.h +11 -11
  170. package/React/Base/RCTBridge+Private.h +8 -2
  171. package/React/Base/RCTBridge.h +12 -3
  172. package/React/Base/RCTBridge.m +24 -12
  173. package/React/Base/RCTBridgeModule.h +36 -12
  174. package/React/Base/RCTBundleURLProvider.h +26 -1
  175. package/React/Base/RCTBundleURLProvider.mm +79 -15
  176. package/React/Base/RCTCallableJSModules.m +47 -0
  177. package/React/Base/RCTConstants.h +6 -7
  178. package/React/Base/RCTConstants.m +12 -12
  179. package/React/Base/RCTConvert.h +1 -1
  180. package/React/Base/RCTConvert.m +31 -7
  181. package/React/Base/RCTCxxConvert.h +1 -1
  182. package/React/Base/RCTDefines.h +12 -3
  183. package/React/Base/RCTEventDispatcherProtocol.h +3 -2
  184. package/React/{Views/RCTPickerManager.h → Base/RCTInitializing.h} +4 -2
  185. package/React/Base/RCTJSThread.h +29 -0
  186. package/React/Base/RCTJSThread.m +19 -0
  187. package/React/Base/RCTModuleData.h +7 -3
  188. package/React/Base/RCTModuleData.mm +41 -1
  189. package/React/Base/RCTMultipartStreamReader.m +0 -2
  190. package/React/Base/RCTRootView.h +15 -0
  191. package/React/Base/RCTRootView.m +15 -0
  192. package/React/Base/RCTTouchHandler.m +4 -9
  193. package/React/Base/RCTUtils.h +3 -0
  194. package/React/Base/RCTUtils.m +14 -7
  195. package/React/Base/RCTVersion.m +1 -1
  196. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +12 -0
  197. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +45 -1
  198. package/React/CoreModules/BUCK +4 -3
  199. package/React/CoreModules/RCTAccessibilityManager.mm +1 -1
  200. package/React/CoreModules/RCTActionSheetManager.mm +14 -5
  201. package/React/CoreModules/RCTAsyncLocalStorage.mm +4 -0
  202. package/React/CoreModules/RCTDevLoadingView.mm +6 -21
  203. package/React/CoreModules/RCTDevMenu.mm +8 -11
  204. package/React/CoreModules/RCTDevSettings.h +2 -1
  205. package/React/CoreModules/RCTDevSettings.mm +63 -53
  206. package/React/CoreModules/RCTDevSplitBundleLoader.mm +1 -6
  207. package/React/CoreModules/RCTDeviceInfo.mm +4 -4
  208. package/React/CoreModules/RCTEventDispatcher.h +2 -1
  209. package/React/CoreModules/RCTEventDispatcher.mm +17 -28
  210. package/React/CoreModules/RCTKeyboardObserver.mm +1 -1
  211. package/React/CoreModules/RCTLogBox.mm +14 -10
  212. package/React/CoreModules/RCTPerfMonitor.mm +9 -4
  213. package/React/CoreModules/RCTRedBox.mm +1 -5
  214. package/React/CoreModules/RCTTiming.h +2 -1
  215. package/React/CoreModules/RCTTiming.mm +1 -3
  216. package/React/CoreModules/React-CoreModules.podspec +1 -1
  217. package/React/CxxBridge/RCTCxxBridge.mm +49 -12
  218. package/React/DevSupport/RCTPackagerConnection.h +3 -0
  219. package/React/DevSupport/RCTPackagerConnection.mm +19 -8
  220. package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +12 -4
  221. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +1 -2
  222. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +0 -1
  223. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +0 -1
  224. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +97 -85
  225. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +1 -0
  226. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +45 -17
  227. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +6 -0
  228. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +109 -5
  229. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +1 -0
  230. package/React/Fabric/Mounting/RCTMountingManager.h +3 -0
  231. package/React/Fabric/Mounting/RCTMountingManager.mm +22 -3
  232. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +2 -0
  233. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +12 -0
  234. package/React/Fabric/RCTConversions.h +3 -0
  235. package/React/Fabric/RCTScheduler.mm +23 -7
  236. package/React/Fabric/RCTSurfacePresenter.mm +28 -37
  237. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +4 -2
  238. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +1 -1
  239. package/React/Fabric/RCTSurfaceRegistry.h +1 -1
  240. package/React/Fabric/RCTSurfaceTouchHandler.mm +6 -20
  241. package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
  242. package/React/Modules/RCTEventEmitter.h +1 -2
  243. package/React/Modules/RCTEventEmitter.m +8 -11
  244. package/React/Modules/RCTI18nUtil.h +14 -6
  245. package/React/Modules/RCTI18nUtil.m +1 -47
  246. package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
  247. package/React/Profiler/RCTProfileTrampoline-arm64.S +2 -2
  248. package/React/React-RCTFabric.podspec +3 -3
  249. package/React/Views/RCTFont.mm +54 -38
  250. package/React/Views/RCTModalHostView.h +1 -1
  251. package/React/Views/RCTModalHostView.m +16 -0
  252. package/React/Views/RCTModalHostViewManager.m +1 -0
  253. package/React/Views/RCTView.h +7 -7
  254. package/React/Views/RCTView.m +32 -49
  255. package/React/Views/RCTViewManager.m +14 -4
  256. package/React/Views/SafeAreaView/RCTSafeAreaView.m +1 -5
  257. package/React/Views/ScrollView/RCTScrollView.h +1 -0
  258. package/React/Views/ScrollView/RCTScrollView.m +123 -36
  259. package/React/Views/ScrollView/RCTScrollViewManager.m +4 -7
  260. package/React/Views/UIView+React.m +2 -11
  261. package/React/third-party.xcconfig +1 -1
  262. package/React-Core.podspec +2 -2
  263. package/ReactAndroid/Android-prebuilt.mk +8 -0
  264. package/ReactAndroid/README.md +1 -1
  265. package/ReactAndroid/build.gradle +82 -18
  266. package/ReactAndroid/gradle.properties +5 -5
  267. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/BUCK +1 -1
  268. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java +1 -1
  269. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/BUCK +1 -1
  270. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/BUCK +5 -5
  271. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -2
  272. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/BUCK +5 -5
  273. package/ReactAndroid/src/androidTest/js/BUCK +26 -0
  274. package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -12
  275. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +2 -2
  276. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +4 -4
  277. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutorFactory.java +1 -1
  278. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/RuntimeConfig.java +0 -6
  279. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/BUCK +2 -2
  280. package/ReactAndroid/src/main/java/com/facebook/react/BUCK +1 -0
  281. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +1 -0
  282. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.java +5 -0
  283. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +6 -2
  284. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +123 -64
  285. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +28 -0
  286. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +13 -0
  287. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +25 -3
  288. package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +1 -1
  289. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +2 -2
  290. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +5 -5
  291. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +3 -2
  292. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +4 -0
  293. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +11 -5
  294. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +37 -0
  295. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +22 -0
  296. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +3 -6
  297. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +1 -1
  298. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +39 -0
  299. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +3 -1
  300. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{ReactSoftException.java → ReactSoftExceptionLogger.java} +8 -3
  301. package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.java +21 -0
  302. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +8 -7
  303. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +10 -0
  304. package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +2 -2
  305. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +3 -0
  306. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java +1 -2
  307. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBufferSoLoader.java +33 -0
  308. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +1 -1
  309. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +40 -36
  310. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +1 -1
  311. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +275 -0
  312. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +97 -0
  313. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +9 -58
  314. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +163 -328
  315. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +3 -72
  316. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.java +100 -0
  317. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxHandler.java +1 -1
  318. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +1 -1
  319. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +10 -0
  320. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +4 -3
  321. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +6 -67
  322. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +154 -74
  323. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +36 -1
  324. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +14 -2
  325. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +2 -2
  326. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +1 -2
  327. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +129 -40
  328. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +18 -2
  329. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.cpp +0 -6
  330. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +22 -2
  331. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +4 -0
  332. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +53 -7
  333. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +27 -7
  334. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +136 -35
  335. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +2 -1
  336. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +5 -5
  337. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +2 -2
  338. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +2 -2
  339. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +2 -2
  340. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +1 -1
  341. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +1 -1
  342. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +1 -1
  343. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +1 -1
  344. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.java +35 -7
  345. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +2 -2
  346. package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +1 -1
  347. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +1 -1
  348. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +1 -1
  349. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerManager.java → JavaScriptTimerExecutor.java} +1 -1
  350. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +7 -7
  351. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +2 -2
  352. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +1 -1
  353. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +1 -1
  354. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java +10 -6
  355. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +1 -1
  356. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +1 -1
  357. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +7 -1
  358. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +1 -1
  359. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +1 -1
  360. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +23 -19
  361. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +1 -1
  362. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +1 -4
  363. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +1 -1
  364. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +1 -1
  365. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +1 -1
  366. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +1 -1
  367. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +1 -1
  368. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +2 -2
  369. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
  370. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +1 -1
  371. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +1 -1
  372. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +1 -1
  373. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +11 -9
  374. package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -2
  375. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -9
  376. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +4 -2
  377. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp +39 -11
  378. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h +9 -2
  379. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +7 -28
  380. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +14 -5
  381. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +10 -13
  382. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.java +1 -6
  383. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +5 -6
  384. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingProhibitedView.java +26 -0
  385. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +25 -0
  386. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +162 -66
  387. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +1 -4
  388. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +9 -9
  389. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +10 -1
  390. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +6 -5
  391. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +16 -1
  392. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +53 -19
  393. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +236 -0
  394. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +8 -0
  395. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +20 -6
  396. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +34 -5
  397. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +1 -1
  398. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/ViewProps.java +9 -4
  399. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +1 -1
  400. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.cpp +2 -1
  401. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.h +10 -15
  402. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +1 -1
  403. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.java +0 -6
  404. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.java +0 -6
  405. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.java +0 -6
  406. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.java +0 -6
  407. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +5 -5
  408. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +1 -1
  409. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +7 -11
  410. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +1 -1
  411. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +1 -0
  412. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +15 -1
  413. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +5 -0
  414. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +42 -5
  415. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +18 -3
  416. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +5 -0
  417. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +9 -7
  418. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +1 -1
  419. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderEvent.java +0 -5
  420. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +4 -7
  421. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlidingCompleteEvent.java +0 -5
  422. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +1 -1
  423. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +1 -1
  424. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.java +0 -6
  425. package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java +6 -8
  426. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +59 -44
  427. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +0 -4
  428. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +23 -2
  429. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +19 -0
  430. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +41 -59
  431. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +20 -51
  432. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +31 -12
  433. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +31 -11
  434. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TypefaceStyle.java +72 -0
  435. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +1 -0
  436. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +16 -6
  437. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +3 -0
  438. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +117 -62
  439. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +92 -0
  440. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +39 -8
  441. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +49 -2
  442. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +2 -7
  443. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJTypesVanilla.h +8 -4
  444. package/ReactAndroid/src/main/jni/react/jni/Android.mk +5 -3
  445. package/ReactAndroid/src/main/jni/react/jni/BUCK +5 -2
  446. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +64 -3
  447. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +9 -2
  448. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +18 -0
  449. package/{ReactCommon/react/renderer/components/picker/iospicker/primitives.h → ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h} +6 -10
  450. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.cpp +21 -0
  451. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.h +28 -0
  452. package/{ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerComponentDescriptor.h → ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp} +8 -7
  453. package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.h +30 -0
  454. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
  455. package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h +1 -0
  456. package/ReactAndroid/src/main/jni/third-party/folly/Android.mk +3 -1
  457. package/ReactAndroid/src/main/jni/third-party/libevent/Android.mk +0 -1
  458. package/ReactAndroid/src/main/libraries/fresco/fresco-react-native/BUCK +26 -26
  459. package/ReactAndroid/src/main/libraries/soloader/java/com/facebook/soloader/BUCK +5 -5
  460. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -1
  461. package/ReactAndroid/src/main/res/views/uimanager/values/strings_unlocalized.xml +0 -12
  462. package/ReactAndroid/src/main/third-party/android/androidx/BUCK +63 -2
  463. package/ReactAndroid/src/main/third-party/java/infer-annotations/BUCK +2 -2
  464. package/ReactAndroid/src/main/third-party/java/okhttp/BUCK +4 -4
  465. package/ReactAndroid/src/main/third-party/java/okio/BUCK +2 -2
  466. package/ReactAndroid/src/main/third-party/java/robolectric/{4.4/BUCK → BUCK} +0 -0
  467. package/ReactAndroid/src/main/third-party/java/testing-support-lib/BUCK +0 -31
  468. package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +2 -2
  469. package/ReactAndroid/src/test/java/com/facebook/react/bridge/BUCK +1 -1
  470. package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReactTestHelper.java +1 -0
  471. package/ReactAndroid/src/test/java/com/facebook/react/modules/BUCK +1 -0
  472. package/ReactAndroid/src/test/java/com/facebook/react/modules/deviceinfo/DeviceInfoModuleTest.java +168 -0
  473. package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/ReactTextInputPropertyTest.java +4 -0
  474. package/ReactCommon/React-Fabric.podspec +11 -11
  475. package/ReactCommon/ReactCommon.podspec +3 -2
  476. package/ReactCommon/callinvoker/BUCK +2 -2
  477. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  478. package/ReactCommon/cxxreact/Android.mk +2 -1
  479. package/ReactCommon/cxxreact/BUCK +1 -3
  480. package/ReactCommon/cxxreact/CxxNativeModule.cpp +28 -0
  481. package/ReactCommon/cxxreact/CxxNativeModule.h +9 -0
  482. package/ReactCommon/cxxreact/Instance.cpp +5 -8
  483. package/ReactCommon/cxxreact/Instance.h +1 -1
  484. package/ReactCommon/cxxreact/React-cxxreact.podspec +4 -3
  485. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  486. package/ReactCommon/hermes/React-hermes.podspec +2 -2
  487. package/ReactCommon/hermes/executor/Android.mk +4 -4
  488. package/ReactCommon/hermes/inspector/Android.mk +1 -2
  489. package/ReactCommon/hermes/inspector/tools/msggen/package.json +7 -4
  490. package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +13 -10
  491. package/ReactCommon/jsi/Android.mk +1 -1
  492. package/ReactCommon/jsi/BUCK +0 -2
  493. package/ReactCommon/jsi/React-jsi.podspec +3 -3
  494. package/ReactCommon/jsi/jsi/jsilib-posix.cpp +1 -11
  495. package/ReactCommon/jsiexecutor/Android.mk +2 -2
  496. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +2 -2
  497. package/ReactCommon/logger/Android.mk +23 -0
  498. package/ReactCommon/logger/BUCK +43 -0
  499. package/ReactCommon/logger/React-logger.podspec +40 -0
  500. package/ReactCommon/logger/react_native_log.cpp +52 -0
  501. package/ReactCommon/logger/react_native_log.h +33 -0
  502. package/ReactCommon/react/nativemodule/core/Android.mk +2 -2
  503. package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.cpp +1 -0
  504. package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.h +3 -2
  505. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +46 -1
  506. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +10 -0
  507. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +37 -1
  508. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +24 -22
  509. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +11 -8
  510. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.h +7 -5
  511. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +61 -42
  512. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +55 -35
  513. package/ReactCommon/react/nativemodule/samples/BUCK +2 -2
  514. package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +1 -1
  515. package/ReactCommon/react/renderer/animations/BUCK +1 -0
  516. package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +34 -0
  517. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +5 -27
  518. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +8 -14
  519. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +920 -1127
  520. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +80 -245
  521. package/ReactCommon/react/renderer/animations/conversions.h +212 -0
  522. package/ReactCommon/react/renderer/animations/primitives.h +104 -0
  523. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +18 -10
  524. package/ReactCommon/react/renderer/animations/utils.cpp +71 -0
  525. package/ReactCommon/react/renderer/animations/utils.h +80 -0
  526. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
  527. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +7 -3
  528. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +12 -2
  529. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +7 -2
  530. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +3 -1
  531. package/ReactCommon/react/renderer/attributedstring/conversions.h +162 -11
  532. package/ReactCommon/react/renderer/attributedstring/primitives.h +34 -1
  533. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +2 -2
  534. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +1 -0
  535. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +12 -6
  536. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +4 -1
  537. package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +2 -1
  538. package/ReactCommon/react/renderer/components/image/Android.mk +1 -1
  539. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +28 -9
  540. package/ReactCommon/react/renderer/components/image/ImageProps.h +5 -1
  541. package/ReactCommon/react/renderer/components/image/conversions.h +9 -2
  542. package/ReactCommon/react/renderer/components/inputaccessory/BUCK +1 -1
  543. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +1 -1
  544. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +0 -1
  545. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +2 -1
  546. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +2 -0
  547. package/ReactCommon/react/renderer/components/root/BUCK +1 -0
  548. package/ReactCommon/react/renderer/components/root/RootProps.cpp +12 -2
  549. package/ReactCommon/react/renderer/components/root/RootProps.h +6 -1
  550. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +2 -1
  551. package/ReactCommon/react/renderer/components/root/RootShadowNode.h +2 -0
  552. package/ReactCommon/react/renderer/components/root/tests/RootShadowNodeTest.cpp +35 -3
  553. package/ReactCommon/react/renderer/components/safeareaview/BUCK +1 -1
  554. package/ReactCommon/react/renderer/components/scrollview/Android.mk +1 -1
  555. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +54 -4
  556. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +10 -5
  557. package/ReactCommon/react/renderer/components/scrollview/conversions.h +5 -0
  558. package/ReactCommon/react/renderer/components/text/Android.mk +1 -1
  559. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +32 -0
  560. package/ReactCommon/react/renderer/components/text/BaseTextProps.h +5 -1
  561. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +2 -3
  562. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +1 -16
  563. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +10 -4
  564. package/ReactCommon/react/renderer/components/text/ParagraphProps.h +5 -1
  565. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +3 -3
  566. package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +3 -2
  567. package/ReactCommon/react/renderer/components/text/RawTextProps.h +5 -1
  568. package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +36 -2
  569. package/ReactCommon/react/renderer/components/text/TextProps.cpp +6 -3
  570. package/ReactCommon/react/renderer/components/text/TextProps.h +5 -1
  571. package/ReactCommon/react/renderer/components/text/TextShadowNode.h +23 -0
  572. package/ReactCommon/react/renderer/components/textinput/Android.mk +1 -1
  573. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +58 -91
  574. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +10 -6
  575. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +46 -22
  576. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +6 -5
  577. package/ReactCommon/react/renderer/components/textinput/iostextinput/conversions.h +19 -7
  578. package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +6 -0
  579. package/ReactCommon/react/renderer/components/textinput/iostextinput/propsConversions.h +63 -2
  580. package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +1 -1
  581. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +4 -2
  582. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h +5 -2
  583. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +1 -0
  584. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +28 -0
  585. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +24 -1
  586. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +4 -1
  587. package/ReactCommon/react/renderer/components/view/Android.mk +3 -2
  588. package/ReactCommon/react/renderer/components/view/BUCK +1 -0
  589. package/ReactCommon/react/renderer/components/view/Touch.h +1 -32
  590. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +19 -5
  591. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +2 -1
  592. package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +0 -22
  593. package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +1 -1
  594. package/ReactCommon/react/renderer/components/view/ViewProps.cpp +62 -14
  595. package/ReactCommon/react/renderer/components/view/ViewProps.h +7 -1
  596. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +5 -10
  597. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +5 -12
  598. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +1 -1
  599. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +58 -33
  600. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +2 -8
  601. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
  602. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +2 -0
  603. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +77 -6
  604. package/ReactCommon/react/renderer/components/view/conversions.h +57 -14
  605. package/ReactCommon/react/renderer/components/view/primitives.h +5 -4
  606. package/ReactCommon/react/renderer/components/view/propsConversions.h +163 -28
  607. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +7 -2
  608. package/ReactCommon/react/renderer/core/Android.mk +1 -1
  609. package/ReactCommon/react/renderer/core/BUCK +1 -0
  610. package/ReactCommon/react/renderer/core/BatchedEventQueue.cpp +2 -34
  611. package/ReactCommon/react/renderer/core/BatchedEventQueue.h +2 -9
  612. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +5 -2
  613. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +19 -21
  614. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +4 -0
  615. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +5 -10
  616. package/ReactCommon/react/renderer/core/EventDispatcher.h +3 -8
  617. package/ReactCommon/react/renderer/core/EventEmitter.cpp +21 -11
  618. package/ReactCommon/react/renderer/core/EventEmitter.h +6 -1
  619. package/ReactCommon/react/renderer/core/EventPipe.h +2 -0
  620. package/ReactCommon/react/renderer/core/EventQueue.cpp +35 -32
  621. package/ReactCommon/react/renderer/core/EventQueue.h +12 -6
  622. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +82 -0
  623. package/ReactCommon/react/renderer/core/EventQueueProcessor.h +36 -0
  624. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +1 -1
  625. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +0 -6
  626. package/ReactCommon/react/renderer/core/Props.cpp +10 -2
  627. package/ReactCommon/react/renderer/core/Props.h +6 -1
  628. package/ReactCommon/react/renderer/core/PropsParserContext.h +29 -0
  629. package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
  630. package/ReactCommon/react/renderer/core/RawEvent.h +40 -3
  631. package/ReactCommon/react/renderer/core/RawProps.cpp +2 -1
  632. package/ReactCommon/react/renderer/core/RawProps.h +3 -1
  633. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +10 -2
  634. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +1 -1
  635. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +1 -1
  636. package/ReactCommon/react/renderer/core/RawPropsParser.h +11 -2
  637. package/ReactCommon/react/renderer/core/ReactEventPriority.h +43 -0
  638. package/ReactCommon/react/renderer/core/ReactPrimitives.h +0 -2
  639. package/ReactCommon/react/renderer/core/ShadowNode.cpp +9 -12
  640. package/ReactCommon/react/renderer/core/ShadowNode.h +4 -0
  641. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +1 -0
  642. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +17 -1
  643. package/ReactCommon/react/renderer/core/propsConversions.h +19 -9
  644. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +16 -4
  645. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +134 -0
  646. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +97 -29
  647. package/ReactCommon/react/renderer/core/tests/TestComponent.h +6 -2
  648. package/ReactCommon/react/renderer/core/tests/traitCastTest.cpp +31 -0
  649. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +9 -9
  650. package/ReactCommon/react/renderer/graphics/Android.mk +5 -2
  651. package/ReactCommon/react/renderer/graphics/BUCK +12 -1
  652. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +3 -2
  653. package/ReactCommon/react/renderer/graphics/Transform.cpp +2 -2
  654. package/ReactCommon/react/renderer/graphics/Transform.h +1 -1
  655. package/ReactCommon/react/renderer/graphics/conversions.h +34 -19
  656. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +67 -0
  657. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.cpp +8 -0
  658. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +1 -0
  659. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/PlatformColorParser.h +29 -0
  660. package/ReactCommon/react/renderer/graphics/platform/ios/Color.cpp +8 -0
  661. package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +43 -1
  662. package/ReactCommon/react/renderer/graphics/platform/ios/PlatformColorParser.h +34 -0
  663. package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.h +12 -0
  664. package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.mm +206 -0
  665. package/ReactCommon/react/renderer/imagemanager/BUCK +1 -1
  666. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.mm +1 -1
  667. package/ReactCommon/react/renderer/leakchecker/LeakChecker.cpp +6 -9
  668. package/ReactCommon/react/renderer/leakchecker/LeakChecker.h +1 -4
  669. package/ReactCommon/react/renderer/mapbuffer/BUCK +2 -2
  670. package/ReactCommon/react/renderer/mounting/Android.mk +2 -1
  671. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +3 -10
  672. package/ReactCommon/react/renderer/mounting/Differentiator.h +1 -2
  673. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +1 -7
  674. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +0 -4
  675. package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
  676. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +7 -5
  677. package/ReactCommon/react/renderer/mounting/ShadowTree.h +2 -1
  678. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +2 -0
  679. package/ReactCommon/react/renderer/mounting/ShadowView.h +1 -0
  680. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -0
  681. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +10 -1
  682. package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +10 -3
  683. package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +1 -1
  684. package/ReactCommon/react/renderer/mounting/stubs.cpp +3 -3
  685. package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +22 -21
  686. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +12 -5
  687. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +2 -2
  688. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +6 -3
  689. package/ReactCommon/react/renderer/runtimescheduler/Android.mk +2 -1
  690. package/ReactCommon/react/renderer/runtimescheduler/BUCK +1 -0
  691. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +75 -33
  692. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +54 -10
  693. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +8 -7
  694. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +8 -5
  695. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +30 -0
  696. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +34 -0
  697. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +4 -2
  698. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +4 -2
  699. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +11 -5
  700. package/ReactCommon/react/renderer/runtimescheduler/Task.h +5 -3
  701. package/ReactCommon/react/renderer/runtimescheduler/primitives.h +4 -2
  702. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +157 -0
  703. package/ReactCommon/react/renderer/runtimescheduler/tests/StubQueue.h +6 -0
  704. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +13 -12
  705. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.h +4 -4
  706. package/ReactCommon/react/renderer/{components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.cpp → scheduler/InspectorData.h} +10 -2
  707. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +64 -37
  708. package/ReactCommon/react/renderer/scheduler/Scheduler.h +18 -3
  709. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +9 -1
  710. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +1 -6
  711. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +49 -35
  712. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +12 -12
  713. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +1 -0
  714. package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.cpp +11 -4
  715. package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.h +4 -1
  716. package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.cpp +5 -5
  717. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.h +2 -0
  718. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +22 -0
  719. package/ReactCommon/react/renderer/timeline/BUCK +6 -6
  720. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +29 -16
  721. package/ReactCommon/react/renderer/uimanager/UIManager.h +3 -1
  722. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
  723. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +61 -2
  724. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +13 -1
  725. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +10 -2
  726. package/ReactCommon/react/test_utils/BUCK +3 -0
  727. package/ReactCommon/react/{renderer/core/Constants.h → test_utils/MockSurfaceHandler.h} +9 -7
  728. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +18 -4
  729. package/ReactCommon/react/utils/Android.mk +3 -1
  730. package/ReactCommon/react/utils/BUCK +1 -0
  731. package/ReactCommon/react/utils/ContextContainer.h +0 -27
  732. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  733. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  734. package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +12 -0
  735. package/ReactCommon/yoga/yoga/Yoga.cpp +2 -6
  736. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar +0 -0
  737. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar.md5 +1 -0
  738. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar.sha1 +1 -0
  739. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar.sha256 +1 -0
  740. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar.sha512 +1 -0
  741. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module +272 -0
  742. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module.md5 +1 -0
  743. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module.sha1 +1 -0
  744. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module.sha256 +1 -0
  745. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module.sha512 +1 -0
  746. package/android/com/facebook/react/react-native/{0.0.0-263478b91/react-native-0.0.0-263478b91.pom → 0.0.0-268efb102/react-native-0.0.0-268efb102.pom} +22 -11
  747. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.pom.md5 +1 -0
  748. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.pom.sha1 +1 -0
  749. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.pom.sha256 +1 -0
  750. package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.pom.sha512 +1 -0
  751. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -3
  752. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  753. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  754. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -0
  755. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -0
  756. package/flow/HermesInternalType.js +114 -0
  757. package/flow/global.js +68 -0
  758. package/flow-typed/npm/react-test-renderer_v16.x.x.js +79 -0
  759. package/index.js +65 -40
  760. package/jest/preprocessor.js +75 -7
  761. package/jest/renderer.js +3 -7
  762. package/jest/setup.js +2 -1
  763. package/package.json +58 -19
  764. package/react.gradle +47 -25
  765. package/scripts/find-node.sh +6 -0
  766. package/scripts/generate-specs-cli.js +20 -2
  767. package/scripts/ios-configure-glog.sh +4 -0
  768. package/scripts/react-native-xcode.sh +5 -1
  769. package/scripts/react_native_pods.rb +213 -43
  770. package/template/_flowconfig +1 -1
  771. package/template/_gitignore +1 -0
  772. package/template/android/app/build.gradle +12 -7
  773. package/template/android/app/src/main/res/values/styles.xml +0 -1
  774. package/template/android/build.gradle +5 -6
  775. package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  776. package/template/android/gradle.properties +1 -1
  777. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +2 -0
  778. package/template/ios/Podfile +1 -0
  779. package/template/package.json +3 -4
  780. package/third-party-podspecs/RCT-Folly.podspec +14 -10
  781. package/third-party-podspecs/boost.podspec +23 -0
  782. package/Libraries/BUCK +0 -24
  783. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -87
  784. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
  785. package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
  786. package/Libraries/Components/Picker/AndroidDialogPickerNativeComponent.js +0 -83
  787. package/Libraries/Components/Picker/AndroidDropdownPickerNativeComponent.js +0 -82
  788. package/Libraries/Components/Picker/Picker.js +0 -168
  789. package/Libraries/Components/Picker/PickerAndroid.android.js +0 -143
  790. package/Libraries/Components/Picker/PickerAndroid.ios.js +0 -12
  791. package/Libraries/Components/Picker/PickerIOS.android.js +0 -14
  792. package/Libraries/Components/Picker/PickerIOS.ios.js +0 -163
  793. package/Libraries/Components/Picker/RCTPickerNativeComponent.js +0 -86
  794. package/Libraries/Components/StaticContainer.react.js +0 -51
  795. package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -38
  796. package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -25
  797. package/Libraries/Interaction/InteractionMixin.js +0 -53
  798. package/Libraries/ReactNative/queryLayoutByID.js +0 -58
  799. package/Libraries/StyleSheet/StyleSheetValidation.js +0 -100
  800. package/Libraries/Text/TextInjection.js +0 -15
  801. package/React/Base/RCTJSInvokerModule.h +0 -17
  802. package/React/Fabric/Mounting/ComponentViews/Picker/RCTPickerComponentView.h +0 -19
  803. package/React/Fabric/Mounting/ComponentViews/Picker/RCTPickerComponentView.mm +0 -206
  804. package/React/Views/RCTPicker.h +0 -23
  805. package/React/Views/RCTPicker.m +0 -122
  806. package/React/Views/RCTPickerManager.m +0 -59
  807. package/ReactAndroid/release.gradle +0 -87
  808. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/DatePickerDialogTestCase.java +0 -172
  809. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactPickerTestCase.java +0 -196
  810. package/ReactAndroid/src/androidTest/js/DatePickerDialogTestModule.js +0 -45
  811. package/ReactAndroid/src/androidTest/js/PickerAndroidTestModule.js +0 -89
  812. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java +0 -82
  813. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +0 -27
  814. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java +0 -137
  815. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +0 -153
  816. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerMode.java +0 -15
  817. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java +0 -117
  818. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerDelegate.java +0 -48
  819. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerInterface.java +0 -23
  820. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerDelegate.java +0 -48
  821. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerInterface.java +0 -22
  822. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/BUCK +0 -30
  823. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDialogPickerManager.java +0 -51
  824. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDropdownPickerManager.java +0 -50
  825. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPicker.java +0 -196
  826. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerAdapter.java +0 -95
  827. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerItem.java +0 -43
  828. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java +0 -99
  829. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/events/PickerItemSelectEvent.java +0 -42
  830. package/ReactCommon/react/renderer/components/picker/Android.mk +0 -37
  831. package/ReactCommon/react/renderer/components/picker/BUCK +0 -98
  832. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerEventEmitter.cpp +0 -23
  833. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerEventEmitter.h +0 -27
  834. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerProps.cpp +0 -28
  835. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerProps.h +0 -77
  836. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.h +0 -29
  837. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerComponentDescriptor.h +0 -21
  838. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.cpp +0 -23
  839. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.h +0 -27
  840. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.cpp +0 -28
  841. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.h +0 -77
  842. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.cpp +0 -17
  843. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.h +0 -29
  844. package/ReactCommon/react/renderer/components/picker/iospicker/BUCK +0 -59
  845. package/ReactCommon/react/renderer/components/picker/iospicker/PickerComponentDescriptor.h +0 -26
  846. package/ReactCommon/react/renderer/components/picker/iospicker/PickerEventEmitter.cpp +0 -23
  847. package/ReactCommon/react/renderer/components/picker/iospicker/PickerEventEmitter.h +0 -28
  848. package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.cpp +0 -46
  849. package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.h +0 -36
  850. package/ReactCommon/react/renderer/components/picker/iospicker/PickerShadowNode.cpp +0 -16
  851. package/ReactCommon/react/renderer/components/picker/iospicker/PickerShadowNode.h +0 -33
  852. package/ReactCommon/react/renderer/components/picker/iospicker/PickerState.h +0 -19
  853. package/ReactCommon/react/renderer/components/picker/iospicker/conversions.h +0 -48
  854. package/ReactCommon/react/renderer/core/Constants.cpp +0 -24
  855. package/ReactCommon/react/renderer/mounting/DifferentiatorFlatteningClassic.cpp +0 -1564
  856. package/ReactCommon/react/renderer/mounting/DifferentiatorFlatteningClassic.h +0 -45
  857. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeatV2.cpp +0 -58
  858. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeatV2.h +0 -41
  859. package/android/com/facebook/react/react-native/0.0.0-263478b91/react-native-0.0.0-263478b91.aar +0 -0
  860. package/android/com/facebook/react/react-native/0.0.0-263478b91/react-native-0.0.0-263478b91.aar.md5 +0 -1
  861. package/android/com/facebook/react/react-native/0.0.0-263478b91/react-native-0.0.0-263478b91.aar.sha1 +0 -1
  862. package/android/com/facebook/react/react-native/0.0.0-263478b91/react-native-0.0.0-263478b91.pom.md5 +0 -1
  863. package/android/com/facebook/react/react-native/0.0.0-263478b91/react-native-0.0.0-263478b91.pom.sha1 +0 -1
  864. package/scripts/generate-specs.sh +0 -100
  865. package/template/_editorconfig +0 -3
  866. package/template/_gitattributes +0 -3
@@ -11,6 +11,7 @@ import android.view.MotionEvent;
11
11
  import androidx.annotation.Nullable;
12
12
  import androidx.core.util.Pools;
13
13
  import com.facebook.infer.annotation.Assertions;
14
+ import com.facebook.react.bridge.ReactSoftExceptionLogger;
14
15
  import com.facebook.react.bridge.SoftAssertions;
15
16
 
16
17
  /**
@@ -22,6 +23,7 @@ import com.facebook.react.bridge.SoftAssertions;
22
23
  * these coalescing keys are determined.
23
24
  */
24
25
  public class TouchEvent extends Event<TouchEvent> {
26
+ private static final String TAG = TouchEvent.class.getSimpleName();
25
27
 
26
28
  private static final int TOUCH_EVENTS_POOL_SIZE = 3;
27
29
 
@@ -43,7 +45,7 @@ public class TouchEvent extends Event<TouchEvent> {
43
45
  -1,
44
46
  viewTag,
45
47
  touchEventType,
46
- motionEventToCopy,
48
+ Assertions.assertNotNull(motionEventToCopy),
47
49
  gestureStartTime,
48
50
  viewX,
49
51
  viewY,
@@ -67,7 +69,7 @@ public class TouchEvent extends Event<TouchEvent> {
67
69
  surfaceId,
68
70
  viewTag,
69
71
  touchEventType,
70
- motionEventToCopy,
72
+ Assertions.assertNotNull(motionEventToCopy),
71
73
  gestureStartTime,
72
74
  viewX,
73
75
  viewY,
@@ -94,7 +96,7 @@ public class TouchEvent extends Event<TouchEvent> {
94
96
  float viewX,
95
97
  float viewY,
96
98
  TouchEventCoalescingKeyHelper touchEventCoalescingKeyHelper) {
97
- super.init(surfaceId, viewTag);
99
+ super.init(surfaceId, viewTag, motionEventToCopy.getEventTime());
98
100
 
99
101
  SoftAssertions.assertCondition(
100
102
  gestureStartTime != UNSET, "Gesture start time must be initialized");
@@ -129,9 +131,25 @@ public class TouchEvent extends Event<TouchEvent> {
129
131
 
130
132
  @Override
131
133
  public void onDispose() {
132
- Assertions.assertNotNull(mMotionEvent).recycle();
134
+ MotionEvent motionEvent = mMotionEvent;
133
135
  mMotionEvent = null;
134
- EVENTS_POOL.release(this);
136
+ if (motionEvent != null) {
137
+ motionEvent.recycle();
138
+ }
139
+
140
+ // Either `this` is in the event pool, or motionEvent
141
+ // is null. It is in theory not possible for a TouchEvent to
142
+ // be in the EVENTS_POOL but for motionEvent to be null. However,
143
+ // out of an abundance of caution and to avoid memory leaks or
144
+ // other crashes at all costs, we attempt to release here and log
145
+ // a soft exception here if release throws an IllegalStateException
146
+ // due to `this` being over-released. This may indicate that there is
147
+ // a logic error in our events system or pooling mechanism.
148
+ try {
149
+ EVENTS_POOL.release(this);
150
+ } catch (IllegalStateException e) {
151
+ ReactSoftExceptionLogger.logSoftException(TAG, e);
152
+ }
135
153
  }
136
154
 
137
155
  @Override
@@ -163,6 +181,13 @@ public class TouchEvent extends Event<TouchEvent> {
163
181
 
164
182
  @Override
165
183
  public void dispatch(RCTEventEmitter rctEventEmitter) {
184
+ if (!hasMotionEvent()) {
185
+ ReactSoftExceptionLogger.logSoftException(
186
+ TAG,
187
+ new IllegalStateException(
188
+ "Cannot dispatch a TouchEvent that has no MotionEvent; the TouchEvent has been recycled"));
189
+ return;
190
+ }
166
191
  TouchesHelper.sendTouchEvent(
167
192
  rctEventEmitter,
168
193
  Assertions.assertNotNull(mTouchEventType),
@@ -181,6 +206,10 @@ public class TouchEvent extends Event<TouchEvent> {
181
206
  return mMotionEvent;
182
207
  }
183
208
 
209
+ private boolean hasMotionEvent() {
210
+ return mMotionEvent != null;
211
+ }
212
+
184
213
  public float getViewX() {
185
214
  return mViewX;
186
215
  }
@@ -64,7 +64,7 @@ public class TouchesHelper {
64
64
  touch.putDouble(LOCATION_Y_KEY, PixelUtil.toDIPFromPixel(locationY));
65
65
  touch.putInt(TARGET_SURFACE_KEY, surfaceId);
66
66
  touch.putInt(TARGET_KEY, reactTarget);
67
- touch.putDouble(TIMESTAMP_KEY, event.getUnixTimestampMs());
67
+ touch.putDouble(TIMESTAMP_KEY, event.getTimestampMs());
68
68
  touch.putDouble(POINTER_IDENTIFIER_KEY, motionEvent.getPointerId(index));
69
69
  touches.pushMap(touch);
70
70
  }
@@ -9,6 +9,7 @@ package com.facebook.react.uimanager;
9
9
 
10
10
  import android.graphics.Color;
11
11
  import com.facebook.react.bridge.ReadableMap;
12
+ import com.facebook.react.bridge.ReadableType;
12
13
  import java.util.Arrays;
13
14
  import java.util.HashSet;
14
15
 
@@ -258,10 +259,14 @@ public class ViewProps {
258
259
  // Ignore if explicitly set to default opacity.
259
260
  return map.isNull(OPACITY) || map.getDouble(OPACITY) == 1d;
260
261
  case BORDER_RADIUS: // Without a background color or border width set, a border won't show.
261
- if (map.hasKey(BACKGROUND_COLOR)
262
- && !map.isNull(BACKGROUND_COLOR)
263
- && map.getInt(BACKGROUND_COLOR) != Color.TRANSPARENT) {
264
- return false;
262
+ if (map.hasKey(BACKGROUND_COLOR)) {
263
+ ReadableType valueType = map.getType(BACKGROUND_COLOR);
264
+ if (valueType == ReadableType.Number
265
+ && map.getInt(BACKGROUND_COLOR) != Color.TRANSPARENT) {
266
+ return false;
267
+ } else if (valueType != ReadableType.Null) {
268
+ return false;
269
+ }
265
270
  }
266
271
  if (map.hasKey(BORDER_WIDTH)
267
272
  && !map.isNull(BORDER_WIDTH)
@@ -19,7 +19,7 @@ rn_xplat_cxx_library(
19
19
  ],
20
20
  fbandroid_allow_jni_merging = True,
21
21
  labels = ["supermodule:xplat/default/public.react_native.infra"],
22
- platforms = (ANDROID),
22
+ platforms = ANDROID,
23
23
  preprocessor_flags = [
24
24
  "-DLOG_TAG=\"ReactNative\"",
25
25
  "-DWITH_FBSYSTRACE=1",
@@ -5,7 +5,6 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- #include <memory>
9
8
  #include <string>
10
9
 
11
10
  #include <fbjni/fbjni.h>
@@ -18,6 +17,8 @@
18
17
  namespace facebook {
19
18
  namespace react {
20
19
 
20
+ using namespace facebook::jni;
21
+
21
22
  ComponentNameResolverManager::ComponentNameResolverManager(
22
23
  jni::alias_ref<ComponentNameResolverManager::javaobject> jThis,
23
24
  RuntimeExecutor runtimeExecutor,
@@ -10,20 +10,14 @@
10
10
  #include <ReactCommon/CallInvokerHolder.h>
11
11
  #include <ReactCommon/RuntimeExecutor.h>
12
12
  #include <fbjni/fbjni.h>
13
- #include <jsi/jsi.h>
14
13
  #include <react/jni/JRuntimeExecutor.h>
15
- #include <memory>
16
14
  #include <set>
17
- #include <unordered_map>
18
-
19
- using namespace facebook::jni;
20
- using namespace facebook::jsi;
21
15
 
22
16
  namespace facebook {
23
17
  namespace react {
24
18
 
25
19
  class ComponentNameResolverManager
26
- : public jni::HybridClass<ComponentNameResolverManager> {
20
+ : public facebook::jni::HybridClass<ComponentNameResolverManager> {
27
21
  public:
28
22
  static auto constexpr kJavaDescriptor =
29
23
  "Lcom/facebook/react/uimanager/ComponentNameResolverManager;";
@@ -31,28 +25,29 @@ class ComponentNameResolverManager
31
25
  constexpr static auto ComponentNameResolverJavaDescriptor =
32
26
  "com/facebook/react/uimanager/ComponentNameResolver";
33
27
 
34
- static jni::local_ref<jhybriddata> initHybrid(
35
- jni::alias_ref<jhybridobject> jThis,
36
- jni::alias_ref<JRuntimeExecutor::javaobject> runtimeExecutor,
37
- jni::alias_ref<jobject> componentNameResolver);
28
+ static facebook::jni::local_ref<jhybriddata> initHybrid(
29
+ facebook::jni::alias_ref<jhybridobject> jThis,
30
+ facebook::jni::alias_ref<JRuntimeExecutor::javaobject> runtimeExecutor,
31
+ facebook::jni::alias_ref<jobject> componentNameResolver);
38
32
 
39
33
  static void registerNatives();
40
34
 
41
35
  private:
42
36
  friend HybridBase;
43
- jni::global_ref<ComponentNameResolverManager::javaobject> javaPart_;
37
+ facebook::jni::global_ref<ComponentNameResolverManager::javaobject> javaPart_;
44
38
  RuntimeExecutor runtimeExecutor_;
45
39
 
46
- jni::global_ref<jobject> componentNameResolver_;
40
+ facebook::jni::global_ref<jobject> componentNameResolver_;
47
41
 
48
42
  std::set<std::string> componentNames_;
49
43
 
50
44
  void installJSIBindings();
51
45
 
52
46
  explicit ComponentNameResolverManager(
53
- jni::alias_ref<ComponentNameResolverManager::jhybridobject> jThis,
47
+ facebook::jni::alias_ref<ComponentNameResolverManager::jhybridobject>
48
+ jThis,
54
49
  RuntimeExecutor runtimeExecutor,
55
- jni::alias_ref<jobject> componentNameResolver);
50
+ facebook::jni::alias_ref<jobject> componentNameResolver);
56
51
  };
57
52
 
58
53
  } // namespace react
@@ -26,6 +26,6 @@ rn_android_library(
26
26
  react_native_target("java/com/facebook/react/uimanager:uimanager"),
27
27
  react_native_target("java/com/facebook/react/uimanager/annotations:annotations"),
28
28
  react_native_target("java/com/facebook/react/views/scroll:scroll"),
29
- react_native_root_target("Libraries:generated_components_java-FBReactNativeComponentSpec"),
29
+ react_native_root_target(":generated_components_java-FBReactNativeComponentSpec"),
30
30
  ],
31
31
  )
@@ -33,10 +33,4 @@ public class DrawerClosedEvent extends Event<DrawerClosedEvent> {
33
33
  protected WritableMap getEventData() {
34
34
  return Arguments.createMap();
35
35
  }
36
-
37
- @Override
38
- public short getCoalescingKey() {
39
- // All events for a given view can be coalesced.
40
- return 0;
41
- }
42
36
  }
@@ -33,10 +33,4 @@ public class DrawerOpenedEvent extends Event<DrawerOpenedEvent> {
33
33
  protected WritableMap getEventData() {
34
34
  return Arguments.createMap();
35
35
  }
36
-
37
- @Override
38
- public short getCoalescingKey() {
39
- // All events for a given view can be coalesced.
40
- return 0;
41
- }
42
36
  }
@@ -37,12 +37,6 @@ public class DrawerSlideEvent extends Event<DrawerSlideEvent> {
37
37
  return EVENT_NAME;
38
38
  }
39
39
 
40
- @Override
41
- public short getCoalescingKey() {
42
- // All slide events for a given view can be coalesced.
43
- return 0;
44
- }
45
-
46
40
  @Override
47
41
  protected WritableMap getEventData() {
48
42
  WritableMap eventData = Arguments.createMap();
@@ -36,12 +36,6 @@ public class DrawerStateChangedEvent extends Event<DrawerStateChangedEvent> {
36
36
  return EVENT_NAME;
37
37
  }
38
38
 
39
- @Override
40
- public short getCoalescingKey() {
41
- // All events for a given view can be coalesced.
42
- return 0;
43
- }
44
-
45
39
  @Override
46
40
  protected WritableMap getEventData() {
47
41
  WritableMap eventData = Arguments.createMap();
@@ -31,11 +31,6 @@ public class ReactImageManager extends SimpleViewManager<ReactImageView> {
31
31
 
32
32
  public static final String REACT_CLASS = "RCTImageView";
33
33
 
34
- @Override
35
- public String getName() {
36
- return REACT_CLASS;
37
- }
38
-
39
34
  private @Nullable AbstractDraweeControllerBuilder mDraweeControllerBuilder;
40
35
  private @Nullable GlobalImageLoadListener mGlobalImageLoadListener;
41
36
  private final @Nullable Object mCallerContext;
@@ -113,6 +108,11 @@ public class ReactImageManager extends SimpleViewManager<ReactImageView> {
113
108
  context, getDraweeControllerBuilder(), mGlobalImageLoadListener, callerContext);
114
109
  }
115
110
 
111
+ @Override
112
+ public String getName() {
113
+ return REACT_CLASS;
114
+ }
115
+
116
116
  @ReactProp(name = "accessible")
117
117
  public void setAccessible(ReactImageView view, boolean accessible) {
118
118
  view.setFocusable(accessible);
@@ -18,7 +18,7 @@ rn_android_library(
18
18
  react_native_dep("third-party/java/infer-annotations:infer-annotations"),
19
19
  react_native_dep("third-party/java/jsr-305:jsr-305"),
20
20
  react_native_dep("libraries/fbcore/src/main/java/com/facebook/common/logging:logging"),
21
- react_native_root_target("Libraries:generated_components_java-FBReactNativeComponentSpec"),
21
+ react_native_root_target(":generated_components_java-FBReactNativeComponentSpec"),
22
22
  react_native_target("java/com/facebook/react/bridge:bridge"),
23
23
  react_native_target("java/com/facebook/react/common:common"),
24
24
  react_native_target("java/com/facebook/react/module/annotations:annotations"),
@@ -293,14 +293,11 @@ public class ReactModalHostView extends ViewGroup
293
293
  @Override
294
294
  public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
295
295
  if (event.getAction() == KeyEvent.ACTION_UP) {
296
- // We need to stop the BACK button from closing the dialog by default so we capture
297
- // that
298
- // event and instead inform JS so that it can make the decision as to whether or not
299
- // to
300
- // allow the back button to close the dialog. If it chooses to, it can just set
301
- // visible
302
- // to false on the Modal and the Modal will go away
303
- if (keyCode == KeyEvent.KEYCODE_BACK) {
296
+ // We need to stop the BACK button and ESCAPE key from closing the dialog by default
297
+ // so we capture that event and instead inform JS so that it can make the decision as
298
+ // to whether or not to allow the back/escape key to close the dialog. If it chooses
299
+ // to, it can just set visible to false on the Modal and the Modal will go away
300
+ if (keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_ESCAPE) {
304
301
  Assertions.assertNotNull(
305
302
  mOnRequestCloseListener,
306
303
  "setOnRequestCloseListener must be called by the manager");
@@ -308,9 +305,8 @@ public class ReactModalHostView extends ViewGroup
308
305
  return true;
309
306
  } else {
310
307
  // We redirect the rest of the key events to the current activity, since the
311
- // activity
312
- // expects to receive those events and react to them, ie. in the case of the dev
313
- // menu
308
+ // activity expects to receive those events and react to them, ie. in the case of
309
+ // the dev menu
314
310
  Activity currentActivity = ((ReactContext) getContext()).getCurrentActivity();
315
311
  if (currentActivity != null) {
316
312
  return currentActivity.onKeyUp(keyCode, event);
@@ -19,6 +19,6 @@ rn_android_library(
19
19
  react_native_target("java/com/facebook/react/module/annotations:annotations"),
20
20
  react_native_target("java/com/facebook/react/uimanager:uimanager"),
21
21
  react_native_target("java/com/facebook/react/uimanager/annotations:annotations"),
22
- react_native_root_target("Libraries:generated_components_java-FBReactNativeComponentSpec"),
22
+ react_native_root_target(":generated_components_java-FBReactNativeComponentSpec"),
23
23
  ],
24
24
  )
@@ -30,5 +30,6 @@ rn_android_library(
30
30
  react_native_target("java/com/facebook/react/uimanager:uimanager"),
31
31
  react_native_target("java/com/facebook/react/uimanager/annotations:annotations"),
32
32
  react_native_target("java/com/facebook/react/views/view:view"),
33
+ react_native_target("res:uimanager"),
33
34
  ],
34
35
  )
@@ -40,6 +40,7 @@ import com.facebook.react.uimanager.MeasureSpecAssertions;
40
40
  import com.facebook.react.uimanager.PixelUtil;
41
41
  import com.facebook.react.uimanager.ReactClippingViewGroup;
42
42
  import com.facebook.react.uimanager.ReactClippingViewGroupHelper;
43
+ import com.facebook.react.uimanager.ReactOverflowView;
43
44
  import com.facebook.react.uimanager.ViewProps;
44
45
  import com.facebook.react.uimanager.events.NativeGestureUtil;
45
46
  import com.facebook.react.views.view.ReactViewBackgroundManager;
@@ -49,7 +50,9 @@ import java.util.List;
49
50
 
50
51
  /** Similar to {@link ReactScrollView} but only supports horizontal scrolling. */
51
52
  public class ReactHorizontalScrollView extends HorizontalScrollView
52
- implements ReactClippingViewGroup, FabricViewStateManager.HasFabricViewStateManager {
53
+ implements ReactClippingViewGroup,
54
+ FabricViewStateManager.HasFabricViewStateManager,
55
+ ReactOverflowView {
53
56
 
54
57
  private static boolean DEBUG_MODE = false && ReactBuildConfig.DEBUG;
55
58
  private static String TAG = ReactHorizontalScrollView.class.getSimpleName();
@@ -245,6 +248,11 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
245
248
  invalidate();
246
249
  }
247
250
 
251
+ @Override
252
+ public @Nullable String getOverflow() {
253
+ return mOverflow;
254
+ }
255
+
248
256
  @Override
249
257
  protected void onDraw(Canvas canvas) {
250
258
  if (DEBUG_MODE) {
@@ -417,6 +425,12 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
417
425
  updateClippingRect();
418
426
  }
419
427
 
428
+ // Race an UpdateState with every onScroll. This makes it more likely that, in Fabric,
429
+ // when JS processes the scroll event, the C++ ShadowNode representation will have a
430
+ // "more correct" scroll position. It will frequently be /incorrect/ but this decreases
431
+ // the error as much as possible.
432
+ updateStateOnScroll();
433
+
420
434
  ReactScrollViewHelper.emitScrollEvent(
421
435
  this,
422
436
  mOnScrollDispatchHelper.getXFlingVelocity(),
@@ -105,6 +105,11 @@ public class ReactHorizontalScrollViewManager extends ViewGroupManager<ReactHori
105
105
  @ReactProp(name = "snapToOffsets")
106
106
  public void setSnapToOffsets(
107
107
  ReactHorizontalScrollView view, @Nullable ReadableArray snapToOffsets) {
108
+ if (snapToOffsets == null) {
109
+ view.setSnapOffsets(null);
110
+ return;
111
+ }
112
+
108
113
  DisplayMetrics screenDisplayMetrics = DisplayMetricsHolder.getScreenDisplayMetrics();
109
114
  List<Integer> offsets = new ArrayList<Integer>();
110
115
  for (int i = 0; i < snapToOffsets.size(); i++) {
@@ -20,12 +20,14 @@ import android.view.KeyEvent;
20
20
  import android.view.MotionEvent;
21
21
  import android.view.View;
22
22
  import android.view.ViewGroup;
23
+ import android.view.accessibility.AccessibilityNodeInfo;
23
24
  import android.widget.OverScroller;
24
25
  import android.widget.ScrollView;
25
26
  import androidx.annotation.Nullable;
26
27
  import androidx.core.view.ViewCompat;
27
28
  import com.facebook.common.logging.FLog;
28
29
  import com.facebook.infer.annotation.Assertions;
30
+ import com.facebook.react.R;
29
31
  import com.facebook.react.bridge.ReactContext;
30
32
  import com.facebook.react.bridge.WritableMap;
31
33
  import com.facebook.react.bridge.WritableNativeMap;
@@ -35,7 +37,10 @@ import com.facebook.react.uimanager.MeasureSpecAssertions;
35
37
  import com.facebook.react.uimanager.PixelUtil;
36
38
  import com.facebook.react.uimanager.ReactClippingViewGroup;
37
39
  import com.facebook.react.uimanager.ReactClippingViewGroupHelper;
40
+ import com.facebook.react.uimanager.ReactOverflowView;
38
41
  import com.facebook.react.uimanager.ViewProps;
42
+ import com.facebook.react.uimanager.common.UIManagerType;
43
+ import com.facebook.react.uimanager.common.ViewUtil;
39
44
  import com.facebook.react.uimanager.events.NativeGestureUtil;
40
45
  import com.facebook.react.views.view.ReactViewBackgroundManager;
41
46
  import java.lang.reflect.Field;
@@ -52,7 +57,8 @@ public class ReactScrollView extends ScrollView
52
57
  implements ReactClippingViewGroup,
53
58
  ViewGroup.OnHierarchyChangeListener,
54
59
  View.OnLayoutChangeListener,
55
- FabricViewStateManager.HasFabricViewStateManager {
60
+ FabricViewStateManager.HasFabricViewStateManager,
61
+ ReactOverflowView {
56
62
 
57
63
  private static @Nullable Field sScrollerField;
58
64
  private static boolean sTriedToGetScrollerField = false;
@@ -115,6 +121,20 @@ public class ReactScrollView extends ScrollView
115
121
  setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY);
116
122
  }
117
123
 
124
+ @Override
125
+ public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
126
+ super.onInitializeAccessibilityNodeInfo(info);
127
+
128
+ // Expose the testID prop as the resource-id name of the view. Black-box E2E/UI testing
129
+ // frameworks, which interact with the UI through the accessibility framework, do not have
130
+ // access to view tags. This allows developers/testers to avoid polluting the
131
+ // content-description with test identifiers.
132
+ final String testId = (String) this.getTag(R.id.react_test_id);
133
+ if (testId != null) {
134
+ info.setViewIdResourceName(testId);
135
+ }
136
+ }
137
+
118
138
  @Nullable
119
139
  private OverScroller getOverScrollerFromParent() {
120
140
  OverScroller scroller;
@@ -207,6 +227,11 @@ public class ReactScrollView extends ScrollView
207
227
  invalidate();
208
228
  }
209
229
 
230
+ @Override
231
+ public @Nullable String getOverflow() {
232
+ return mOverflow;
233
+ }
234
+
210
235
  @Override
211
236
  protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
212
237
  MeasureSpecAssertions.assertExplicitMeasureSpec(widthMeasureSpec, heightMeasureSpec);
@@ -284,6 +309,12 @@ public class ReactScrollView extends ScrollView
284
309
  updateClippingRect();
285
310
  }
286
311
 
312
+ // Race an UpdateState with every onScroll. This makes it more likely that, in Fabric,
313
+ // when JS processes the scroll event, the C++ ShadowNode representation will have a
314
+ // "more correct" scroll position. It will frequently be /incorrect/ but this decreases
315
+ // the error as much as possible.
316
+ updateStateOnScroll();
317
+
287
318
  ReactScrollViewHelper.emitScrollEvent(
288
319
  this,
289
320
  mOnScrollDispatchHelper.getXFlingVelocity(),
@@ -1000,20 +1031,26 @@ public class ReactScrollView extends ScrollView
1000
1031
  /**
1001
1032
  * Called on any stabilized onScroll change to propagate content offset value to a Shadow Node.
1002
1033
  */
1003
- private void updateStateOnScroll(final int scrollX, final int scrollY) {
1034
+ private boolean updateStateOnScroll(final int scrollX, final int scrollY) {
1035
+ if (ViewUtil.getUIManagerType(getId()) == UIManagerType.DEFAULT) {
1036
+ return false;
1037
+ }
1038
+
1004
1039
  // Dedupe events to reduce JNI traffic
1005
1040
  if (scrollX == mLastStateUpdateScrollX && scrollY == mLastStateUpdateScrollY) {
1006
- return;
1041
+ return false;
1007
1042
  }
1008
1043
 
1009
1044
  mLastStateUpdateScrollX = scrollX;
1010
1045
  mLastStateUpdateScrollY = scrollY;
1011
1046
 
1012
1047
  forceUpdateState();
1048
+
1049
+ return true;
1013
1050
  }
1014
1051
 
1015
- private void updateStateOnScroll() {
1016
- updateStateOnScroll(getScrollX(), getScrollY());
1052
+ private boolean updateStateOnScroll() {
1053
+ return updateStateOnScroll(getScrollX(), getScrollY());
1017
1054
  }
1018
1055
 
1019
1056
  private void updateScrollAwayState(int scrollAwayPaddingTop) {
@@ -14,8 +14,9 @@ import android.widget.OverScroller;
14
14
  import com.facebook.react.bridge.JSApplicationIllegalArgumentException;
15
15
  import com.facebook.react.bridge.ReactContext;
16
16
  import com.facebook.react.uimanager.UIManagerHelper;
17
- import java.util.ArrayList;
18
- import java.util.List;
17
+ import java.util.Collections;
18
+ import java.util.Set;
19
+ import java.util.WeakHashMap;
19
20
 
20
21
  /** Helper class that deals with emitting Scroll Events. */
21
22
  public class ReactScrollViewHelper {
@@ -33,7 +34,8 @@ public class ReactScrollViewHelper {
33
34
  }
34
35
 
35
36
  // Support global native listeners for scroll events
36
- private static List<ScrollListener> sScrollListeners = new ArrayList<>();
37
+ private static Set<ScrollListener> sScrollListeners =
38
+ Collections.newSetFromMap(new WeakHashMap<ScrollListener, Boolean>());
37
39
 
38
40
  // If all else fails, this is the hardcoded value in OverScroller.java, in AOSP.
39
41
  // The default is defined here (as of this diff):
@@ -156,6 +158,19 @@ public class ReactScrollViewHelper {
156
158
  }
157
159
  }
158
160
 
161
+ /**
162
+ * Adds a scroll listener.
163
+ *
164
+ * <p>Note that you must keep a reference to this scroll listener because this class only keeps a
165
+ * weak reference to it (to prevent memory leaks). This means that code like <code>
166
+ * addScrollListener(new ScrollListener() {...})</code> won't work, you need to do this instead:
167
+ * <code>
168
+ * mScrollListener = new ScrollListener() {...};
169
+ * ReactScrollViewHelper.addScrollListener(mScrollListener);
170
+ * </code> instead.
171
+ *
172
+ * @param listener
173
+ */
159
174
  public static void addScrollListener(ScrollListener listener) {
160
175
  sScrollListeners.add(listener);
161
176
  }
@@ -102,6 +102,11 @@ public class ReactScrollViewManager extends ViewGroupManager<ReactScrollView>
102
102
 
103
103
  @ReactProp(name = "snapToOffsets")
104
104
  public void setSnapToOffsets(ReactScrollView view, @Nullable ReadableArray snapToOffsets) {
105
+ if (snapToOffsets == null) {
106
+ view.setSnapOffsets(null);
107
+ return;
108
+ }
109
+
105
110
  DisplayMetrics screenDisplayMetrics = DisplayMetricsHolder.getScreenDisplayMetrics();
106
111
  List<Integer> offsets = new ArrayList<Integer>();
107
112
  for (int i = 0; i < snapToOffsets.size(); i++) {
@@ -11,12 +11,14 @@ import androidx.annotation.Nullable;
11
11
  import androidx.core.util.Pools;
12
12
  import com.facebook.infer.annotation.Assertions;
13
13
  import com.facebook.react.bridge.Arguments;
14
+ import com.facebook.react.bridge.ReactSoftExceptionLogger;
14
15
  import com.facebook.react.bridge.WritableMap;
15
16
  import com.facebook.react.uimanager.PixelUtil;
16
17
  import com.facebook.react.uimanager.events.Event;
17
18
 
18
19
  /** A event dispatched from a ScrollView scrolling. */
19
20
  public class ScrollEvent extends Event<ScrollEvent> {
21
+ private static String TAG = ScrollEvent.class.getSimpleName();
20
22
 
21
23
  private static final Pools.SynchronizedPool<ScrollEvent> EVENTS_POOL =
22
24
  new Pools.SynchronizedPool<>(3);
@@ -90,7 +92,13 @@ public class ScrollEvent extends Event<ScrollEvent> {
90
92
 
91
93
  @Override
92
94
  public void onDispose() {
93
- EVENTS_POOL.release(this);
95
+ try {
96
+ EVENTS_POOL.release(this);
97
+ } catch (IllegalStateException e) {
98
+ // This exception can be thrown when an event is double-released.
99
+ // This is a problem but won't cause user-visible impact, so it's okay to fail silently.
100
+ ReactSoftExceptionLogger.logSoftException(TAG, e);
101
+ }
94
102
  }
95
103
 
96
104
  private ScrollEvent() {}
@@ -124,12 +132,6 @@ public class ScrollEvent extends Event<ScrollEvent> {
124
132
  return ScrollEventType.getJSEventName(Assertions.assertNotNull(mScrollEventType));
125
133
  }
126
134
 
127
- @Override
128
- public short getCoalescingKey() {
129
- // All scroll events for a given view can be coalesced
130
- return 0;
131
- }
132
-
133
135
  @Override
134
136
  public boolean canCoalesce() {
135
137
  // Only SCROLL events can be coalesced, all others can not be
@@ -22,6 +22,6 @@ rn_android_library(
22
22
  react_native_target("java/com/facebook/react/common:common"),
23
23
  react_native_target("java/com/facebook/react/uimanager:uimanager"),
24
24
  react_native_target("java/com/facebook/react/uimanager/annotations:annotations"),
25
- react_native_root_target("Libraries:generated_components_java-FBReactNativeComponentSpec"),
25
+ react_native_root_target(":generated_components_java-FBReactNativeComponentSpec"),
26
26
  ],
27
27
  )
@@ -39,11 +39,6 @@ public class ReactSliderEvent extends Event<ReactSliderEvent> {
39
39
  return EVENT_NAME;
40
40
  }
41
41
 
42
- @Override
43
- public short getCoalescingKey() {
44
- return 0;
45
- }
46
-
47
42
  @Override
48
43
  public void dispatch(RCTEventEmitter rctEventEmitter) {
49
44
  rctEventEmitter.receiveEvent(getViewTag(), getEventName(), serializeEventData());