react-native-tvos 0.64.2-2 → 0.66.3-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1783) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +0 -2
  2. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +0 -2
  3. package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +2 -2
  4. package/Libraries/Alert/Alert.js +3 -5
  5. package/Libraries/Alert/NativeAlertManager.js +0 -2
  6. package/Libraries/Alert/RCTAlertManager.android.js +0 -2
  7. package/Libraries/Alert/RCTAlertManager.ios.js +0 -2
  8. package/Libraries/Animated/Animated.js +0 -2
  9. package/Libraries/Animated/AnimatedEvent.js +4 -3
  10. package/Libraries/Animated/AnimatedImplementation.js +0 -2
  11. package/Libraries/Animated/AnimatedMock.js +1 -8
  12. package/Libraries/Animated/AnimatedWeb.js +6 -3
  13. package/Libraries/Animated/NativeAnimatedHelper.js +9 -6
  14. package/Libraries/Animated/NativeAnimatedModule.js +0 -2
  15. package/Libraries/Animated/NativeAnimatedTurboModule.js +0 -2
  16. package/Libraries/Animated/animations/Animation.js +1 -0
  17. package/Libraries/Animated/animations/DecayAnimation.js +2 -0
  18. package/Libraries/Animated/animations/SpringAnimation.js +1 -0
  19. package/Libraries/Animated/animations/TimingAnimation.js +3 -0
  20. package/Libraries/Animated/components/AnimatedFlatList.js +0 -2
  21. package/Libraries/Animated/components/AnimatedImage.js +3 -5
  22. package/Libraries/Animated/components/AnimatedScrollView.js +3 -5
  23. package/Libraries/Animated/components/AnimatedSectionList.js +1 -3
  24. package/Libraries/Animated/components/AnimatedText.js +3 -5
  25. package/Libraries/Animated/components/AnimatedView.js +3 -3
  26. package/Libraries/Animated/createAnimatedComponent.js +48 -29
  27. package/Libraries/Animated/createAnimatedComponentInjection.js +48 -0
  28. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +48 -0
  29. package/Libraries/Animated/nodes/AnimatedInterpolation.js +21 -22
  30. package/Libraries/Animated/nodes/AnimatedProps.js +0 -1
  31. package/Libraries/Animated/nodes/AnimatedValue.js +24 -5
  32. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -0
  33. package/Libraries/Animated/useAnimatedProps.js +211 -0
  34. package/Libraries/AppState/AppState.js +116 -132
  35. package/Libraries/AppState/NativeAppState.js +0 -2
  36. package/Libraries/BatchedBridge/MessageQueue.js +19 -14
  37. package/Libraries/BatchedBridge/NativeModules.js +5 -1
  38. package/Libraries/Blob/BlobManager.js +0 -2
  39. package/Libraries/Blob/FileReader.js +1 -3
  40. package/Libraries/Blob/NativeBlobModule.js +0 -2
  41. package/Libraries/Blob/NativeFileReaderModule.js +0 -2
  42. package/Libraries/Blob/RCTBlobManager.h +2 -1
  43. package/Libraries/Blob/RCTBlobManager.mm +10 -12
  44. package/Libraries/Blob/RCTBlobPlugins.mm +4 -3
  45. package/Libraries/Blob/RCTFileReaderModule.mm +3 -9
  46. package/Libraries/Blob/React-RCTBlob.podspec +3 -3
  47. package/Libraries/Blob/URL.js +17 -19
  48. package/Libraries/BugReporting/BugReporting.js +2 -2
  49. package/Libraries/BugReporting/getReactData.js +2 -2
  50. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +350 -0
  51. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +4 -2
  52. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +0 -2
  53. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +35 -0
  54. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +26 -0
  55. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +22 -21
  56. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +0 -2
  57. package/Libraries/Components/AppleTV/TVFocusGuideView.js +24 -1
  58. package/Libraries/Components/Button.js +42 -15
  59. package/Libraries/Components/Clipboard/Clipboard.js +0 -2
  60. package/Libraries/Components/Clipboard/NativeClipboard.js +0 -2
  61. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -5
  62. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +48 -9
  63. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +1 -2
  64. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -2
  65. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -2
  66. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +0 -2
  67. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +0 -2
  68. package/Libraries/Components/Keyboard/Keyboard.js +52 -57
  69. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +17 -22
  70. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +0 -2
  71. package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +3 -3
  72. package/Libraries/Components/Pressable/Pressable.js +22 -8
  73. package/Libraries/Components/Pressable/useAndroidRippleForView.js +18 -17
  74. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +15 -13
  75. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +0 -2
  76. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +4 -5
  77. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +2 -5
  78. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -2
  79. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -12
  80. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +9 -3
  81. package/Libraries/Components/RefreshControl/RefreshControl.js +7 -26
  82. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
  83. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +0 -2
  84. package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -1
  85. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +9 -26
  86. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +31 -45
  87. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +12 -26
  88. package/Libraries/Components/ScrollView/ScrollView.js +786 -232
  89. package/Libraries/Components/ScrollView/ScrollViewContext.js +3 -3
  90. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +75 -21
  91. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +5 -12
  92. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +256 -242
  93. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +13 -5
  94. package/Libraries/Components/ScrollView/processDecelerationRate.js +0 -2
  95. package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -2
  96. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +4 -5
  97. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +17 -11
  98. package/Libraries/Components/Slider/Slider.js +20 -9
  99. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -2
  100. package/Libraries/Components/Sound/NativeSoundManager.js +0 -2
  101. package/Libraries/Components/Sound/SoundManager.js +0 -1
  102. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +0 -2
  103. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +0 -2
  104. package/Libraries/Components/StatusBar/StatusBar.js +10 -21
  105. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +0 -2
  106. package/Libraries/Components/Switch/Switch.js +102 -122
  107. package/Libraries/Components/Switch/SwitchNativeComponent.js +0 -2
  108. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +14 -20
  109. package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +7 -5
  110. package/Libraries/Components/TextInput/InputAccessoryView.js +6 -8
  111. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +0 -2
  112. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +6 -5
  113. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +6 -16
  114. package/Libraries/Components/TextInput/{RCTSinglelineTextInputViewConfig.js → RCTTextInputViewConfig.js} +3 -5
  115. package/Libraries/Components/TextInput/TextInput.js +289 -227
  116. package/Libraries/Components/TextInput/TextInputNativeCommands.js +0 -2
  117. package/Libraries/Components/TextInput/TextInputState.js +1 -3
  118. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +0 -2
  119. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +0 -1
  120. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -2
  121. package/Libraries/Components/Touchable/PooledClass.js +1 -2
  122. package/Libraries/Components/Touchable/Position.js +1 -2
  123. package/Libraries/Components/Touchable/Touchable.js +30 -59
  124. package/Libraries/Components/Touchable/TouchableBounce.js +0 -2
  125. package/Libraries/Components/Touchable/TouchableHighlight.js +23 -7
  126. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +16 -5
  127. package/Libraries/Components/Touchable/TouchableOpacity.js +19 -8
  128. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +13 -4
  129. package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +1 -2
  130. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +0 -2
  131. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +2 -3
  132. package/Libraries/Components/View/ReactNativeStyleAttributes.js +133 -68
  133. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -2
  134. package/Libraries/Components/View/ReactNativeViewViewConfig.js +13 -11
  135. package/Libraries/Components/View/View.js +2 -4
  136. package/Libraries/Components/View/ViewAccessibility.js +3 -0
  137. package/Libraries/Components/View/ViewNativeComponent.js +17 -62
  138. package/Libraries/Core/Devtools/getDevServer.js +0 -2
  139. package/Libraries/Core/Devtools/parseErrorStack.js +0 -9
  140. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  141. package/Libraries/Core/ExceptionsManager.js +48 -40
  142. package/Libraries/Core/ExtendedError.js +19 -0
  143. package/Libraries/Core/InitializeCore.js +1 -0
  144. package/Libraries/Core/NativeExceptionsManager.js +0 -2
  145. package/Libraries/Core/ReactFiberErrorDialog.js +44 -34
  146. package/Libraries/Core/ReactNativeVersion.js +2 -2
  147. package/Libraries/Core/ReactNativeVersionCheck.js +0 -2
  148. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +0 -2
  149. package/Libraries/Core/Timers/JSTimers.js +41 -58
  150. package/Libraries/Core/Timers/NativeTiming.js +0 -2
  151. package/Libraries/Core/Timers/immediateShim.js +67 -0
  152. package/Libraries/Core/Timers/queueMicrotask.js +41 -0
  153. package/Libraries/Core/polyfillPromise.js +1 -1
  154. package/Libraries/Core/setUpDeveloperTools.js +53 -58
  155. package/Libraries/Core/setUpReactDevTools.js +18 -1
  156. package/Libraries/Core/setUpReactRefresh.js +3 -1
  157. package/Libraries/Core/setUpRegeneratorRuntime.js +25 -8
  158. package/Libraries/Core/setUpTimers.js +64 -5
  159. package/Libraries/Core/setUpXHR.js +4 -4
  160. package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.android.js +131 -0
  161. package/Libraries/DeprecatedPropTypes/{DeprecatedImagePropType.js → DeprecatedImagePropType.ios.js} +0 -0
  162. package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +5 -5
  163. package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +2 -0
  164. package/Libraries/EventEmitter/NativeEventEmitter.js +100 -47
  165. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -70
  166. package/Libraries/EventEmitter/RCTEventEmitter.js +5 -1
  167. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +0 -2
  168. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +31 -8
  169. package/Libraries/FBLazyVector/BUCK +5 -1
  170. package/Libraries/FBLazyVector/FBLazyVector.podspec +2 -2
  171. package/Libraries/HeapCapture/HeapCapture.js +0 -2
  172. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +0 -2
  173. package/Libraries/Image/AssetSourceResolver.js +8 -16
  174. package/Libraries/Image/AssetUtils.js +48 -0
  175. package/Libraries/Image/Image.android.js +43 -132
  176. package/Libraries/Image/Image.ios.js +58 -29
  177. package/Libraries/Image/ImageAnalyticsTagContext.js +4 -2
  178. package/Libraries/Image/ImageBackground.js +2 -2
  179. package/Libraries/Image/ImageInjection.js +28 -0
  180. package/Libraries/Image/ImagePickerIOS.js +0 -2
  181. package/Libraries/Image/ImageSource.js +57 -14
  182. package/Libraries/Image/ImageViewNativeComponent.js +70 -27
  183. package/Libraries/Image/NativeImageEditor.js +0 -2
  184. package/Libraries/Image/NativeImageLoaderAndroid.js +0 -2
  185. package/Libraries/Image/NativeImageLoaderIOS.js +6 -2
  186. package/Libraries/Image/NativeImagePickerIOS.js +0 -2
  187. package/Libraries/Image/NativeImageStoreAndroid.js +0 -2
  188. package/Libraries/Image/NativeImageStoreIOS.js +0 -2
  189. package/Libraries/Image/RCTAnimatedImage.m +6 -3
  190. package/Libraries/Image/RCTGIFImageDecoder.mm +6 -0
  191. package/Libraries/Image/RCTImageBlurUtils.m +17 -11
  192. package/Libraries/Image/RCTImageEditingManager.mm +4 -4
  193. package/Libraries/Image/RCTImageLoader.h +2 -2
  194. package/Libraries/Image/RCTImageLoader.mm +31 -30
  195. package/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h +0 -5
  196. package/Libraries/Image/RCTImagePlugins.mm +4 -3
  197. package/Libraries/Image/RCTImageStoreManager.mm +5 -5
  198. package/Libraries/Image/RCTImageURLLoaderWithAttribution.h +1 -0
  199. package/Libraries/Image/RCTLocalAssetImageLoader.mm +5 -0
  200. package/Libraries/Image/React-RCTImage.podspec +3 -3
  201. package/Libraries/Image/TextInlineImageNativeComponent.js +84 -2
  202. package/Libraries/Image/nativeImageSource.js +0 -2
  203. package/Libraries/Image/resolveAssetSource.js +2 -1
  204. package/Libraries/Inspector/ElementProperties.js +1 -1
  205. package/Libraries/Inspector/Inspector.js +13 -4
  206. package/Libraries/Inspector/InspectorPanel.js +1 -1
  207. package/Libraries/Interaction/FrameRateLogger.js +0 -2
  208. package/Libraries/Interaction/InteractionManager.js +7 -6
  209. package/Libraries/Interaction/InteractionMixin.js +1 -2
  210. package/Libraries/Interaction/PanResponder.js +1 -1
  211. package/Libraries/LayoutAnimation/LayoutAnimation.js +53 -17
  212. package/Libraries/Linking/Linking.js +19 -10
  213. package/Libraries/Linking/NativeIntentAndroid.js +0 -2
  214. package/Libraries/Linking/NativeLinkingManager.js +0 -2
  215. package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +4 -3
  216. package/Libraries/LinkingIOS/React-RCTLinking.podspec +3 -3
  217. package/Libraries/Lists/CellRenderMask.js +145 -0
  218. package/Libraries/Lists/FillRateHelper.js +1 -1
  219. package/Libraries/Lists/FlatList.js +80 -52
  220. package/Libraries/Lists/SectionList.js +20 -23
  221. package/Libraries/Lists/SectionListModern.js +249 -0
  222. package/Libraries/Lists/ViewabilityHelper.js +9 -9
  223. package/Libraries/Lists/VirtualizeUtils.js +18 -20
  224. package/Libraries/Lists/VirtualizedList.js +190 -132
  225. package/Libraries/Lists/VirtualizedListContext.js +3 -2
  226. package/Libraries/Lists/VirtualizedSectionList.js +247 -209
  227. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +6 -6
  228. package/Libraries/LogBox/Data/LogBoxData.js +21 -19
  229. package/Libraries/LogBox/Data/LogBoxLog.js +0 -2
  230. package/Libraries/LogBox/Data/LogBoxSymbolication.js +0 -2
  231. package/Libraries/LogBox/Data/parseLogBoxLog.js +0 -2
  232. package/Libraries/LogBox/LogBox.js +114 -49
  233. package/Libraries/LogBox/LogBoxInspectorContainer.js +0 -2
  234. package/Libraries/LogBox/LogBoxNotificationContainer.js +0 -2
  235. package/Libraries/LogBox/UI/LogBoxButton.js +0 -2
  236. package/Libraries/LogBox/UI/LogBoxInspector.js +0 -2
  237. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +0 -2
  238. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +0 -2
  239. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +0 -2
  240. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +0 -2
  241. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +0 -2
  242. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +0 -2
  243. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +4 -5
  244. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +0 -2
  245. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +4 -3
  246. package/Libraries/LogBox/UI/LogBoxMessage.js +0 -2
  247. package/Libraries/LogBox/UI/LogBoxNotification.js +3 -4
  248. package/Libraries/LogBox/UI/LogBoxStyle.js +0 -2
  249. package/Libraries/Modal/Modal.js +46 -21
  250. package/Libraries/{Components/Picker/PickerIOS.android.js → Modal/ModalInjection.js} +5 -4
  251. package/Libraries/Modal/NativeModalManager.js +0 -2
  252. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +8 -4
  253. package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +4 -3
  254. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +7 -2
  255. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +1 -1
  256. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +1 -1
  257. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h +2 -1
  258. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +31 -23
  259. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +4 -4
  260. package/Libraries/NativeComponent/NativeComponentRegistry.js +157 -0
  261. package/Libraries/NativeComponent/ViewConfig.js +50 -0
  262. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +0 -2
  263. package/Libraries/NativeModules/specs/NativeDevMenu.js +0 -2
  264. package/Libraries/NativeModules/specs/NativeDevSettings.js +0 -2
  265. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +0 -2
  266. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +0 -2
  267. package/Libraries/NativeModules/specs/NativeLogBox.js +0 -2
  268. package/Libraries/NativeModules/specs/NativeRedBox.js +0 -2
  269. package/Libraries/NativeModules/specs/NativeSourceCode.js +0 -2
  270. package/Libraries/Network/NativeNetworkingAndroid.js +0 -2
  271. package/Libraries/Network/NativeNetworkingIOS.js +0 -2
  272. package/Libraries/Network/RCTDataRequestHandler.mm +6 -0
  273. package/Libraries/Network/RCTFileRequestHandler.mm +6 -0
  274. package/Libraries/Network/RCTHTTPRequestHandler.h +5 -0
  275. package/Libraries/Network/RCTHTTPRequestHandler.mm +27 -9
  276. package/Libraries/Network/RCTNetworkPlugins.mm +4 -3
  277. package/Libraries/Network/RCTNetworking.android.js +8 -4
  278. package/Libraries/Network/RCTNetworking.h +1 -1
  279. package/Libraries/Network/RCTNetworking.ios.js +63 -20
  280. package/Libraries/Network/RCTNetworking.mm +13 -3
  281. package/Libraries/Network/React-RCTNetwork.podspec +3 -3
  282. package/Libraries/Network/XMLHttpRequest.js +5 -3
  283. package/Libraries/Network/convertRequestBody.js +2 -1
  284. package/Libraries/NewAppScreen/components/Colors.js +0 -2
  285. package/Libraries/NewAppScreen/components/Header.js +1 -1
  286. package/Libraries/NewAppScreen/components/HermesBadge.js +7 -4
  287. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -1
  288. package/Libraries/NewAppScreen/index.js +0 -2
  289. package/Libraries/Performance/NativeJSCSamplingProfiler.js +0 -2
  290. package/Libraries/Performance/QuickPerformanceLogger.js +4 -4
  291. package/Libraries/Performance/Systrace.js +3 -5
  292. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -3
  293. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +10 -5
  294. package/Libraries/Pressability/HoverState.js +0 -2
  295. package/Libraries/Pressability/Pressability.js +24 -22
  296. package/Libraries/Pressability/PressabilityDebug.js +9 -4
  297. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +47 -0
  298. package/Libraries/Pressability/PressabilityTypes.js +18 -0
  299. package/Libraries/Pressability/usePressability.js +0 -2
  300. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +3 -0
  301. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +43 -4
  302. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +13 -0
  303. package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +4 -3
  304. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +3 -3
  305. package/Libraries/RCTRequired/BUCK +4 -1
  306. package/Libraries/RCTRequired/RCTRequired.podspec +2 -2
  307. package/Libraries/ReactNative/AppContainer.js +3 -25
  308. package/Libraries/ReactNative/AppRegistry.js +48 -7
  309. package/Libraries/ReactNative/DisplayMode.js +32 -0
  310. package/Libraries/ReactNative/DummyUIManager.js +9 -1
  311. package/Libraries/ReactNative/FabricUIManager.js +6 -5
  312. package/Libraries/ReactNative/HeadlessJsTaskError.js +0 -2
  313. package/Libraries/ReactNative/I18nManager.js +23 -9
  314. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +0 -2
  315. package/Libraries/ReactNative/NativeI18nManager.js +1 -2
  316. package/Libraries/ReactNative/NativeUIManager.js +2 -3
  317. package/Libraries/ReactNative/PaperUIManager.js +69 -42
  318. package/Libraries/ReactNative/RootTag.js +6 -4
  319. package/Libraries/ReactNative/UIManager.js +7 -4
  320. package/Libraries/{Text/TextInjection.js → ReactNative/UIManagerInjection.js} +2 -6
  321. package/Libraries/ReactNative/UIManagerProperties.js +1 -0
  322. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +32 -0
  323. package/Libraries/ReactNative/getNativeComponentAttributes.js +2 -1
  324. package/Libraries/ReactNative/renderApplication.js +24 -6
  325. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +8 -4
  326. package/Libraries/Reliability/UserFlow.js +26 -4
  327. package/Libraries/Renderer/REVISION +1 -1
  328. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +8933 -7603
  329. package/Libraries/Renderer/implementations/ReactFabric-dev.js +5810 -4905
  330. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +2893 -2551
  331. package/Libraries/Renderer/implementations/ReactFabric-prod.js +2114 -1953
  332. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +3309 -2815
  333. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2576 -2266
  334. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +9064 -7879
  335. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5675 -4840
  336. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +2701 -2490
  337. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2279 -2138
  338. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +3068 -2709
  339. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +2574 -2282
  340. package/Libraries/Renderer/shims/ReactFabric.js +5 -3
  341. package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -0
  342. package/Libraries/Renderer/shims/ReactNative.js +3 -0
  343. package/Libraries/Renderer/shims/ReactNativeTypes.js +104 -63
  344. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +8 -11
  345. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +5 -3
  346. package/Libraries/Settings/NativeSettingsManager.js +0 -2
  347. package/Libraries/Settings/RCTSettingsManager.mm +2 -2
  348. package/Libraries/Settings/RCTSettingsPlugins.mm +4 -3
  349. package/Libraries/Settings/React-RCTSettings.podspec +3 -3
  350. package/Libraries/Settings/Settings.ios.js +4 -2
  351. package/Libraries/Share/NativeShareModule.js +0 -2
  352. package/Libraries/Share/Share.js +0 -2
  353. package/Libraries/Storage/AsyncStorage.js +68 -49
  354. package/Libraries/Storage/NativeAsyncLocalStorage.js +10 -9
  355. package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +10 -9
  356. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +0 -2
  357. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +16 -3
  358. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +8 -3
  359. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +2 -2
  360. package/Libraries/StyleSheet/Rect.js +0 -2
  361. package/Libraries/StyleSheet/StyleSheet.js +3 -5
  362. package/Libraries/StyleSheet/StyleSheetTypes.js +5 -0
  363. package/Libraries/StyleSheet/flattenStyle.js +5 -7
  364. package/Libraries/StyleSheet/normalizeColor.js +0 -2
  365. package/Libraries/StyleSheet/processColorArray.js +16 -6
  366. package/Libraries/StyleSheet/processTransform.js +6 -6
  367. package/Libraries/StyleSheet/splitLayoutProps.js +50 -48
  368. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +1 -1
  369. package/Libraries/Text/React-RCTText.podspec +2 -2
  370. package/Libraries/Text/Text.js +187 -235
  371. package/Libraries/Text/TextAncestor.js +7 -1
  372. package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +0 -2
  373. package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +12 -2
  374. package/Libraries/Text/TextInput/RCTBaseTextInputView.m +8 -0
  375. package/Libraries/Text/TextNativeComponent.js +4 -3
  376. package/Libraries/Text/TextProps.js +6 -0
  377. package/Libraries/TurboModule/RCTExport.js +1 -1
  378. package/Libraries/TurboModule/TurboModuleRegistry.js +4 -27
  379. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +2 -2
  380. package/Libraries/TypeSafety/RCTTypeSafety.podspec +3 -3
  381. package/Libraries/Types/CodegenTypes.js +2 -1
  382. package/Libraries/Types/CoreEventTypes.js +1 -3
  383. package/Libraries/{Components/Picker/PickerAndroid.ios.js → Types/RootTagTypes.js} +2 -3
  384. package/Libraries/UTFSequence.js +1 -1
  385. package/Libraries/Utilities/Appearance.js +22 -8
  386. package/Libraries/Utilities/BackHandler.android.js +0 -2
  387. package/Libraries/Utilities/DebugEnvironment.js +1 -3
  388. package/Libraries/Utilities/DevSettings.js +51 -56
  389. package/Libraries/Utilities/DeviceInfo.js +0 -2
  390. package/Libraries/Utilities/Dimensions.js +21 -20
  391. package/Libraries/Utilities/FeatureDetection.js +31 -0
  392. package/Libraries/Utilities/GlobalPerformanceLogger.js +0 -2
  393. package/Libraries/Utilities/HMRClient.js +15 -10
  394. package/Libraries/Utilities/JSDevSupportModule.js +0 -2
  395. package/Libraries/Utilities/LoadingView.android.js +0 -2
  396. package/Libraries/Utilities/LoadingView.ios.js +0 -2
  397. package/Libraries/Utilities/MatrixMath.js +1 -1
  398. package/Libraries/Utilities/NativeAppearance.js +0 -2
  399. package/Libraries/Utilities/NativeDevLoadingView.js +0 -2
  400. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +0 -2
  401. package/Libraries/Utilities/NativeDeviceInfo.js +1 -3
  402. package/Libraries/Utilities/NativeJSDevSupport.js +0 -2
  403. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +0 -2
  404. package/Libraries/Utilities/NativePlatformConstantsIOS.js +0 -2
  405. package/Libraries/Utilities/PerformanceLoggerContext.js +11 -4
  406. package/Libraries/Utilities/Platform.android.js +6 -5
  407. package/Libraries/Utilities/Platform.ios.js +1 -2
  408. package/Libraries/Utilities/ReactNativeTestTools.js +12 -19
  409. package/Libraries/Utilities/codegenNativeCommands.js +1 -3
  410. package/Libraries/Utilities/codegenNativeComponent.js +0 -2
  411. package/Libraries/Utilities/createPerformanceLogger.js +0 -2
  412. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -0
  413. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  414. package/Libraries/Utilities/deprecatedPropType.js +3 -5
  415. package/Libraries/Utilities/stringifySafe.js +1 -3
  416. package/Libraries/Utilities/useColorScheme.js +4 -4
  417. package/Libraries/Utilities/useMergeRefs.js +44 -0
  418. package/Libraries/Utilities/useRefEffect.js +45 -0
  419. package/Libraries/Utilities/useWindowDimensions.js +9 -6
  420. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +22 -28
  421. package/Libraries/Vibration/NativeVibration.js +0 -2
  422. package/Libraries/Vibration/RCTVibrationPlugins.mm +4 -3
  423. package/Libraries/Vibration/React-RCTVibration.podspec +3 -3
  424. package/Libraries/Vibration/Vibration.js +0 -2
  425. package/Libraries/WebSocket/NativeWebSocketModule.js +0 -2
  426. package/Libraries/WebSocket/WebSocket.js +27 -14
  427. package/Libraries/WebSocket/WebSocketInterceptor.js +6 -3
  428. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -0
  429. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +0 -2
  430. package/Libraries/promiseRejectionTrackingOptions.js +2 -2
  431. package/Libraries/vendor/emitter/EventEmitter.js +37 -4
  432. package/Libraries/vendor/emitter/EventSubscription.js +19 -0
  433. package/Libraries/vendor/emitter/_EmitterSubscription.js +16 -15
  434. package/Libraries/vendor/emitter/_EventEmitter.js +51 -41
  435. package/Libraries/vendor/emitter/_EventSubscription.js +11 -7
  436. package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +21 -14
  437. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +125 -0
  438. package/README.md +7 -1
  439. package/React/AccessibilityResources/en.lproj/Localizable.strings +1 -1
  440. package/React/Base/RCTAssert.h +35 -18
  441. package/React/Base/RCTAssert.m +52 -0
  442. package/React/Base/RCTBridge.h +15 -3
  443. package/React/Base/RCTBridge.m +14 -5
  444. package/React/Base/RCTBridgeModule.h +104 -0
  445. package/React/Base/RCTBundleManager.m +78 -0
  446. package/React/Base/RCTBundleURLProvider.h +35 -9
  447. package/React/Base/RCTBundleURLProvider.mm +87 -24
  448. package/React/Base/RCTCallableJSModules.m +47 -0
  449. package/React/Base/RCTConstants.h +9 -10
  450. package/React/Base/RCTConstants.m +18 -18
  451. package/React/Base/RCTConvert.m +31 -7
  452. package/React/Base/RCTCxxConvert.h +1 -1
  453. package/React/Base/RCTDefines.h +10 -0
  454. package/React/Base/RCTEventDispatcherProtocol.h +1 -2
  455. package/React/{Views/RCTPickerManager.h → Base/RCTInitializing.h} +4 -2
  456. package/React/Base/RCTJavaScriptLoader.mm +1 -0
  457. package/React/Base/RCTModuleData.h +20 -3
  458. package/React/Base/RCTModuleData.mm +121 -3
  459. package/React/Base/RCTModuleRegistry.m +48 -0
  460. package/React/Base/RCTMultipartStreamReader.m +0 -2
  461. package/React/Base/RCTRootView.h +10 -1
  462. package/React/Base/RCTRootView.m +15 -37
  463. package/React/Base/RCTTVRemoteHandler.h +5 -2
  464. package/React/Base/RCTTVRemoteHandler.m +173 -70
  465. package/React/Base/RCTTouchHandler.m +12 -1
  466. package/React/Base/RCTUtils.m +6 -2
  467. package/React/Base/RCTVersion.m +2 -2
  468. package/React/Base/RCTViewRegistry.m +45 -0
  469. package/React/Base/Surface/RCTSurfaceStage.h +6 -11
  470. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +1 -0
  471. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +11 -1
  472. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -0
  473. package/React/CoreModules/BUCK +6 -5
  474. package/React/CoreModules/CoreModulesPlugins.mm +4 -3
  475. package/React/CoreModules/RCTAccessibilityManager.mm +17 -10
  476. package/React/CoreModules/RCTActionSheetManager.mm +17 -13
  477. package/React/CoreModules/RCTAlertController.h +2 -1
  478. package/React/CoreModules/RCTAlertController.m +5 -0
  479. package/React/CoreModules/RCTAlertManager.mm +3 -0
  480. package/React/CoreModules/RCTAppearance.mm +3 -1
  481. package/React/CoreModules/RCTAsyncLocalStorage.mm +4 -0
  482. package/React/CoreModules/RCTDevLoadingView.mm +20 -23
  483. package/React/CoreModules/RCTDevMenu.h +0 -5
  484. package/React/CoreModules/RCTDevMenu.mm +43 -71
  485. package/React/CoreModules/RCTDevSettings.h +12 -2
  486. package/React/CoreModules/RCTDevSettings.mm +100 -56
  487. package/React/CoreModules/RCTDevSplitBundleLoader.mm +2 -7
  488. package/React/CoreModules/RCTDeviceInfo.mm +26 -22
  489. package/React/CoreModules/RCTEventDispatcher.h +2 -1
  490. package/React/CoreModules/RCTEventDispatcher.mm +18 -25
  491. package/React/CoreModules/RCTExceptionsManager.mm +7 -23
  492. package/React/CoreModules/RCTKeyboardObserver.mm +1 -1
  493. package/React/CoreModules/RCTLogBox.mm +15 -10
  494. package/React/CoreModules/RCTPerfMonitor.mm +11 -5
  495. package/React/CoreModules/RCTRedBox.mm +5 -8
  496. package/React/CoreModules/RCTSourceCode.mm +2 -1
  497. package/React/CoreModules/RCTTVNavigationEventEmitter.h +7 -0
  498. package/React/CoreModules/RCTTiming.h +2 -1
  499. package/React/CoreModules/RCTTiming.mm +1 -3
  500. package/React/CoreModules/RCTWebSocketExecutor.mm +6 -0
  501. package/React/CoreModules/React-CoreModules.podspec +3 -3
  502. package/React/CxxBridge/RCTCxxBridge.mm +99 -8
  503. package/React/CxxModule/RCTNativeModule.mm +3 -1
  504. package/React/DevSupport/RCTPackagerConnection.mm +12 -5
  505. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +21 -0
  506. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +12 -1
  507. package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +3 -3
  508. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.h +2 -1
  509. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +28 -36
  510. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm +8 -7
  511. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +13 -9
  512. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +1 -3
  513. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +7 -0
  514. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.h +3 -1
  515. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +71 -26
  516. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +0 -1
  517. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +0 -1
  518. package/React/Fabric/Mounting/ComponentViews/SafeAreaView/RCTSafeAreaViewComponentView.mm +34 -19
  519. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.h +6 -0
  520. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +24 -3
  521. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +186 -99
  522. package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.h +23 -0
  523. package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.mm +22 -0
  524. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.mm +14 -9
  525. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +118 -30
  526. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +109 -28
  527. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +48 -2
  528. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +143 -19
  529. package/React/Fabric/Mounting/RCTComponentViewFactory.h +10 -2
  530. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +83 -46
  531. package/React/Fabric/Mounting/RCTComponentViewProtocol.h +3 -0
  532. package/React/Fabric/Mounting/RCTComponentViewRegistry.mm +1 -1
  533. package/React/Fabric/Mounting/RCTMountingManager.h +28 -1
  534. package/React/Fabric/Mounting/RCTMountingManager.mm +71 -3
  535. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +4 -0
  536. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +30 -4
  537. package/React/Fabric/RCTConversions.h +20 -16
  538. package/React/Fabric/RCTScheduler.h +11 -16
  539. package/React/Fabric/RCTScheduler.mm +29 -46
  540. package/React/Fabric/RCTSurfacePresenter.h +8 -16
  541. package/React/Fabric/RCTSurfacePresenter.mm +62 -165
  542. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +4 -2
  543. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +1 -1
  544. package/React/Fabric/RCTSurfaceRegistry.h +1 -1
  545. package/React/Fabric/RCTSurfaceTouchHandler.mm +39 -7
  546. package/React/Fabric/Surface/RCTFabricSurface.h +9 -6
  547. package/React/Fabric/Surface/RCTFabricSurface.mm +139 -127
  548. package/React/Modules/RCTEventEmitter.h +3 -2
  549. package/React/Modules/RCTEventEmitter.m +8 -11
  550. package/React/Modules/RCTI18nUtil.h +14 -6
  551. package/React/Modules/RCTI18nUtil.m +1 -47
  552. package/React/Modules/RCTTVMenuBridge.m +3 -0
  553. package/React/Modules/RCTUIManager.m +19 -9
  554. package/React/Profiler/RCTProfile.m +9 -8
  555. package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
  556. package/React/Profiler/RCTProfileTrampoline-arm64.S +2 -2
  557. package/React/React-RCTFabric.podspec +5 -5
  558. package/React/Tests/Text/RCTParagraphComponentViewTests.mm +72 -0
  559. package/React/Views/RCTBorderDrawing.m +28 -25
  560. package/React/Views/RCTComponentData.h +10 -1
  561. package/React/Views/RCTComponentData.m +23 -8
  562. package/React/Views/RCTConvert+CoreLocation.m +2 -2
  563. package/React/Views/RCTDatePickerManager.m +33 -0
  564. package/React/Views/RCTLayout.m +25 -21
  565. package/React/Views/RCTModalHostView.h +4 -1
  566. package/React/Views/RCTModalHostView.m +58 -31
  567. package/React/Views/RCTModalHostViewManager.m +4 -3
  568. package/React/Views/RCTShadowView+Layout.m +15 -12
  569. package/React/Views/RCTShadowView.m +3 -2
  570. package/React/Views/RCTTVFocusGuideView.m +1 -1
  571. package/React/Views/RCTView.h +7 -7
  572. package/React/Views/RCTView.m +31 -43
  573. package/React/Views/RCTViewManager.m +19 -2
  574. package/React/Views/RCTWeakViewHolder.h +19 -0
  575. package/React/Views/RefreshControl/RCTRefreshControl.m +22 -1
  576. package/React/Views/RefreshControl/RCTRefreshControlManager.m +1 -0
  577. package/React/Views/ScrollView/RCTScrollContentView.m +1 -1
  578. package/React/Views/ScrollView/RCTScrollView.h +1 -7
  579. package/React/Views/ScrollView/RCTScrollView.m +17 -63
  580. package/React/Views/ScrollView/RCTScrollViewManager.m +3 -0
  581. package/React/third-party.xcconfig +1 -1
  582. package/React-Core.podspec +4 -15
  583. package/React.podspec +2 -2
  584. package/ReactAndroid/Android-prebuilt.mk +82 -3
  585. package/ReactAndroid/README.md +2 -2
  586. package/ReactAndroid/build.gradle +145 -34
  587. package/ReactAndroid/gradle.properties +7 -5
  588. package/ReactAndroid/proguard-rules.pro +1 -7
  589. package/ReactAndroid/src/androidTest/buck-runner/BUCK +1 -0
  590. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/BUCK +2 -1
  591. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java +1 -1
  592. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/BUCK +2 -1
  593. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/ReactIdleDetectionUtil.java +1 -1
  594. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/BUCK +1 -0
  595. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/BUCK +6 -5
  596. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +1 -1
  597. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/TextInputTestCase.java +1 -2
  598. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/BUCK +6 -5
  599. package/ReactAndroid/src/androidTest/js/BUCK +26 -0
  600. package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -5
  601. package/ReactAndroid/src/androidTest/js/UIManagerTestModule.js +7 -6
  602. package/ReactAndroid/src/main/java/com/facebook/BUCK +1 -0
  603. package/ReactAndroid/src/main/java/com/facebook/debug/debugoverlay/model/BUCK +1 -0
  604. package/ReactAndroid/src/main/java/com/facebook/debug/holder/BUCK +1 -0
  605. package/ReactAndroid/src/main/java/com/facebook/debug/tags/BUCK +1 -0
  606. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +2 -2
  607. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/BUCK +2 -0
  608. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +4 -4
  609. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/BUCK +2 -0
  610. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutorFactory.java +1 -1
  611. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/RuntimeConfig.java +0 -6
  612. package/ReactAndroid/src/main/java/com/facebook/hermes/unicode/BUCK +1 -0
  613. package/ReactAndroid/src/main/java/com/facebook/perftest/BUCK +1 -0
  614. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/BUCK +3 -2
  615. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/proguard_annotations.pro +1 -0
  616. package/ReactAndroid/src/main/java/com/facebook/react/BUCK +4 -1
  617. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +3 -2
  618. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +8 -0
  619. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +10 -3
  620. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +6 -2
  621. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +145 -67
  622. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +9 -1
  623. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +8 -1
  624. package/ReactAndroid/src/main/java/com/facebook/react/{turbomodule/core/ReactPackageTurboModuleManagerDelegate.java → ReactPackageTurboModuleManagerDelegate.java} +18 -6
  625. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +92 -42
  626. package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +2 -1
  627. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +10 -2
  628. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +66 -33
  629. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.java +4 -0
  630. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BUCK +2 -0
  631. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +3 -2
  632. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +7 -5
  633. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +7 -3
  634. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.java +4 -1
  635. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleRegistry.java +4 -0
  636. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +37 -0
  637. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java +1 -1
  638. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java +8 -1
  639. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +26 -0
  640. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +46 -8
  641. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +2 -3
  642. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +13 -3
  643. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{ReactSoftException.java → ReactSoftExceptionLogger.java} +8 -3
  644. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.java +52 -2
  645. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +8 -7
  646. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +37 -2
  647. package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +3 -0
  648. package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.java +1 -0
  649. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +29 -0
  650. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java +347 -0
  651. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBufferSoLoader.java +33 -0
  652. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/Android.mk +39 -0
  653. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +34 -0
  654. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/OnLoad.cpp +15 -0
  655. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.cpp +76 -0
  656. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.h +51 -0
  657. package/ReactAndroid/src/main/java/com/facebook/react/common/network/BUCK +1 -0
  658. package/ReactAndroid/src/main/java/com/facebook/react/config/BUCK +3 -1
  659. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +50 -38
  660. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +3 -1
  661. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +275 -0
  662. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevLoadingViewController.java +2 -2
  663. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +17 -60
  664. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +176 -344
  665. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +8 -8
  666. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +13 -1
  667. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.java +1 -1
  668. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.java +100 -0
  669. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{ReactInstanceManagerDevHelper.java → ReactInstanceDevHelper.java} +3 -2
  670. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxHandler.java +2 -16
  671. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/BundleLoadCallback.java +12 -0
  672. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +6 -1
  673. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/ErrorType.java +23 -0
  674. package/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK +2 -1
  675. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +10 -1
  676. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +4 -3
  677. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +17 -71
  678. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +466 -616
  679. package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +37 -24
  680. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandler.java +50 -0
  681. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.java +131 -0
  682. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +36 -1
  683. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +27 -7
  684. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +4 -5
  685. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +4 -5
  686. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +300 -615
  687. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +34 -13
  688. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.cpp +3 -6
  689. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +22 -2
  690. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +4 -0
  691. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/OnLoad.cpp +2 -0
  692. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.cpp +15 -28
  693. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.h +3 -1
  694. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/SurfaceHandlerBinding.cpp +122 -0
  695. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/SurfaceHandlerBinding.h +68 -0
  696. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +406 -0
  697. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +271 -658
  698. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +1008 -0
  699. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchIntCommandMountItem.java +9 -2
  700. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.java +9 -2
  701. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +39 -34
  702. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.java +4 -0
  703. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +21 -23
  704. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +11 -4
  705. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +2 -2
  706. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +1 -0
  707. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/BUCK +1 -0
  708. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +3 -3
  709. package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/BUCK +1 -0
  710. package/ReactAndroid/src/main/java/com/facebook/react/module/model/BUCK +1 -0
  711. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.java +21 -4
  712. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +2 -1
  713. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.java +10 -1
  714. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +2 -1
  715. package/ReactAndroid/src/main/java/com/facebook/react/modules/appregistry/BUCK +1 -0
  716. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.java +11 -1
  717. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +2 -1
  718. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +2 -1
  719. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.java +35 -7
  720. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +2 -2
  721. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BUCK +1 -1
  722. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BlobCollector.cpp +1 -0
  723. package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +2 -1
  724. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +2 -1
  725. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +1 -0
  726. package/ReactAndroid/src/main/java/com/facebook/react/modules/common/BUCK +1 -0
  727. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +2 -1
  728. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactAndroidHWInputDeviceHelper.java +138 -0
  729. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +5 -2
  730. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +2 -1
  731. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +19 -13
  732. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/AnimationsDebugModule.java +1 -1
  733. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +3 -1
  734. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +2 -1
  735. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java +19 -8
  736. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +2 -1
  737. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java +12 -4
  738. package/ReactAndroid/src/main/java/com/facebook/react/modules/fabric/BUCK +1 -0
  739. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/BUCK +1 -0
  740. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java +10 -0
  741. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +3 -1
  742. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +12 -12
  743. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +2 -1
  744. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +2 -1
  745. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +2 -1
  746. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +1 -1
  747. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientProvider.java +1 -18
  748. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +2 -1
  749. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +2 -1
  750. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +2 -1
  751. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +2 -1
  752. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageModule.java +1 -1
  753. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +2 -1
  754. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +4 -2
  755. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  756. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +2 -1
  757. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +2 -1
  758. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +2 -1
  759. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/BUCK +1 -0
  760. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +3 -1
  761. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/BUCK +1 -0
  762. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/Android.mk +1 -1
  763. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/BUCK +1 -1
  764. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/BUCK +20 -0
  765. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/RuntimeSchedulerManager.java +39 -0
  766. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/Android.mk +34 -0
  767. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/BUCK +35 -0
  768. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/OnLoad.cpp +15 -0
  769. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.cpp +46 -0
  770. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.h +40 -0
  771. package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +1 -1
  772. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -4
  773. package/ReactAndroid/src/main/java/com/facebook/react/surface/BUCK +1 -0
  774. package/ReactAndroid/src/main/java/com/facebook/react/touch/BUCK +1 -0
  775. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK +2 -1
  776. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +11 -10
  777. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManagerDelegate.java +3 -0
  778. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModulePerfLogger.java +2 -0
  779. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/BUCK +1 -0
  780. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModule.java +4 -4
  781. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/Android.mk +4 -4
  782. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK +3 -2
  783. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp +115 -86
  784. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h +14 -5
  785. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK +6 -1
  786. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +15 -1
  787. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolver.java +17 -0
  788. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolverManager.java +41 -0
  789. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +7 -28
  790. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FabricViewStateManager.java +5 -19
  791. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +27 -0
  792. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +4 -13
  793. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +10 -13
  794. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.java +17 -6
  795. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.java +1 -6
  796. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +16 -10
  797. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingProhibitedView.java +26 -0
  798. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.java +5 -49
  799. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +25 -0
  800. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRoot.java +14 -0
  801. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.java +18 -0
  802. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/StateWrapper.java +24 -4
  803. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java +35 -7
  804. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +101 -68
  805. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +46 -5
  806. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementationProvider.java +35 -13
  807. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +69 -17
  808. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +55 -54
  809. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +1 -2
  810. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +13 -6
  811. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +15 -13
  812. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +2 -2
  813. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerResolver.java +26 -0
  814. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +16 -1
  815. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/BUCK +1 -0
  816. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/BUCK +1 -1
  817. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.java +3 -0
  818. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.java +8 -3
  819. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +134 -6
  820. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.java +3 -0
  821. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +8 -3
  822. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +236 -0
  823. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +10 -0
  824. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +32 -0
  825. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +80 -25
  826. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +66 -5
  827. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +7 -4
  828. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/BUCK +21 -0
  829. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{BaseViewManagerDelegate.java → interfaces/BaseViewManagerDelegate.java} +0 -0
  830. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{BaseViewManagerInterface.java → interfaces/BaseViewManagerInterface.java} +0 -0
  831. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{FloatUtil.java → interfaces/FloatUtil.java} +0 -0
  832. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{Spacing.java → interfaces/Spacing.java} +0 -0
  833. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ViewManagerDelegate.java → interfaces/ViewManagerDelegate.java} +0 -0
  834. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ViewProps.java → interfaces/ViewProps.java} +10 -2
  835. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/Android.mk +37 -0
  836. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +41 -0
  837. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.cpp +77 -0
  838. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.h +54 -0
  839. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/OnLoad.cpp +16 -0
  840. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/BUCK +1 -0
  841. package/ReactAndroid/src/main/java/com/facebook/react/util/BUCK +1 -0
  842. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/BUCK +1 -0
  843. package/ReactAndroid/src/main/java/com/facebook/react/views/common/BUCK +1 -0
  844. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +3 -2
  845. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +17 -8
  846. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.java +9 -10
  847. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.java +9 -10
  848. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.java +7 -13
  849. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.java +7 -13
  850. package/ReactAndroid/src/main/java/com/facebook/react/views/image/BUCK +2 -0
  851. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.java +45 -19
  852. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactCallerContextFactory.java +2 -2
  853. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +12 -7
  854. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +75 -26
  855. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/BUCK +2 -0
  856. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.java +17 -0
  857. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +5 -2
  858. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java +13 -3
  859. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +56 -20
  860. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/RequestCloseEvent.java +12 -4
  861. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ShowEvent.java +12 -4
  862. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +3 -2
  863. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +2 -0
  864. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerView.java +15 -0
  865. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +185 -28
  866. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +9 -4
  867. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +110 -16
  868. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +20 -3
  869. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +10 -5
  870. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +41 -14
  871. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +3 -2
  872. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderEvent.java +0 -5
  873. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +22 -27
  874. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlidingCompleteEvent.java +13 -16
  875. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +3 -2
  876. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.java +12 -4
  877. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.java +14 -11
  878. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +3 -2
  879. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java +13 -0
  880. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.java +9 -13
  881. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java +6 -10
  882. package/ReactAndroid/src/main/java/com/facebook/react/views/text/BUCK +2 -0
  883. package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java +6 -8
  884. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +6 -9
  885. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactClickableSpan.java +2 -1
  886. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +59 -44
  887. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +16 -4
  888. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +11 -0
  889. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +48 -1
  890. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +41 -59
  891. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +213 -141
  892. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +33 -51
  893. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +596 -0
  894. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TypefaceStyle.java +72 -0
  895. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/BUCK +1 -0
  896. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +2 -0
  897. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.java +10 -7
  898. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +34 -20
  899. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +5 -6
  900. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.java +9 -7
  901. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputBlurEvent.java +9 -7
  902. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.java +9 -7
  903. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEvent.java +10 -7
  904. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputFocusEvent.java +14 -12
  905. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.java +15 -14
  906. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +154 -70
  907. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.java +10 -7
  908. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.java +14 -12
  909. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/BUCK +1 -0
  910. package/ReactAndroid/src/main/java/com/facebook/react/views/view/BUCK +1 -0
  911. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.java +1 -5
  912. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +39 -8
  913. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +63 -65
  914. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +3 -1
  915. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ViewGroupClickEvent.java +11 -4
  916. package/ReactAndroid/src/main/java/com/facebook/systrace/BUCK +1 -0
  917. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +13 -7
  918. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +24 -2
  919. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +151 -0
  920. package/ReactAndroid/src/main/jni/first-party/fb/BUCK +4 -0
  921. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/RefPtr.h +1 -1
  922. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/StaticInitialized.h +1 -1
  923. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +2 -7
  924. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJTypesVanilla.h +8 -4
  925. package/ReactAndroid/src/main/jni/react/jni/Android.mk +5 -7
  926. package/ReactAndroid/src/main/jni/react/jni/BUCK +3 -2
  927. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +56 -1
  928. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +4 -0
  929. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.cpp +21 -0
  930. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.h +28 -0
  931. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
  932. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +0 -94
  933. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.h +0 -30
  934. package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h +1 -0
  935. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.cpp +7 -6
  936. package/ReactAndroid/src/main/jni/third-party/boost/Android.mk +7 -2
  937. package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/jump_arm_aapcs_elf_gas.S +86 -0
  938. package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/make_arm_aapcs_elf_gas.S +79 -0
  939. package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/ontop_arm_aapcs_elf_gas.S +91 -0
  940. package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/jump_arm64_aapcs_elf_gas.S +114 -0
  941. package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/make_arm64_aapcs_elf_gas.S +85 -0
  942. package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/ontop_arm64_aapcs_elf_gas.S +113 -0
  943. package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/jump_i386_sysv_elf_gas.S +78 -0
  944. package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/make_i386_sysv_elf_gas.S +106 -0
  945. package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/ontop_i386_sysv_elf_gas.S +85 -0
  946. package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/jump_x86_64_sysv_elf_gas.S +76 -0
  947. package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/make_x86_64_sysv_elf_gas.S +81 -0
  948. package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/ontop_x86_64_sysv_elf_gas.S +79 -0
  949. package/ReactAndroid/src/main/jni/third-party/fmt/Android.mk +15 -0
  950. package/ReactAndroid/src/main/jni/third-party/folly/Android.mk +36 -16
  951. package/ReactAndroid/src/main/jni/third-party/libevent/Android.mk +36 -0
  952. package/ReactAndroid/src/main/jni/third-party/libevent/evconfig-private.h +49 -0
  953. package/{third-party-podspecs/libevent.podspec → ReactAndroid/src/main/jni/third-party/libevent/event-config.h} +141 -366
  954. package/ReactAndroid/src/main/libraries/fbcore/src/main/java/com/facebook/common/logging/BUCK +1 -0
  955. package/ReactAndroid/src/main/libraries/fbjni/BUCK +2 -2
  956. package/ReactAndroid/src/main/libraries/fresco/fresco-react-native/BUCK +93 -14
  957. package/ReactAndroid/src/main/libraries/soloader/java/com/facebook/soloader/BUCK +5 -5
  958. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -1
  959. package/ReactAndroid/src/main/res/views/uimanager/values/strings_unlocalized.xml +4 -8
  960. package/ReactAndroid/src/main/third-party/android/androidx/BUCK +61 -0
  961. package/ReactAndroid/src/main/third-party/java/asm/BUCK +1 -0
  962. package/ReactAndroid/src/main/third-party/java/fest/BUCK +1 -0
  963. package/ReactAndroid/src/main/third-party/java/infer-annotations/BUCK +2 -2
  964. package/ReactAndroid/src/main/third-party/java/junit/BUCK +1 -0
  965. package/ReactAndroid/src/main/third-party/java/mockito/BUCK +1 -0
  966. package/ReactAndroid/src/main/third-party/java/mockito2/BUCK +1 -0
  967. package/ReactAndroid/src/main/third-party/java/okhttp/BUCK +29 -9
  968. package/ReactAndroid/src/main/third-party/java/okio/BUCK +15 -5
  969. package/ReactAndroid/src/main/third-party/java/robolectric/{4.4/BUCK → BUCK} +1 -0
  970. package/ReactAndroid/src/main/third-party/java/sqlite/BUCK +1 -0
  971. package/ReactAndroid/src/main/third-party/java/testing-support-lib/BUCK +0 -31
  972. package/ReactAndroid/src/main/third-party/kotlin/BUCK +91 -0
  973. package/ReactAndroid/src/test/java/com/facebook/common/logging/BUCK +1 -0
  974. package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +8 -3
  975. package/ReactAndroid/src/test/java/com/facebook/react/animated/NativeAnimatedNodeTraversalTest.java +1 -1
  976. package/ReactAndroid/src/test/java/com/facebook/react/bridge/BUCK +2 -1
  977. package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReactTestHelper.java +1 -0
  978. package/ReactAndroid/src/test/java/com/facebook/react/devsupport/JSDebuggerWebSocketClientTest.java +3 -1
  979. package/ReactAndroid/src/test/java/com/facebook/react/modules/BUCK +1 -0
  980. package/ReactAndroid/src/test/java/com/facebook/react/modules/deviceinfo/DeviceInfoModuleTest.java +168 -0
  981. package/ReactAndroid/src/test/java/com/facebook/react/modules/dialog/DialogModuleTest.java +1 -1
  982. package/ReactAndroid/src/test/java/com/facebook/react/modules/network/NetworkingModuleTest.java +10 -10
  983. package/ReactAndroid/src/test/java/com/facebook/react/modules/timing/TimingModuleTest.java +1 -1
  984. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/BaseViewManagerTest.java +32 -0
  985. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/SimpleViewPropertyTest.java +8 -2
  986. package/ReactAndroid/src/test/java/com/facebook/react/views/image/ReactImagePropertyTest.java +8 -0
  987. package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/ReactTextInputPropertyTest.java +4 -0
  988. package/ReactAndroid/src/test/java/org/mockito/configuration/BUCK +1 -0
  989. package/ReactCommon/React-Fabric.podspec +50 -15
  990. package/ReactCommon/ReactCommon.podspec +9 -4
  991. package/ReactCommon/better/Android.mk +1 -1
  992. package/ReactCommon/better/BUCK +2 -2
  993. package/ReactCommon/callinvoker/Android.mk +1 -1
  994. package/ReactCommon/callinvoker/BUCK +1 -1
  995. package/ReactCommon/callinvoker/React-callinvoker.podspec +3 -3
  996. package/ReactCommon/cxxreact/Android.mk +2 -1
  997. package/ReactCommon/cxxreact/BUCK +2 -4
  998. package/ReactCommon/cxxreact/CxxNativeModule.cpp +28 -0
  999. package/ReactCommon/cxxreact/CxxNativeModule.h +9 -0
  1000. package/ReactCommon/cxxreact/Instance.cpp +33 -1
  1001. package/ReactCommon/cxxreact/Instance.h +1 -0
  1002. package/ReactCommon/cxxreact/JSBundleType.cpp +5 -0
  1003. package/ReactCommon/cxxreact/JSBundleType.h +1 -0
  1004. package/ReactCommon/cxxreact/JsArgumentHelpers-inl.h +3 -3
  1005. package/ReactCommon/cxxreact/JsArgumentHelpers.h +2 -2
  1006. package/ReactCommon/cxxreact/MethodCall.cpp +2 -2
  1007. package/ReactCommon/cxxreact/ModuleRegistry.cpp +5 -0
  1008. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +0 -21
  1009. package/ReactCommon/cxxreact/NativeToJsBridge.h +0 -6
  1010. package/ReactCommon/cxxreact/React-cxxreact.podspec +6 -5
  1011. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  1012. package/ReactCommon/cxxreact/SystraceSection.h +2 -2
  1013. package/ReactCommon/hermes/React-hermes.podspec +53 -0
  1014. package/ReactCommon/hermes/executor/Android.mk +4 -4
  1015. package/ReactCommon/hermes/inspector/Android.mk +1 -2
  1016. package/ReactCommon/hermes/inspector/BUCK +8 -5
  1017. package/ReactCommon/hermes/inspector/Inspector.cpp +2 -3
  1018. package/ReactCommon/hermes/inspector/Inspector.h +6 -5
  1019. package/ReactCommon/hermes/inspector/InspectorState.cpp +8 -6
  1020. package/ReactCommon/hermes/inspector/chrome/Connection.cpp +115 -0
  1021. package/ReactCommon/hermes/inspector/chrome/MessageTypes.cpp +215 -1
  1022. package/ReactCommon/hermes/inspector/chrome/MessageTypes.h +115 -1
  1023. package/ReactCommon/hermes/inspector/chrome/cli/main.cpp +6 -5
  1024. package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +144 -0
  1025. package/ReactCommon/hermes/inspector/tools/message_types.txt +4 -0
  1026. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/CommandTest.js +1 -3
  1027. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/EventTest.js +1 -3
  1028. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/GraphTest.js +1 -3
  1029. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/HeaderWriterTest.js +1 -3
  1030. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/ImplementationWriterTest.js +1 -3
  1031. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/PropertyTest.js +1 -3
  1032. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/TypeTest.js +1 -3
  1033. package/ReactCommon/hermes/inspector/tools/msggen/package.json +1 -1
  1034. package/ReactCommon/hermes/inspector/tools/msggen/src/Command.js +0 -2
  1035. package/ReactCommon/hermes/inspector/tools/msggen/src/Converters.js +0 -2
  1036. package/ReactCommon/hermes/inspector/tools/msggen/src/Event.js +0 -2
  1037. package/ReactCommon/hermes/inspector/tools/msggen/src/Graph.js +0 -2
  1038. package/ReactCommon/hermes/inspector/tools/msggen/src/HeaderWriter.js +0 -2
  1039. package/ReactCommon/hermes/inspector/tools/msggen/src/ImplementationWriter.js +0 -2
  1040. package/ReactCommon/hermes/inspector/tools/msggen/src/Property.js +1 -2
  1041. package/ReactCommon/hermes/inspector/tools/msggen/src/TestHelpers.js +1 -3
  1042. package/ReactCommon/hermes/inspector/tools/msggen/src/Type.js +0 -2
  1043. package/ReactCommon/hermes/inspector/tools/msggen/src/index.js +1 -3
  1044. package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +2218 -1389
  1045. package/ReactCommon/jsi/Android.mk +4 -4
  1046. package/ReactCommon/jsi/BUCK +1 -5
  1047. package/ReactCommon/jsi/JSCRuntime.cpp +7 -0
  1048. package/ReactCommon/jsi/React-jsi.podspec +5 -5
  1049. package/ReactCommon/jsi/jsi/CMakeLists.txt +1 -1
  1050. package/ReactCommon/jsi/jsi/decorator.h +15 -0
  1051. package/ReactCommon/jsi/jsi/instrumentation.h +13 -0
  1052. package/ReactCommon/jsi/jsi/jsi.cpp +3 -0
  1053. package/ReactCommon/jsi/jsi/jsi.h +32 -3
  1054. package/ReactCommon/jsi/jsi/jsilib-posix.cpp +1 -11
  1055. package/ReactCommon/jsi/jsi/test/testlib.cpp +1 -0
  1056. package/ReactCommon/jsiexecutor/Android.mk +2 -2
  1057. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +4 -4
  1058. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +36 -3
  1059. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +2 -0
  1060. package/ReactCommon/jsinspector/BUCK +2 -0
  1061. package/ReactCommon/jsinspector/React-jsinspector.podspec +2 -2
  1062. package/ReactCommon/libraries/fbcore/src/test/java/com/facebook/powermock/BUCK +2 -0
  1063. package/ReactCommon/logger/Android.mk +23 -0
  1064. package/ReactCommon/logger/BUCK +43 -0
  1065. package/ReactCommon/logger/React-logger.podspec +40 -0
  1066. package/ReactCommon/logger/react_native_log.cpp +52 -0
  1067. package/ReactCommon/logger/react_native_log.h +33 -0
  1068. package/ReactCommon/react/config/Android.mk +1 -1
  1069. package/ReactCommon/react/config/BUCK +1 -1
  1070. package/ReactCommon/react/debug/Android.mk +31 -0
  1071. package/ReactCommon/react/debug/BUCK +69 -0
  1072. package/ReactCommon/react/debug/flags.h +19 -0
  1073. package/ReactCommon/react/debug/react_native_assert.cpp +45 -0
  1074. package/ReactCommon/react/debug/react_native_assert.h +64 -0
  1075. package/ReactCommon/react/nativemodule/core/Android.mk +3 -3
  1076. package/ReactCommon/react/nativemodule/core/BUCK +4 -3
  1077. package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.cpp +1 -0
  1078. package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.h +3 -2
  1079. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +1 -1
  1080. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +2 -2
  1081. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +49 -8
  1082. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +11 -3
  1083. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +55 -1
  1084. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +119 -109
  1085. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +12 -8
  1086. package/ReactCommon/react/nativemodule/core/platform/ios/RCTBlockGuard.h +24 -0
  1087. package/ReactCommon/react/nativemodule/core/platform/ios/RCTBlockGuard.mm +28 -0
  1088. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.h +7 -15
  1089. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +97 -48
  1090. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.h +0 -6
  1091. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +147 -70
  1092. package/ReactCommon/react/nativemodule/samples/BUCK +6 -6
  1093. package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +2 -2
  1094. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +3 -0
  1095. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +10 -0
  1096. package/ReactCommon/react/nativemodule/samples/platform/ios/RCTNativeSampleTurboModuleSpec.h +1 -0
  1097. package/ReactCommon/react/nativemodule/samples/platform/ios/RCTNativeSampleTurboModuleSpec.mm +11 -0
  1098. package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboCxxModule.mm +12 -0
  1099. package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboModule.mm +5 -3
  1100. package/ReactCommon/react/nativemodule/samples/platform/ios/SampleTurboCxxModuleLegacyImpl.cpp +11 -0
  1101. package/ReactCommon/react/nativemodule/samples/platform/ios/SampleTurboCxxModuleLegacyImpl.h +1 -0
  1102. package/ReactCommon/react/renderer/animations/Android.mk +3 -2
  1103. package/ReactCommon/react/renderer/animations/BUCK +5 -3
  1104. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +19 -130
  1105. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +1 -4
  1106. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +675 -391
  1107. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +75 -58
  1108. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +544 -0
  1109. package/ReactCommon/react/renderer/attributedstring/Android.mk +4 -2
  1110. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.cpp +28 -6
  1111. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +2 -2
  1112. package/ReactCommon/react/renderer/attributedstring/BUCK +9 -4
  1113. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +7 -2
  1114. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -0
  1115. package/ReactCommon/react/renderer/attributedstring/conversions.h +666 -308
  1116. package/ReactCommon/react/renderer/attributedstring/primitives.h +16 -0
  1117. package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringBoxTest.cpp +105 -0
  1118. package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringTest.cpp +17 -20
  1119. package/ReactCommon/react/renderer/attributedstring/tests/ParagraphAttributesTest.cpp +7 -12
  1120. package/ReactCommon/react/renderer/attributedstring/tests/TextAttributesTest.cpp +13 -15
  1121. package/ReactCommon/react/renderer/componentregistry/Android.mk +3 -2
  1122. package/ReactCommon/react/renderer/componentregistry/BUCK +5 -4
  1123. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProvider.h +5 -4
  1124. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +2 -2
  1125. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +1 -0
  1126. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +20 -70
  1127. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +4 -1
  1128. package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +73 -0
  1129. package/ReactCommon/react/renderer/{components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.cpp → componentregistry/componentNameByReactViewName.h} +7 -2
  1130. package/ReactCommon/react/renderer/componentregistry/native/Android.mk +29 -0
  1131. package/ReactCommon/react/renderer/componentregistry/native/BUCK +58 -0
  1132. package/ReactCommon/react/renderer/componentregistry/native/NativeComponentRegistryBinding.cpp +68 -0
  1133. package/ReactCommon/react/renderer/componentregistry/native/NativeComponentRegistryBinding.h +61 -0
  1134. package/ReactCommon/react/renderer/components/image/Android.mk +5 -3
  1135. package/ReactCommon/react/renderer/components/image/BUCK +7 -3
  1136. package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +3 -2
  1137. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +28 -9
  1138. package/ReactCommon/react/renderer/components/image/ImageProps.h +5 -1
  1139. package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +5 -5
  1140. package/ReactCommon/react/renderer/components/image/ImageState.h +9 -1
  1141. package/ReactCommon/react/renderer/components/image/conversions.h +29 -18
  1142. package/ReactCommon/react/renderer/components/inputaccessory/BUCK +4 -3
  1143. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryComponentDescriptor.h +5 -3
  1144. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +3 -3
  1145. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h +1 -1
  1146. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +17 -4
  1147. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +6 -1
  1148. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +2 -0
  1149. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +1 -1
  1150. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +74 -15
  1151. package/ReactCommon/react/renderer/components/modal/Android.mk +4 -3
  1152. package/ReactCommon/react/renderer/components/modal/BUCK +6 -2
  1153. package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +5 -3
  1154. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +9 -2
  1155. package/ReactCommon/react/renderer/components/progressbar/Android.mk +3 -3
  1156. package/ReactCommon/react/renderer/components/progressbar/BUCK +4 -3
  1157. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarComponentDescriptor.h +4 -2
  1158. package/{ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni → ReactCommon}/react/renderer/components/rncore/ComponentDescriptors.h +1 -0
  1159. package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.h.bak +32 -0
  1160. package/{ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni → ReactCommon}/react/renderer/components/rncore/EventEmitters.cpp +1 -0
  1161. package/ReactCommon/react/renderer/components/rncore/EventEmitters.cpp.bak +149 -0
  1162. package/{ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni → ReactCommon}/react/renderer/components/rncore/EventEmitters.h +8 -0
  1163. package/ReactCommon/react/renderer/components/rncore/EventEmitters.h.bak +237 -0
  1164. package/ReactCommon/react/renderer/components/rncore/Props.cpp +218 -0
  1165. package/ReactCommon/react/renderer/components/rncore/Props.cpp.bak +218 -0
  1166. package/{ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni → ReactCommon}/react/renderer/components/rncore/Props.h +74 -27
  1167. package/ReactCommon/react/renderer/components/rncore/Props.h.bak +576 -0
  1168. package/ReactCommon/react/renderer/components/rncore/RCTComponentViewHelpers.h +273 -0
  1169. package/ReactCommon/react/renderer/components/rncore/RCTComponentViewHelpers.h.bak +273 -0
  1170. package/{ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni → ReactCommon}/react/renderer/components/rncore/ShadowNodes.cpp +1 -0
  1171. package/ReactCommon/react/renderer/components/rncore/ShadowNodes.cpp.bak +29 -0
  1172. package/{ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni → ReactCommon}/react/renderer/components/rncore/ShadowNodes.h +9 -0
  1173. package/ReactCommon/react/renderer/components/rncore/ShadowNodes.h.bak +126 -0
  1174. package/ReactCommon/react/renderer/components/root/Android.mk +4 -3
  1175. package/ReactCommon/react/renderer/components/root/BUCK +4 -3
  1176. package/ReactCommon/react/renderer/components/root/RootProps.cpp +12 -2
  1177. package/ReactCommon/react/renderer/components/root/RootProps.h +6 -1
  1178. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +7 -1
  1179. package/ReactCommon/react/renderer/components/root/RootShadowNode.h +2 -0
  1180. package/ReactCommon/react/renderer/components/root/tests/RootShadowNodeTest.cpp +35 -3
  1181. package/ReactCommon/react/renderer/components/safeareaview/BUCK +4 -3
  1182. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewComponentDescriptor.h +5 -3
  1183. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.h +7 -0
  1184. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.h +1 -3
  1185. package/ReactCommon/react/renderer/components/scrollview/Android.mk +5 -3
  1186. package/ReactCommon/react/renderer/components/scrollview/BUCK +6 -3
  1187. package/ReactCommon/react/renderer/components/scrollview/RCTComponentViewHelpers.h +38 -0
  1188. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +59 -6
  1189. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +10 -5
  1190. package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp +23 -2
  1191. package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.h +1 -0
  1192. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.cpp +1 -1
  1193. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +15 -4
  1194. package/ReactCommon/react/renderer/components/scrollview/conversions.h +5 -0
  1195. package/ReactCommon/react/renderer/components/slider/Android.mk +4 -3
  1196. package/ReactCommon/react/renderer/components/slider/BUCK +5 -3
  1197. package/ReactCommon/react/renderer/components/slider/SliderComponentDescriptor.h +4 -2
  1198. package/ReactCommon/react/renderer/components/slider/SliderShadowNode.h +9 -8
  1199. package/ReactCommon/react/renderer/components/slider/SliderState.h +8 -0
  1200. package/ReactCommon/react/renderer/components/slider/platform/ios/SliderMeasurementsManager.cpp +3 -1
  1201. package/ReactCommon/react/renderer/components/switch/Android.mk +3 -3
  1202. package/ReactCommon/react/renderer/components/switch/BUCK +3 -3
  1203. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchComponentDescriptor.h +4 -2
  1204. package/ReactCommon/react/renderer/components/text/Android.mk +5 -3
  1205. package/ReactCommon/react/renderer/components/text/BUCK +10 -4
  1206. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +32 -0
  1207. package/ReactCommon/react/renderer/components/text/BaseTextProps.h +5 -1
  1208. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +2 -3
  1209. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +6 -9
  1210. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +15 -6
  1211. package/ReactCommon/react/renderer/components/text/ParagraphProps.h +5 -1
  1212. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +13 -19
  1213. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +7 -6
  1214. package/ReactCommon/react/renderer/components/text/ParagraphState.cpp +4 -0
  1215. package/ReactCommon/react/renderer/components/text/ParagraphState.h +8 -3
  1216. package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +3 -2
  1217. package/ReactCommon/react/renderer/components/text/RawTextProps.h +5 -1
  1218. package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +36 -2
  1219. package/ReactCommon/react/renderer/components/text/TextProps.cpp +6 -3
  1220. package/ReactCommon/react/renderer/components/text/TextProps.h +5 -1
  1221. package/ReactCommon/react/renderer/components/text/TextShadowNode.h +23 -0
  1222. package/ReactCommon/react/renderer/components/text/conversions.h +22 -0
  1223. package/ReactCommon/react/renderer/components/text/tests/ParagraphLocalDataTest.cpp +8 -5
  1224. package/ReactCommon/react/renderer/components/textinput/Android.mk +5 -3
  1225. package/ReactCommon/react/renderer/components/textinput/BUCK +8 -4
  1226. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +8 -5
  1227. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +58 -91
  1228. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +10 -6
  1229. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +13 -18
  1230. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +5 -5
  1231. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.cpp +0 -3
  1232. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.h +5 -8
  1233. package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +5 -4
  1234. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputComponentDescriptor.h +4 -4
  1235. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +46 -22
  1236. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +6 -5
  1237. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputShadowNode.cpp +3 -2
  1238. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputShadowNode.h +7 -6
  1239. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputState.h +2 -0
  1240. package/ReactCommon/react/renderer/components/textinput/iostextinput/conversions.h +19 -7
  1241. package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +6 -0
  1242. package/ReactCommon/react/renderer/components/textinput/iostextinput/propsConversions.h +63 -2
  1243. package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +4 -3
  1244. package/ReactCommon/react/renderer/components/unimplementedview/BUCK +4 -3
  1245. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +8 -3
  1246. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h +5 -2
  1247. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +1 -0
  1248. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +28 -0
  1249. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +24 -1
  1250. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +4 -1
  1251. package/ReactCommon/react/renderer/components/view/Android.mk +5 -3
  1252. package/ReactCommon/react/renderer/components/view/BUCK +5 -3
  1253. package/ReactCommon/react/renderer/components/view/Touch.h +32 -1
  1254. package/ReactCommon/react/renderer/components/view/TouchEvent.h +0 -2
  1255. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +31 -9
  1256. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +2 -1
  1257. package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +10 -1
  1258. package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +62 -20
  1259. package/ReactCommon/react/renderer/components/view/ViewEventEmitter.h +28 -4
  1260. package/ReactCommon/react/renderer/components/view/ViewProps.cpp +62 -14
  1261. package/ReactCommon/react/renderer/components/view/ViewProps.h +7 -1
  1262. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +5 -7
  1263. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +4 -17
  1264. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +177 -87
  1265. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +4 -9
  1266. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
  1267. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +2 -0
  1268. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +95 -24
  1269. package/ReactCommon/react/renderer/components/view/conversions.h +96 -50
  1270. package/ReactCommon/react/renderer/components/view/primitives.h +5 -4
  1271. package/ReactCommon/react/renderer/components/view/propsConversions.h +163 -28
  1272. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +15 -5
  1273. package/ReactCommon/react/renderer/core/Android.mk +4 -2
  1274. package/ReactCommon/react/renderer/core/BUCK +7 -4
  1275. package/ReactCommon/react/renderer/core/BatchedEventQueue.cpp +5 -21
  1276. package/ReactCommon/react/renderer/core/BatchedEventQueue.h +4 -8
  1277. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +6 -3
  1278. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +23 -22
  1279. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +10 -7
  1280. package/ReactCommon/react/renderer/core/ConcreteState.h +16 -49
  1281. package/ReactCommon/react/renderer/core/Constants.cpp +24 -0
  1282. package/ReactCommon/react/renderer/{components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerComponentDescriptor.h → core/Constants.h} +8 -6
  1283. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.cpp +35 -0
  1284. package/ReactCommon/react/renderer/{components/picker/iospicker/PickerState.h → core/DynamicPropsUtilities.h} +5 -4
  1285. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +9 -15
  1286. package/ReactCommon/react/renderer/core/EventDispatcher.h +5 -10
  1287. package/ReactCommon/react/renderer/core/EventEmitter.cpp +22 -12
  1288. package/ReactCommon/react/renderer/core/EventEmitter.h +7 -2
  1289. package/ReactCommon/react/renderer/core/EventPipe.h +2 -0
  1290. package/ReactCommon/react/renderer/core/EventPriority.h +1 -1
  1291. package/ReactCommon/react/renderer/core/EventQueue.cpp +39 -40
  1292. package/ReactCommon/react/renderer/core/EventQueue.h +15 -9
  1293. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +82 -0
  1294. package/ReactCommon/react/renderer/core/EventQueueProcessor.h +36 -0
  1295. package/ReactCommon/react/renderer/core/EventTarget.cpp +4 -2
  1296. package/ReactCommon/react/renderer/core/LayoutConstraints.h +9 -2
  1297. package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +65 -0
  1298. package/ReactCommon/react/renderer/core/LayoutMetrics.h +38 -4
  1299. package/ReactCommon/react/renderer/core/LayoutPrimitives.h +14 -6
  1300. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +1 -8
  1301. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +2 -22
  1302. package/ReactCommon/react/renderer/core/Props.cpp +10 -2
  1303. package/ReactCommon/react/renderer/core/Props.h +5 -1
  1304. package/ReactCommon/react/renderer/core/PropsParserContext.h +28 -0
  1305. package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
  1306. package/ReactCommon/react/renderer/core/RawEvent.h +40 -3
  1307. package/ReactCommon/react/renderer/core/RawProps.cpp +5 -3
  1308. package/ReactCommon/react/renderer/core/RawProps.h +3 -1
  1309. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +10 -7
  1310. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +8 -6
  1311. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +10 -7
  1312. package/ReactCommon/react/renderer/core/RawPropsParser.h +13 -4
  1313. package/ReactCommon/react/renderer/core/RawValue.h +9 -7
  1314. package/ReactCommon/react/renderer/core/ReactEventPriority.h +43 -0
  1315. package/ReactCommon/react/renderer/core/ReactPrimitives.h +34 -0
  1316. package/ReactCommon/react/renderer/core/Sealable.cpp +4 -3
  1317. package/ReactCommon/react/renderer/core/Sealable.h +5 -1
  1318. package/ReactCommon/react/renderer/core/ShadowNode.cpp +45 -13
  1319. package/ReactCommon/react/renderer/core/ShadowNode.h +14 -4
  1320. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +2 -1
  1321. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +1 -1
  1322. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +31 -6
  1323. package/ReactCommon/react/renderer/core/State.h +4 -3
  1324. package/ReactCommon/react/renderer/core/StateData.h +3 -0
  1325. package/ReactCommon/react/renderer/core/StateUpdate.h +0 -2
  1326. package/ReactCommon/react/renderer/core/UnbatchedEventQueue.cpp +0 -2
  1327. package/ReactCommon/react/renderer/core/conversions.h +11 -0
  1328. package/ReactCommon/react/renderer/core/propsConversions.h +19 -9
  1329. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +16 -4
  1330. package/ReactCommon/react/renderer/core/tests/ConcreteShadowNodeTest.cpp +1 -1
  1331. package/ReactCommon/react/renderer/core/tests/DynamicPropsUtilitiesTest.cpp +66 -0
  1332. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +134 -0
  1333. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +21 -12
  1334. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +99 -30
  1335. package/ReactCommon/react/renderer/core/tests/TestComponent.h +11 -7
  1336. package/ReactCommon/react/renderer/core/tests/traitCastTest.cpp +31 -0
  1337. package/ReactCommon/react/renderer/debug/Android.mk +1 -1
  1338. package/ReactCommon/react/renderer/debug/BUCK +4 -6
  1339. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +11 -25
  1340. package/ReactCommon/react/renderer/debug/SystraceSection.h +2 -2
  1341. package/ReactCommon/react/renderer/debug/flags.h +50 -0
  1342. package/ReactCommon/react/renderer/element/BUCK +3 -3
  1343. package/ReactCommon/react/renderer/element/ComponentBuilder.cpp +4 -3
  1344. package/ReactCommon/react/renderer/graphics/Android.mk +6 -2
  1345. package/ReactCommon/react/renderer/graphics/BUCK +16 -4
  1346. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +5 -4
  1347. package/ReactCommon/react/renderer/graphics/Rect.h +4 -3
  1348. package/ReactCommon/react/renderer/graphics/RectangleCorners.h +2 -2
  1349. package/ReactCommon/react/renderer/graphics/RectangleEdges.h +16 -13
  1350. package/ReactCommon/react/renderer/graphics/Transform.cpp +4 -3
  1351. package/ReactCommon/react/renderer/graphics/conversions.h +102 -44
  1352. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +67 -0
  1353. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.cpp +19 -10
  1354. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +2 -0
  1355. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/PlatformColorParser.h +29 -0
  1356. package/ReactCommon/react/renderer/graphics/platform/ios/Color.cpp +19 -10
  1357. package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +44 -1
  1358. package/ReactCommon/react/renderer/graphics/platform/ios/PlatformColorParser.h +34 -0
  1359. package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.h +12 -0
  1360. package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.mm +206 -0
  1361. package/ReactCommon/react/renderer/graphics/rounding.h +9 -6
  1362. package/ReactCommon/react/renderer/graphics/tests/TransformTest.cpp +1 -0
  1363. package/ReactCommon/react/renderer/imagemanager/Android.mk +3 -2
  1364. package/ReactCommon/react/renderer/imagemanager/BUCK +5 -4
  1365. package/ReactCommon/react/renderer/imagemanager/ImageRequest.h +1 -3
  1366. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +5 -4
  1367. package/ReactCommon/react/renderer/imagemanager/ImageTelemetry.cpp +0 -6
  1368. package/ReactCommon/react/renderer/imagemanager/ImageTelemetry.h +5 -10
  1369. package/ReactCommon/react/renderer/imagemanager/platform/ios/ImageRequest.cpp +6 -1
  1370. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImageManager.mm +0 -1
  1371. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImagePrimitivesConversions.h +8 -6
  1372. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.mm +1 -1
  1373. package/ReactCommon/react/renderer/leakchecker/Android.mk +29 -0
  1374. package/ReactCommon/react/renderer/{components/picker/iospicker → leakchecker}/BUCK +8 -12
  1375. package/ReactCommon/react/renderer/leakchecker/LeakChecker.cpp +60 -0
  1376. package/ReactCommon/react/renderer/leakchecker/LeakChecker.h +39 -0
  1377. package/ReactCommon/react/renderer/leakchecker/WeakFamilyRegistry.cpp +37 -0
  1378. package/ReactCommon/react/renderer/leakchecker/WeakFamilyRegistry.h +39 -0
  1379. package/ReactCommon/react/renderer/mapbuffer/Android.mk +9 -6
  1380. package/ReactCommon/react/renderer/mapbuffer/BUCK +16 -6
  1381. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +133 -2
  1382. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +41 -3
  1383. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +226 -0
  1384. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +94 -0
  1385. package/ReactCommon/react/renderer/mapbuffer/primitives.h +91 -0
  1386. package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +144 -2
  1387. package/ReactCommon/react/renderer/mounting/Android.mk +4 -2
  1388. package/ReactCommon/react/renderer/mounting/BUCK +6 -3
  1389. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +809 -998
  1390. package/ReactCommon/react/renderer/mounting/Differentiator.h +38 -12
  1391. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +17 -15
  1392. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +7 -11
  1393. package/ReactCommon/react/renderer/mounting/MountingTransaction.h +2 -2
  1394. package/ReactCommon/react/renderer/mounting/MountingTransactionMetadata.h +1 -1
  1395. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +70 -27
  1396. package/ReactCommon/react/renderer/mounting/ShadowTree.h +38 -15
  1397. package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +11 -0
  1398. package/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.cpp +3 -1
  1399. package/ReactCommon/react/renderer/mounting/ShadowTreeRevision.h +1 -1
  1400. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +19 -1
  1401. package/ReactCommon/react/renderer/mounting/ShadowView.h +46 -2
  1402. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +19 -5
  1403. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +10 -4
  1404. package/ReactCommon/react/renderer/mounting/StubView.cpp +38 -4
  1405. package/ReactCommon/react/renderer/mounting/StubView.h +6 -0
  1406. package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +219 -91
  1407. package/ReactCommon/react/renderer/mounting/StubViewTree.h +15 -3
  1408. package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +1 -1
  1409. package/ReactCommon/react/renderer/mounting/TelemetryController.h +1 -1
  1410. package/ReactCommon/react/renderer/mounting/stubs.cpp +49 -11
  1411. package/ReactCommon/react/renderer/mounting/stubs.h +13 -1
  1412. package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +99 -96
  1413. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +242 -40
  1414. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +787 -0
  1415. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +34 -23
  1416. package/ReactCommon/react/renderer/runtimescheduler/Android.mk +27 -0
  1417. package/ReactCommon/react/renderer/runtimescheduler/BUCK +77 -0
  1418. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +116 -0
  1419. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +103 -0
  1420. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +170 -0
  1421. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +42 -0
  1422. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +22 -0
  1423. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +64 -0
  1424. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +35 -0
  1425. package/ReactCommon/react/renderer/runtimescheduler/Task.h +46 -0
  1426. package/ReactCommon/react/renderer/runtimescheduler/primitives.h +39 -0
  1427. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +472 -0
  1428. package/ReactCommon/react/renderer/runtimescheduler/tests/SchedulerPriorityTest.cpp +46 -0
  1429. package/ReactCommon/react/renderer/runtimescheduler/tests/StubClock.h +41 -0
  1430. package/ReactCommon/react/renderer/runtimescheduler/tests/StubQueue.h +38 -0
  1431. package/ReactCommon/react/renderer/scheduler/Android.mk +4 -2
  1432. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +16 -13
  1433. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.h +4 -4
  1434. package/ReactCommon/react/renderer/scheduler/BUCK +5 -3
  1435. package/ReactCommon/react/renderer/{components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.cpp → scheduler/InspectorData.h} +10 -3
  1436. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +108 -148
  1437. package/ReactCommon/react/renderer/scheduler/Scheduler.h +37 -39
  1438. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +16 -10
  1439. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +10 -0
  1440. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +317 -0
  1441. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +209 -0
  1442. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +104 -0
  1443. package/ReactCommon/react/renderer/scheduler/SurfaceManager.h +67 -0
  1444. package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.cpp +14 -5
  1445. package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.h +4 -1
  1446. package/ReactCommon/react/renderer/telemetry/Android.mk +31 -0
  1447. package/ReactCommon/react/renderer/telemetry/BUCK +84 -0
  1448. package/ReactCommon/react/renderer/{mounting → telemetry}/SurfaceTelemetry.cpp +5 -0
  1449. package/ReactCommon/react/renderer/{mounting → telemetry}/SurfaceTelemetry.h +3 -1
  1450. package/ReactCommon/react/renderer/telemetry/TransactionTelemetry.cpp +163 -0
  1451. package/ReactCommon/react/renderer/{mounting → telemetry}/TransactionTelemetry.h +11 -0
  1452. package/ReactCommon/react/renderer/telemetry/tests/TransactionTelemetryTest.cpp +176 -0
  1453. package/ReactCommon/react/renderer/templateprocessor/Android.mk +1 -1
  1454. package/ReactCommon/react/renderer/templateprocessor/BUCK +3 -3
  1455. package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.cpp +5 -5
  1456. package/ReactCommon/react/renderer/templateprocessor/tests/UITemplateProcessorTest.cpp +5 -5
  1457. package/ReactCommon/react/renderer/textlayoutmanager/Android.mk +5 -2
  1458. package/ReactCommon/react/renderer/textlayoutmanager/BUCK +5 -3
  1459. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.cpp +12 -9
  1460. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +145 -83
  1461. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -1
  1462. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +16 -2
  1463. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +10 -7
  1464. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +16 -11
  1465. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTTextLayoutManager.mm +14 -11
  1466. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/TextLayoutManager.mm +25 -3
  1467. package/ReactCommon/react/renderer/{components/picker → timeline}/BUCK +20 -34
  1468. package/ReactCommon/react/renderer/timeline/Timeline.cpp +120 -0
  1469. package/ReactCommon/react/renderer/timeline/Timeline.h +63 -0
  1470. package/ReactCommon/react/renderer/timeline/TimelineController.cpp +77 -0
  1471. package/ReactCommon/react/renderer/timeline/TimelineController.h +80 -0
  1472. package/ReactCommon/react/renderer/timeline/TimelineFrame.cpp +25 -0
  1473. package/ReactCommon/react/renderer/timeline/TimelineFrame.h +46 -0
  1474. package/ReactCommon/react/renderer/timeline/TimelineHandler.cpp +97 -0
  1475. package/ReactCommon/react/renderer/timeline/TimelineHandler.h +80 -0
  1476. package/ReactCommon/react/renderer/timeline/TimelineSnapshot.cpp +30 -0
  1477. package/ReactCommon/react/renderer/timeline/TimelineSnapshot.h +36 -0
  1478. package/ReactCommon/react/renderer/uimanager/Android.mk +4 -2
  1479. package/ReactCommon/react/renderer/uimanager/BUCK +5 -3
  1480. package/ReactCommon/react/renderer/uimanager/LayoutAnimationStatusDelegate.h +2 -4
  1481. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +172 -81
  1482. package/ReactCommon/react/renderer/uimanager/UIManager.h +63 -29
  1483. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +2 -4
  1484. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +298 -135
  1485. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +35 -6
  1486. package/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h +43 -0
  1487. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +23 -13
  1488. package/ReactCommon/react/renderer/uimanager/primitives.h +57 -9
  1489. package/ReactCommon/react/test_utils/BUCK +54 -0
  1490. package/ReactCommon/react/{renderer/mounting/tests → test_utils}/Entropy.h +4 -0
  1491. package/ReactCommon/react/test_utils/MockClock.h +29 -0
  1492. package/ReactCommon/react/{renderer/mounting/tests → test_utils}/shadowTreeGeneration.h +64 -7
  1493. package/ReactCommon/react/utils/Android.mk +8 -3
  1494. package/ReactCommon/react/utils/BUCK +9 -2
  1495. package/ReactCommon/react/utils/CalledOnceMovableOnlyFunction.h +6 -4
  1496. package/ReactCommon/react/utils/ContextContainer.h +14 -7
  1497. package/ReactCommon/react/utils/LayoutManager.h +150 -0
  1498. package/ReactCommon/react/utils/ManagedObjectWrapper.h +3 -1
  1499. package/ReactCommon/react/utils/RunLoopObserver.cpp +5 -4
  1500. package/ReactCommon/reactperflogger/Android.mk +1 -1
  1501. package/ReactCommon/reactperflogger/BUCK +1 -1
  1502. package/ReactCommon/reactperflogger/React-perflogger.podspec +3 -3
  1503. package/ReactCommon/runtimeexecutor/Android.mk +1 -1
  1504. package/ReactCommon/runtimeexecutor/BUCK +2 -2
  1505. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +3 -3
  1506. package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +14 -2
  1507. package/ReactCommon/yoga/Yoga.podspec +2 -2
  1508. package/ReactCommon/yoga/yoga/BitUtils.h +3 -2
  1509. package/ReactCommon/yoga/yoga/CompactValue.h +2 -2
  1510. package/ReactCommon/yoga/yoga/Utils.cpp +1 -1
  1511. package/ReactCommon/yoga/yoga/YGNode.cpp +111 -110
  1512. package/ReactCommon/yoga/yoga/YGNode.h +11 -0
  1513. package/ReactCommon/yoga/yoga/YGNodePrint.cpp +7 -4
  1514. package/ReactCommon/yoga/yoga/Yoga-internal.h +4 -5
  1515. package/ReactCommon/yoga/yoga/Yoga.cpp +116 -161
  1516. package/ReactCommon/yoga/yoga/Yoga.h +1 -1
  1517. package/android/com/facebook/react/react-native/{0.64.2-2/react-native-0.64.2-2.aar → 0.66.3-0/react-native-0.66.3-0.aar} +0 -0
  1518. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.aar.md5 +1 -0
  1519. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.aar.sha1 +1 -0
  1520. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.aar.sha256 +1 -0
  1521. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.aar.sha512 +1 -0
  1522. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.module +273 -0
  1523. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.module.md5 +1 -0
  1524. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.module.sha1 +1 -0
  1525. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.module.sha256 +1 -0
  1526. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.module.sha512 +1 -0
  1527. package/android/com/facebook/react/react-native/{0.64.2-2/react-native-0.64.2-2.pom → 0.66.3-0/react-native-0.66.3-0.pom} +28 -11
  1528. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.pom.md5 +1 -0
  1529. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.pom.sha1 +1 -0
  1530. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.pom.sha256 +1 -0
  1531. package/android/com/facebook/react/react-native/0.66.3-0/react-native-0.66.3-0.pom.sha512 +1 -0
  1532. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -3
  1533. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  1534. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  1535. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -0
  1536. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -0
  1537. package/flow/HermesInternalType.js +114 -0
  1538. package/flow/global.js +23 -0
  1539. package/flow-typed/npm/promise_v8.x.x.js +3 -3
  1540. package/flow-typed/npm/react-test-renderer_v16.x.x.js +79 -0
  1541. package/index.js +107 -50
  1542. package/interface.js +0 -8
  1543. package/jest/mockNativeComponent.js +36 -0
  1544. package/jest/preprocessor.js +3 -2
  1545. package/jest/renderer.js +3 -9
  1546. package/jest/setup.js +35 -39
  1547. package/local-cli/cli.js +0 -0
  1548. package/package.json +62 -22
  1549. package/react.gradle +32 -17
  1550. package/readme.diff +305 -0
  1551. package/scripts/find-node.sh +8 -6
  1552. package/scripts/generate-specs-cli.js +20 -13
  1553. package/scripts/generate-specs.sh +31 -23
  1554. package/scripts/ios-configure-glog.sh +1 -1
  1555. package/scripts/launchPackager.bat +12 -12
  1556. package/scripts/react-native-xcode.sh +12 -2
  1557. package/scripts/react_native_pods.rb +75 -126
  1558. package/template/_flowconfig +3 -4
  1559. package/template/_gitignore +1 -0
  1560. package/template/android/app/build.gradle +12 -7
  1561. package/template/android/app/src/main/res/values/styles.xml +0 -1
  1562. package/template/android/build.gradle +7 -7
  1563. package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  1564. package/template/android/gradle.properties +1 -1
  1565. package/template/ios/HelloWorld/AppDelegate.m +5 -6
  1566. package/template/ios/Podfile +3 -4
  1567. package/template/package.json +4 -4
  1568. package/third-party-podspecs/DoubleConversion.podspec +3 -1
  1569. package/third-party-podspecs/RCT-Folly.podspec +30 -11
  1570. package/third-party-podspecs/boost.podspec +23 -0
  1571. package/third-party-podspecs/fmt.podspec +24 -0
  1572. package/third-party-podspecs/glog.podspec +1 -1
  1573. package/Libraries/.npmignore +0 -1
  1574. package/Libraries/BUCK +0 -36
  1575. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js +0 -158
  1576. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js +0 -273
  1577. package/Libraries/Components/Picker/AndroidDialogPickerNativeComponent.js +0 -82
  1578. package/Libraries/Components/Picker/AndroidDialogPickerViewConfig.js +0 -30
  1579. package/Libraries/Components/Picker/AndroidDropdownPickerNativeComponent.js +0 -69
  1580. package/Libraries/Components/Picker/Picker.js +0 -165
  1581. package/Libraries/Components/Picker/PickerAndroid.android.js +0 -145
  1582. package/Libraries/Components/Picker/PickerIOS.ios.js +0 -164
  1583. package/Libraries/Components/Picker/RCTPickerNativeComponent.js +0 -72
  1584. package/Libraries/Components/Picker/RCTPickerViewConfig.js +0 -41
  1585. package/Libraries/Components/ScrollResponder.js +0 -796
  1586. package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -21
  1587. package/Libraries/Image/ImageViewViewConfig.js +0 -68
  1588. package/Libraries/StyleSheet/StyleSheetValidation.js +0 -100
  1589. package/Libraries/Utilities/registerGeneratedViewConfig.js +0 -83
  1590. package/Libraries/promiseRejectionIsError.js +0 -24
  1591. package/React/Base/RCTJSInvokerModule.h +0 -18
  1592. package/React/Fabric/Mounting/ComponentViews/Picker/RCTPickerComponentView.h +0 -19
  1593. package/React/Fabric/Mounting/ComponentViews/Picker/RCTPickerComponentView.mm +0 -205
  1594. package/React/Views/RCTPicker.h +0 -23
  1595. package/React/Views/RCTPicker.m +0 -121
  1596. package/React/Views/RCTPickerManager.m +0 -68
  1597. package/ReactAndroid/.npmignore +0 -3
  1598. package/ReactAndroid/build.gradle.orig +0 -479
  1599. package/ReactAndroid/release.gradle +0 -142
  1600. package/ReactAndroid/src/androidTest/assets/AndroidTestBundle.js +0 -107023
  1601. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactPickerTestCase.java +0 -196
  1602. package/ReactAndroid/src/androidTest/js/PickerAndroidTestModule.js +0 -89
  1603. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.java +0 -98
  1604. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragmentActivity.java +0 -15
  1605. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java +0 -82
  1606. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/BatchMountItem.java +0 -117
  1607. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/CreateMountItem.java +0 -68
  1608. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/InsertMountItem.java +0 -47
  1609. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/RemoveDeleteMultiMountItem.java +0 -90
  1610. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateEventEmitterMountItem.java +0 -33
  1611. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateLayoutMountItem.java +0 -90
  1612. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdatePaddingMountItem.java +0 -53
  1613. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdatePropsMountItem.java +0 -42
  1614. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/UpdateStateMountItem.java +0 -43
  1615. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/ActivityIndicatorViewManagerDelegate.java +0 -42
  1616. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/ActivityIndicatorViewManagerInterface.java +0 -20
  1617. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerDelegate.java +0 -48
  1618. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerInterface.java +0 -23
  1619. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDrawerLayoutManagerDelegate.java +0 -61
  1620. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDrawerLayoutManagerInterface.java +0 -24
  1621. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerDelegate.java +0 -48
  1622. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerInterface.java +0 -22
  1623. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidProgressBarManagerDelegate.java +0 -51
  1624. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidProgressBarManagerInterface.java +0 -23
  1625. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidSwipeRefreshLayoutManagerDelegate.java +0 -58
  1626. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidSwipeRefreshLayoutManagerInterface.java +0 -24
  1627. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidSwitchManagerDelegate.java +0 -67
  1628. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidSwitchManagerInterface.java +0 -26
  1629. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/MaskedViewManagerDelegate.java +0 -26
  1630. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/MaskedViewManagerInterface.java +0 -16
  1631. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/ModalHostViewManagerDelegate.java +0 -54
  1632. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/ModalHostViewManagerInterface.java +0 -25
  1633. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/ProgressViewManagerDelegate.java +0 -49
  1634. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/ProgressViewManagerInterface.java +0 -23
  1635. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SafeAreaViewManagerDelegate.java +0 -32
  1636. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SafeAreaViewManagerInterface.java +0 -16
  1637. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SegmentedControlManagerDelegate.java +0 -52
  1638. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SegmentedControlManagerInterface.java +0 -24
  1639. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SliderManagerDelegate.java +0 -73
  1640. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SliderManagerInterface.java +0 -31
  1641. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/UnimplementedNativeViewManagerDelegate.java +0 -32
  1642. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/UnimplementedNativeViewManagerInterface.java +0 -17
  1643. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni/Android.mk +0 -29
  1644. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/jni/react/renderer/components/rncore/Props.cpp +0 -191
  1645. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/BUCK +0 -29
  1646. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDialogPickerManager.java +0 -51
  1647. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDropdownPickerManager.java +0 -50
  1648. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPicker.java +0 -196
  1649. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerAdapter.java +0 -95
  1650. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerItem.java +0 -43
  1651. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java +0 -97
  1652. package/ReactAndroid/src/main/java/com/facebook/react/views/picker/events/PickerItemSelectEvent.java +0 -40
  1653. package/ReactAndroid/src/main/jni/first-party/fbjni/.gitignore +0 -2
  1654. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libc++_shared.so +0 -0
  1655. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libfb.so +0 -0
  1656. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libfbjni.so +0 -0
  1657. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libfolly_futures.so +0 -0
  1658. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libfolly_json.so +0 -0
  1659. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libglog.so +0 -0
  1660. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libglog_init.so +0 -0
  1661. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libhermes-executor-common-debug.so +0 -0
  1662. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libhermes-executor-common-release.so +0 -0
  1663. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libhermes-executor-debug.so +0 -0
  1664. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libhermes-executor-release.so +0 -0
  1665. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libhermes-inspector.so +0 -0
  1666. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libjscexecutor.so +0 -0
  1667. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libjsijniprofiler.so +0 -0
  1668. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libjsinspector.so +0 -0
  1669. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libreact_codegen_reactandroidspec.so +0 -0
  1670. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libreact_nativemodule_core.so +0 -0
  1671. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libreactnativeblob.so +0 -0
  1672. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libreactnativejni.so +0 -0
  1673. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libreactnativeutilsjni.so +0 -0
  1674. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libreactperfloggerjni.so +0 -0
  1675. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libturbomodulejsijni.so +0 -0
  1676. package/ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/libyoga.so +0 -0
  1677. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libc++_shared.so +0 -0
  1678. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libfb.so +0 -0
  1679. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libfbjni.so +0 -0
  1680. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libfolly_futures.so +0 -0
  1681. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libfolly_json.so +0 -0
  1682. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libglog.so +0 -0
  1683. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libglog_init.so +0 -0
  1684. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libhermes-executor-common-debug.so +0 -0
  1685. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libhermes-executor-common-release.so +0 -0
  1686. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libhermes-executor-debug.so +0 -0
  1687. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libhermes-executor-release.so +0 -0
  1688. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libhermes-inspector.so +0 -0
  1689. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libjscexecutor.so +0 -0
  1690. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libjsijniprofiler.so +0 -0
  1691. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libjsinspector.so +0 -0
  1692. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libreact_codegen_reactandroidspec.so +0 -0
  1693. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libreact_nativemodule_core.so +0 -0
  1694. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libreactnativeblob.so +0 -0
  1695. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libreactnativejni.so +0 -0
  1696. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libreactnativeutilsjni.so +0 -0
  1697. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libreactperfloggerjni.so +0 -0
  1698. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libturbomodulejsijni.so +0 -0
  1699. package/ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/libyoga.so +0 -0
  1700. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libc++_shared.so +0 -0
  1701. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libfb.so +0 -0
  1702. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libfbjni.so +0 -0
  1703. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libfolly_futures.so +0 -0
  1704. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libfolly_json.so +0 -0
  1705. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libglog.so +0 -0
  1706. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libglog_init.so +0 -0
  1707. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libhermes-executor-common-debug.so +0 -0
  1708. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libhermes-executor-common-release.so +0 -0
  1709. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libhermes-executor-debug.so +0 -0
  1710. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libhermes-executor-release.so +0 -0
  1711. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libhermes-inspector.so +0 -0
  1712. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libjscexecutor.so +0 -0
  1713. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libjsijniprofiler.so +0 -0
  1714. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libjsinspector.so +0 -0
  1715. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libreact_codegen_reactandroidspec.so +0 -0
  1716. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libreact_nativemodule_core.so +0 -0
  1717. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libreactnativeblob.so +0 -0
  1718. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libreactnativejni.so +0 -0
  1719. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libreactnativeutilsjni.so +0 -0
  1720. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libreactperfloggerjni.so +0 -0
  1721. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libturbomodulejsijni.so +0 -0
  1722. package/ReactAndroid/src/main/jni/prebuilt/lib/x86/libyoga.so +0 -0
  1723. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libc++_shared.so +0 -0
  1724. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libfb.so +0 -0
  1725. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libfbjni.so +0 -0
  1726. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libfolly_futures.so +0 -0
  1727. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libfolly_json.so +0 -0
  1728. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libglog.so +0 -0
  1729. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libglog_init.so +0 -0
  1730. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libhermes-executor-common-debug.so +0 -0
  1731. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libhermes-executor-common-release.so +0 -0
  1732. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libhermes-executor-debug.so +0 -0
  1733. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libhermes-executor-release.so +0 -0
  1734. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libhermes-inspector.so +0 -0
  1735. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libjscexecutor.so +0 -0
  1736. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libjsijniprofiler.so +0 -0
  1737. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libjsinspector.so +0 -0
  1738. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libreact_codegen_reactandroidspec.so +0 -0
  1739. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libreact_nativemodule_core.so +0 -0
  1740. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libreactnativeblob.so +0 -0
  1741. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libreactnativejni.so +0 -0
  1742. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libreactnativeutilsjni.so +0 -0
  1743. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libreactperfloggerjni.so +0 -0
  1744. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libturbomodulejsijni.so +0 -0
  1745. package/ReactAndroid/src/main/jni/prebuilt/lib/x86_64/libyoga.so +0 -0
  1746. package/ReactAndroid/src/main/third-party/android/support/v4/BUCK +0 -685
  1747. package/ReactAndroid/src/main/third-party/android/support/v7/appcompat/BUCK +0 -62
  1748. package/ReactAndroid/src/main/third-party/android/support/v7/appcompat/aar-unpacker.py +0 -20
  1749. package/ReactCommon/cxxreact/re_worker_requirements +0 -6
  1750. package/ReactCommon/hermes/inspector/tools/msggen/.gitignore +0 -3
  1751. package/ReactCommon/react/renderer/components/picker/Android.mk +0 -37
  1752. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerEventEmitter.cpp +0 -23
  1753. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerEventEmitter.h +0 -27
  1754. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerProps.cpp +0 -28
  1755. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerProps.h +0 -77
  1756. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.h +0 -29
  1757. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerComponentDescriptor.h +0 -21
  1758. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.cpp +0 -23
  1759. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.h +0 -27
  1760. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.cpp +0 -28
  1761. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.h +0 -77
  1762. package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.h +0 -29
  1763. package/ReactCommon/react/renderer/components/picker/iospicker/PickerComponentDescriptor.h +0 -26
  1764. package/ReactCommon/react/renderer/components/picker/iospicker/PickerEventEmitter.cpp +0 -23
  1765. package/ReactCommon/react/renderer/components/picker/iospicker/PickerEventEmitter.h +0 -28
  1766. package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.cpp +0 -46
  1767. package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.h +0 -36
  1768. package/ReactCommon/react/renderer/components/picker/iospicker/PickerShadowNode.cpp +0 -16
  1769. package/ReactCommon/react/renderer/components/picker/iospicker/PickerShadowNode.h +0 -33
  1770. package/ReactCommon/react/renderer/components/picker/iospicker/conversions.h +0 -47
  1771. package/ReactCommon/react/renderer/components/picker/iospicker/primitives.h +0 -29
  1772. package/ReactCommon/react/renderer/core/ConcreteStateTeller.h +0 -152
  1773. package/ReactCommon/react/renderer/mounting/TransactionTelemetry.cpp +0 -142
  1774. package/ReactCommon/react/renderer/mounting/tests/TransactionTelemetryTest.cpp +0 -125
  1775. package/android/com/facebook/react/react-native/0.64.2-2/react-native-0.64.2-2-sources.jar +0 -0
  1776. package/android/com/facebook/react/react-native/0.64.2-2/react-native-0.64.2-2-sources.jar.md5 +0 -1
  1777. package/android/com/facebook/react/react-native/0.64.2-2/react-native-0.64.2-2-sources.jar.sha1 +0 -1
  1778. package/android/com/facebook/react/react-native/0.64.2-2/react-native-0.64.2-2.aar.md5 +0 -1
  1779. package/android/com/facebook/react/react-native/0.64.2-2/react-native-0.64.2-2.aar.sha1 +0 -1
  1780. package/android/com/facebook/react/react-native/0.64.2-2/react-native-0.64.2-2.pom.md5 +0 -1
  1781. package/android/com/facebook/react/react-native/0.64.2-2/react-native-0.64.2-2.pom.sha1 +0 -1
  1782. package/template/ios/HelloWorld.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  1783. package/template/ios/HelloWorld.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
@@ -25,8 +25,8 @@ import android.content.Context;
25
25
  import android.graphics.Point;
26
26
  import android.os.SystemClock;
27
27
  import android.view.View;
28
+ import android.view.accessibility.AccessibilityEvent;
28
29
  import androidx.annotation.AnyThread;
29
- import androidx.annotation.GuardedBy;
30
30
  import androidx.annotation.NonNull;
31
31
  import androidx.annotation.Nullable;
32
32
  import androidx.annotation.UiThread;
@@ -34,81 +34,76 @@ import com.facebook.common.logging.FLog;
34
34
  import com.facebook.debug.holder.PrinterHolder;
35
35
  import com.facebook.debug.tags.ReactDebugOverlayTags;
36
36
  import com.facebook.infer.annotation.ThreadConfined;
37
- import com.facebook.proguard.annotations.DoNotStrip;
38
- import com.facebook.react.ReactRootView;
37
+ import com.facebook.proguard.annotations.DoNotStripAny;
38
+ import com.facebook.react.bridge.ColorPropConverter;
39
39
  import com.facebook.react.bridge.LifecycleEventListener;
40
40
  import com.facebook.react.bridge.NativeArray;
41
41
  import com.facebook.react.bridge.NativeMap;
42
42
  import com.facebook.react.bridge.ReactApplicationContext;
43
43
  import com.facebook.react.bridge.ReactContext;
44
- import com.facebook.react.bridge.ReactIgnorableMountingException;
45
44
  import com.facebook.react.bridge.ReactMarker;
46
45
  import com.facebook.react.bridge.ReactMarkerConstants;
47
- import com.facebook.react.bridge.ReactNoCrashSoftException;
48
- import com.facebook.react.bridge.ReactSoftException;
46
+ import com.facebook.react.bridge.ReactSoftExceptionLogger;
49
47
  import com.facebook.react.bridge.ReadableArray;
50
48
  import com.facebook.react.bridge.ReadableMap;
51
- import com.facebook.react.bridge.RetryableMountingLayerException;
52
49
  import com.facebook.react.bridge.UIManager;
53
50
  import com.facebook.react.bridge.UIManagerListener;
54
51
  import com.facebook.react.bridge.UiThreadUtil;
55
52
  import com.facebook.react.bridge.WritableMap;
53
+ import com.facebook.react.common.build.ReactBuildConfig;
54
+ import com.facebook.react.common.mapbuffer.ReadableMapBuffer;
56
55
  import com.facebook.react.config.ReactFeatureFlags;
57
56
  import com.facebook.react.fabric.events.EventBeatManager;
58
57
  import com.facebook.react.fabric.events.EventEmitterWrapper;
59
58
  import com.facebook.react.fabric.events.FabricEventEmitter;
59
+ import com.facebook.react.fabric.mounting.MountItemDispatcher;
60
60
  import com.facebook.react.fabric.mounting.MountingManager;
61
- import com.facebook.react.fabric.mounting.mountitems.BatchMountItem;
62
- import com.facebook.react.fabric.mounting.mountitems.CreateMountItem;
63
- import com.facebook.react.fabric.mounting.mountitems.DispatchCommandMountItem;
61
+ import com.facebook.react.fabric.mounting.SurfaceMountingManager;
64
62
  import com.facebook.react.fabric.mounting.mountitems.DispatchIntCommandMountItem;
65
63
  import com.facebook.react.fabric.mounting.mountitems.DispatchStringCommandMountItem;
66
- import com.facebook.react.fabric.mounting.mountitems.InsertMountItem;
67
64
  import com.facebook.react.fabric.mounting.mountitems.IntBufferBatchMountItem;
68
65
  import com.facebook.react.fabric.mounting.mountitems.MountItem;
69
66
  import com.facebook.react.fabric.mounting.mountitems.PreAllocateViewMountItem;
70
- import com.facebook.react.fabric.mounting.mountitems.RemoveDeleteMultiMountItem;
71
67
  import com.facebook.react.fabric.mounting.mountitems.SendAccessibilityEvent;
72
- import com.facebook.react.fabric.mounting.mountitems.UpdateEventEmitterMountItem;
73
- import com.facebook.react.fabric.mounting.mountitems.UpdateLayoutMountItem;
74
- import com.facebook.react.fabric.mounting.mountitems.UpdatePaddingMountItem;
75
- import com.facebook.react.fabric.mounting.mountitems.UpdatePropsMountItem;
76
- import com.facebook.react.fabric.mounting.mountitems.UpdateStateMountItem;
77
68
  import com.facebook.react.modules.core.ReactChoreographer;
78
69
  import com.facebook.react.modules.i18nmanager.I18nUtil;
70
+ import com.facebook.react.uimanager.IllegalViewOperationException;
79
71
  import com.facebook.react.uimanager.PixelUtil;
80
72
  import com.facebook.react.uimanager.ReactRoot;
81
73
  import com.facebook.react.uimanager.ReactRootViewTagGenerator;
74
+ import com.facebook.react.uimanager.RootViewUtil;
82
75
  import com.facebook.react.uimanager.StateWrapper;
83
76
  import com.facebook.react.uimanager.ThemedReactContext;
84
77
  import com.facebook.react.uimanager.UIManagerHelper;
85
78
  import com.facebook.react.uimanager.ViewManagerPropertyUpdater;
86
79
  import com.facebook.react.uimanager.ViewManagerRegistry;
87
80
  import com.facebook.react.uimanager.events.EventDispatcher;
81
+ import com.facebook.react.uimanager.events.EventDispatcherImpl;
82
+ import com.facebook.react.uimanager.events.LockFreeEventDispatcherImpl;
88
83
  import com.facebook.react.views.text.TextLayoutManager;
89
- import com.facebook.systrace.Systrace;
90
- import java.util.ArrayDeque;
91
- import java.util.ArrayList;
84
+ import com.facebook.react.views.text.TextLayoutManagerMapBuffer;
92
85
  import java.util.HashMap;
93
86
  import java.util.List;
94
87
  import java.util.Map;
95
- import java.util.concurrent.ConcurrentHashMap;
88
+ import java.util.Queue;
96
89
  import java.util.concurrent.CopyOnWriteArrayList;
97
90
 
91
+ /**
92
+ * We instruct ProGuard not to strip out any fields or methods, because many of these methods are
93
+ * only called through the JNI from Cxx so it appears that most of this class is "unused".
94
+ */
98
95
  @SuppressLint("MissingNativeLoadLibrary")
96
+ @DoNotStripAny
99
97
  public class FabricUIManager implements UIManager, LifecycleEventListener {
98
+ public static final String TAG = FabricUIManager.class.getSimpleName();
100
99
 
101
- public static final String TAG = "FabricUIManager";
102
100
  // The IS_DEVELOPMENT_ENVIRONMENT variable is used to log extra data when running fabric in a
103
101
  // development environment. DO NOT ENABLE THIS ON PRODUCTION OR YOU WILL BE FIRED!
104
- public static final boolean IS_DEVELOPMENT_ENVIRONMENT = false;
102
+ public static final boolean IS_DEVELOPMENT_ENVIRONMENT = false && ReactBuildConfig.DEBUG;
105
103
  public static final boolean ENABLE_FABRIC_LOGS =
106
104
  ReactFeatureFlags.enableFabricLogs
107
105
  || PrinterHolder.getPrinter()
108
106
  .shouldDisplayLogMessage(ReactDebugOverlayTags.FABRIC_UI_MANAGER);
109
- private static final int FRAME_TIME_MS = 16;
110
- private static final int MAX_TIME_IN_FRAME_FOR_NON_BATCHED_OPERATIONS_MS = 8;
111
- private static final int PRE_MOUNT_ITEMS_INITIAL_SIZE_ARRAY = 250;
112
107
 
113
108
  static {
114
109
  FabricSoLoader.staticInit();
@@ -118,55 +113,28 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
118
113
  @NonNull private final ReactApplicationContext mReactApplicationContext;
119
114
  @NonNull private final MountingManager mMountingManager;
120
115
  @NonNull private final EventDispatcher mEventDispatcher;
121
-
122
- @NonNull
123
- private final ConcurrentHashMap<Integer, ThemedReactContext> mReactContextForRootTag =
124
- new ConcurrentHashMap<>();
116
+ @NonNull private final MountItemDispatcher mMountItemDispatcher;
125
117
 
126
118
  @NonNull private final EventBeatManager mEventBeatManager;
127
- @NonNull private final Object mViewCommandMountItemsLock = new Object();
128
- @NonNull private final Object mMountItemsLock = new Object();
129
- @NonNull private final Object mPreMountItemsLock = new Object();
130
-
131
- private boolean mInDispatch = false;
132
- private int mReDispatchCounter = 0;
133
-
134
- @GuardedBy("mViewCommandMountItemsLock")
135
- @NonNull
136
- private List<DispatchCommandMountItem> mViewCommandMountItems = new ArrayList<>();
137
119
 
138
120
  @NonNull
139
121
  private final CopyOnWriteArrayList<UIManagerListener> mListeners = new CopyOnWriteArrayList<>();
140
122
 
141
- @GuardedBy("mMountItemsLock")
142
- @NonNull
143
- private List<MountItem> mMountItems = new ArrayList<>();
144
-
145
- @GuardedBy("mPreMountItemsLock")
146
- @NonNull
147
- private ArrayDeque<PreAllocateViewMountItem> mPreMountItems =
148
- new ArrayDeque<>(PRE_MOUNT_ITEMS_INITIAL_SIZE_ARRAY);
149
-
150
123
  @ThreadConfined(UI)
151
124
  @NonNull
152
125
  private final DispatchUIFrameCallback mDispatchUIFrameCallback;
153
126
 
154
- @ThreadConfined(UI)
155
- private int mLastExecutedMountItemSurfaceId = -1;
156
-
157
- @ThreadConfined(UI)
158
- private boolean mLastExecutedMountItemSurfaceIdActive = false;
159
-
160
127
  /**
161
128
  * This is used to keep track of whether or not the FabricUIManager has been destroyed. Once the
162
129
  * Catalyst instance is being destroyed, we should cease all operation here.
163
130
  */
164
131
  private volatile boolean mDestroyed = false;
165
132
 
133
+ // TODO T83943316: Delete this variable once StaticViewConfigs are enabled by default
134
+ private volatile boolean mShouldDeallocateEventDispatcher = false;
135
+
166
136
  private boolean mDriveCxxAnimations = false;
167
137
 
168
- private long mRunStartTime = 0l;
169
- private long mBatchedExecutionTime = 0l;
170
138
  private long mDispatchViewUpdatesTime = 0l;
171
139
  private long mCommitStartTime = 0l;
172
140
  private long mLayoutTime = 0l;
@@ -179,6 +147,19 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
179
147
  // from C++ to exceed 9,999 and it should be obvious what's going on when analyzing performance.
180
148
  private int mCurrentSynchronousCommitNumber = 10000;
181
149
 
150
+ private MountingManager.MountItemExecutor mMountItemExecutor =
151
+ new MountingManager.MountItemExecutor() {
152
+ @Override
153
+ public void executeItems(Queue<MountItem> items) {
154
+ // This executor can be technically accessed before the dispatcher is created,
155
+ // but if that happens, something is terribly wrong
156
+ mMountItemDispatcher.dispatchMountItems(items);
157
+ }
158
+ };
159
+
160
+ // TODO T83943316: Deprecate and delete this constructor once StaticViewConfigs are enabled by
161
+ // default
162
+ @Deprecated
182
163
  public FabricUIManager(
183
164
  ReactApplicationContext reactContext,
184
165
  ViewManagerRegistry viewManagerRegistry,
@@ -186,8 +167,29 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
186
167
  EventBeatManager eventBeatManager) {
187
168
  mDispatchUIFrameCallback = new DispatchUIFrameCallback(reactContext);
188
169
  mReactApplicationContext = reactContext;
189
- mMountingManager = new MountingManager(viewManagerRegistry);
170
+ mMountingManager = new MountingManager(viewManagerRegistry, mMountItemExecutor);
171
+ mMountItemDispatcher =
172
+ new MountItemDispatcher(mMountingManager, new MountItemDispatchListener());
190
173
  mEventDispatcher = eventDispatcher;
174
+ mShouldDeallocateEventDispatcher = false;
175
+ mEventBeatManager = eventBeatManager;
176
+ mReactApplicationContext.addLifecycleEventListener(this);
177
+ }
178
+
179
+ public FabricUIManager(
180
+ ReactApplicationContext reactContext,
181
+ ViewManagerRegistry viewManagerRegistry,
182
+ EventBeatManager eventBeatManager) {
183
+ mDispatchUIFrameCallback = new DispatchUIFrameCallback(reactContext);
184
+ mReactApplicationContext = reactContext;
185
+ mMountingManager = new MountingManager(viewManagerRegistry, mMountItemExecutor);
186
+ mMountItemDispatcher =
187
+ new MountItemDispatcher(mMountingManager, new MountItemDispatchListener());
188
+ mEventDispatcher =
189
+ ReactFeatureFlags.enableLockFreeEventDispatcher
190
+ ? new LockFreeEventDispatcherImpl(reactContext)
191
+ : new EventDispatcherImpl(reactContext);
192
+ mShouldDeallocateEventDispatcher = true;
191
193
  mEventBeatManager = eventBeatManager;
192
194
  mReactApplicationContext.addLifecycleEventListener(this);
193
195
  }
@@ -196,18 +198,22 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
196
198
  @Override
197
199
  @UiThread
198
200
  @ThreadConfined(UI)
201
+ @Deprecated
199
202
  public <T extends View> int addRootView(
200
203
  final T rootView, final WritableMap initialProps, final @Nullable String initialUITemplate) {
204
+ ReactSoftExceptionLogger.logSoftException(
205
+ TAG,
206
+ new IllegalViewOperationException(
207
+ "Do not call addRootView in Fabric; it is unsupported. Call startSurface instead."));
208
+
201
209
  final int rootTag = ReactRootViewTagGenerator.getNextRootViewTag();
202
210
  ReactRoot reactRootView = (ReactRoot) rootView;
203
211
 
204
- // TODO T31905686: Combine with startSurface below
205
212
  ThemedReactContext reactContext =
206
213
  new ThemedReactContext(
207
- mReactApplicationContext, rootView.getContext(), reactRootView.getSurfaceID());
208
- mMountingManager.addRootView(rootTag, rootView);
214
+ mReactApplicationContext, rootView.getContext(), reactRootView.getSurfaceID(), rootTag);
215
+ mMountingManager.startSurface(rootTag, rootView, reactContext);
209
216
  String moduleName = reactRootView.getJSModuleName();
210
- mReactContextForRootTag.put(rootTag, reactContext);
211
217
  if (ENABLE_FABRIC_LOGS) {
212
218
  FLog.d(TAG, "Starting surface for module: %s and reactTag: %d", moduleName, rootTag);
213
219
  }
@@ -218,6 +224,36 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
218
224
  return rootTag;
219
225
  }
220
226
 
227
+ /**
228
+ * This API returns metadata associated to the React Component that rendered the Android View
229
+ * received as a parameter.
230
+ *
231
+ * @param surfaceId {@link int} that represents the surfaceId for the View received as a
232
+ * parameter. In practice surfaceId can be retrieved calling the {@link View#getId()} method
233
+ * on the {@link ReactRoot} that holds the View received as a second parameter.
234
+ * @param view {@link View} view that will be used to retrieve the React view hierarchy metadata.
235
+ * @return a {@link ReadableMap} that contains metadata associated to the React Component that
236
+ * rendered the Android View received as a parameter. For more details about the keys stored
237
+ * in the {@link ReadableMap} refer to the "getInspectorDataForInstance" method from
238
+ * com/facebook/react/fabric/jni/Binding.cpp file.
239
+ */
240
+ @UiThread
241
+ @ThreadConfined(UI)
242
+ public ReadableMap getInspectorDataForInstance(final int surfaceId, final View view) {
243
+ UiThreadUtil.assertOnUiThread();
244
+ int reactTag = view.getId();
245
+
246
+ EventEmitterWrapper eventEmitter = mMountingManager.getEventEmitter(surfaceId, reactTag);
247
+ return mBinding.getInspectorDataForInstance(eventEmitter);
248
+ }
249
+
250
+ @Override
251
+ public void preInitializeViewManagers(List<String> viewManagerNames) {
252
+ for (String viewManagerName : viewManagerNames) {
253
+ mMountingManager.initializeViewManager(viewManagerName);
254
+ }
255
+ }
256
+
221
257
  @Override
222
258
  @AnyThread
223
259
  @ThreadConfined(ANY)
@@ -230,14 +266,18 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
230
266
  final int rootTag = ReactRootViewTagGenerator.getNextRootViewTag();
231
267
  Context context = rootView.getContext();
232
268
  ThemedReactContext reactContext =
233
- new ThemedReactContext(mReactApplicationContext, context, moduleName);
269
+ new ThemedReactContext(mReactApplicationContext, context, moduleName, rootTag);
234
270
  if (ENABLE_FABRIC_LOGS) {
235
271
  FLog.d(TAG, "Starting surface for module: %s and reactTag: %d", moduleName, rootTag);
236
272
  }
237
- mMountingManager.addRootView(rootTag, rootView);
238
- mReactContextForRootTag.put(rootTag, reactContext);
273
+ mMountingManager.startSurface(rootTag, rootView, reactContext);
239
274
 
240
- Point viewportOffset = ReactRootView.getViewportOffset(rootView);
275
+ // If startSurface is executed in the UIThread then, it uses the ViewportOffset from the View,
276
+ // Otherwise Fabric relies on calling {@link Binding#setConstraints} method to update the
277
+ // ViewportOffset during measurement or onLayout.
278
+ @SuppressLint("WrongThread")
279
+ Point viewportOffset =
280
+ UiThreadUtil.isOnUiThread() ? RootViewUtil.getViewportOffset(rootView) : new Point(0, 0);
241
281
 
242
282
  mBinding.startSurfaceWithConstraints(
243
283
  rootTag,
@@ -254,8 +294,57 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
254
294
  return rootTag;
255
295
  }
256
296
 
297
+ public void startSurface(final SurfaceHandler surfaceHandler, final @Nullable View rootView) {
298
+ final int rootTag = ReactRootViewTagGenerator.getNextRootViewTag();
299
+
300
+ if (rootView == null) {
301
+ mMountingManager.startSurface(rootTag);
302
+ } else {
303
+ Context context = rootView.getContext();
304
+ ThemedReactContext reactContext =
305
+ new ThemedReactContext(
306
+ mReactApplicationContext, context, surfaceHandler.getModuleName(), rootTag);
307
+ mMountingManager.startSurface(rootTag, rootView, reactContext);
308
+ }
309
+
310
+ surfaceHandler.setSurfaceId(rootTag);
311
+ if (surfaceHandler instanceof SurfaceHandlerBinding) {
312
+ mBinding.registerSurface((SurfaceHandlerBinding) surfaceHandler);
313
+ }
314
+ surfaceHandler.setMountable(rootView != null);
315
+ surfaceHandler.start();
316
+ }
317
+
318
+ public void attachRootView(final SurfaceHandler surfaceHandler, final View rootView) {
319
+ ThemedReactContext reactContext =
320
+ new ThemedReactContext(
321
+ mReactApplicationContext,
322
+ rootView.getContext(),
323
+ surfaceHandler.getModuleName(),
324
+ surfaceHandler.getSurfaceId());
325
+ mMountingManager.attachRootView(surfaceHandler.getSurfaceId(), rootView, reactContext);
326
+
327
+ surfaceHandler.setMountable(true);
328
+ }
329
+
330
+ public void stopSurface(final SurfaceHandler surfaceHandler) {
331
+ if (!surfaceHandler.isRunning()) {
332
+ ReactSoftExceptionLogger.logSoftException(
333
+ FabricUIManager.TAG,
334
+ new IllegalStateException("Trying to stop surface that hasn't started yet"));
335
+ return;
336
+ }
337
+
338
+ mMountingManager.stopSurface(surfaceHandler.getSurfaceId());
339
+
340
+ surfaceHandler.stop();
341
+
342
+ if (surfaceHandler instanceof SurfaceHandlerBinding) {
343
+ mBinding.unregisterSurface((SurfaceHandlerBinding) surfaceHandler);
344
+ }
345
+ }
346
+
257
347
  /** Method called when an event has been dispatched on the C++ side. */
258
- @DoNotStrip
259
348
  @SuppressWarnings("unused")
260
349
  public void onRequestEventBeat() {
261
350
  mEventDispatcher.dispatchAllEvents();
@@ -265,15 +354,13 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
265
354
  @ThreadConfined(ANY)
266
355
  @Override
267
356
  public void stopSurface(final int surfaceID) {
268
- mReactContextForRootTag.remove(surfaceID);
357
+ // Mark surfaceId as dead, stop executing mounting instructions
358
+ mMountingManager.stopSurface(surfaceID);
359
+
360
+ // Communicate stopSurface to Cxx - causes an empty ShadowTree to be committed,
361
+ // but all mounting instructions will be ignored because stopSurface was called
362
+ // on the MountingManager
269
363
  mBinding.stopSurface(surfaceID);
270
- UiThreadUtil.runOnUiThread(
271
- new Runnable() {
272
- @Override
273
- public void run() {
274
- mMountingManager.deleteRootView(surfaceID);
275
- }
276
- });
277
364
  }
278
365
 
279
366
  @Override
@@ -290,7 +377,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
290
377
  FLog.i(TAG, "FabricUIManager.onCatalystInstanceDestroy");
291
378
 
292
379
  if (mDestroyed) {
293
- ReactSoftException.logSoftException(
380
+ ReactSoftExceptionLogger.logSoftException(
294
381
  FabricUIManager.TAG, new IllegalStateException("Cannot double-destroy FabricUIManager"));
295
382
  return;
296
383
  }
@@ -320,148 +407,15 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
320
407
  mBinding = null;
321
408
 
322
409
  ViewManagerPropertyUpdater.clear();
323
- }
324
-
325
- @DoNotStrip
326
- @SuppressWarnings("unused")
327
- @AnyThread
328
- @ThreadConfined(ANY)
329
- private void preallocateView(
330
- int rootTag,
331
- int reactTag,
332
- final String componentName,
333
- @Nullable ReadableMap props,
334
- @Nullable Object stateWrapper,
335
- boolean isLayoutable) {
336
410
 
337
- // This could be null if teardown/navigation away from a surface on the main thread happens
338
- // while a commit is being processed in a different thread. By contract we expect this to be
339
- // possible at teardown, but this race should *never* happen at startup.
340
- @Nullable ThemedReactContext context = mReactContextForRootTag.get(rootTag);
341
-
342
- String component = getFabricComponentName(componentName);
343
- synchronized (mPreMountItemsLock) {
344
- mPreMountItems.add(
345
- new PreAllocateViewMountItem(
346
- context,
347
- rootTag,
348
- reactTag,
349
- component,
350
- props,
351
- (StateWrapper) stateWrapper,
352
- isLayoutable));
411
+ // When using ReactFeatureFlags.enableExperimentalStaticViewConfigs enabled, FabriUIManager is
412
+ // responsible for initializing and deallocating EventDispatcher.
413
+ // TODO T83943316: Remove this IF once StaticViewConfigs are enabled by default
414
+ if (mShouldDeallocateEventDispatcher) {
415
+ mEventDispatcher.onCatalystInstanceDestroyed();
353
416
  }
354
417
  }
355
418
 
356
- @DoNotStrip
357
- @SuppressWarnings("unused")
358
- @AnyThread
359
- @ThreadConfined(ANY)
360
- private MountItem createMountItem(
361
- String componentName,
362
- @Nullable ReadableMap props,
363
- @Nullable Object stateWrapper,
364
- int reactRootTag,
365
- int reactTag,
366
- boolean isLayoutable) {
367
- String component = getFabricComponentName(componentName);
368
-
369
- // This could be null if teardown/navigation away from a surface on the main thread happens
370
- // while a commit is being processed in a different thread. By contract we expect this to be
371
- // possible at teardown, but this race should *never* happen at startup.
372
- @Nullable ThemedReactContext reactContext = mReactContextForRootTag.get(reactRootTag);
373
-
374
- return new CreateMountItem(
375
- reactContext,
376
- reactRootTag,
377
- reactTag,
378
- component,
379
- props,
380
- (StateWrapper) stateWrapper,
381
- isLayoutable);
382
- }
383
-
384
- @DoNotStrip
385
- @SuppressWarnings("unused")
386
- @AnyThread
387
- @ThreadConfined(ANY)
388
- private MountItem insertMountItem(int reactTag, int parentReactTag, int index) {
389
- return new InsertMountItem(reactTag, parentReactTag, index);
390
- }
391
-
392
- @DoNotStrip
393
- @SuppressWarnings("unused")
394
- @AnyThread
395
- @ThreadConfined(ANY)
396
- private MountItem removeDeleteMultiMountItem(int[] metadata) {
397
- return new RemoveDeleteMultiMountItem(metadata);
398
- }
399
-
400
- @DoNotStrip
401
- @SuppressWarnings("unused")
402
- @AnyThread
403
- @ThreadConfined(ANY)
404
- private MountItem updateLayoutMountItem(
405
- int reactTag, int x, int y, int width, int height, int layoutDirection) {
406
- return new UpdateLayoutMountItem(reactTag, x, y, width, height, layoutDirection);
407
- }
408
-
409
- @DoNotStrip
410
- @SuppressWarnings("unused")
411
- @AnyThread
412
- @ThreadConfined(ANY)
413
- private MountItem updatePaddingMountItem(int reactTag, int left, int top, int right, int bottom) {
414
- return new UpdatePaddingMountItem(reactTag, left, top, right, bottom);
415
- }
416
-
417
- @DoNotStrip
418
- @SuppressWarnings("unused")
419
- @AnyThread
420
- @ThreadConfined(ANY)
421
- private MountItem updatePropsMountItem(int reactTag, ReadableMap map) {
422
- return new UpdatePropsMountItem(reactTag, map);
423
- }
424
-
425
- @DoNotStrip
426
- @SuppressWarnings("unused")
427
- @AnyThread
428
- @ThreadConfined(ANY)
429
- private MountItem updateStateMountItem(int reactTag, @Nullable Object stateWrapper) {
430
- return new UpdateStateMountItem(reactTag, (StateWrapper) stateWrapper);
431
- }
432
-
433
- @DoNotStrip
434
- @SuppressWarnings("unused")
435
- @AnyThread
436
- @ThreadConfined(ANY)
437
- private MountItem updateEventEmitterMountItem(int reactTag, Object eventEmitter) {
438
- return new UpdateEventEmitterMountItem(reactTag, (EventEmitterWrapper) eventEmitter);
439
- }
440
-
441
- @DoNotStrip
442
- @SuppressWarnings("unused")
443
- @AnyThread
444
- @ThreadConfined(ANY)
445
- private MountItem createBatchMountItem(
446
- int rootTag, MountItem[] items, int size, int commitNumber) {
447
- return new BatchMountItem(rootTag, items, size, commitNumber);
448
- }
449
-
450
- @DoNotStrip
451
- @SuppressWarnings("unused")
452
- @AnyThread
453
- @ThreadConfined(ANY)
454
- private MountItem createIntBufferBatchMountItem(
455
- int rootTag, int[] intBuffer, Object[] objBuffer, int commitNumber) {
456
- // This could be null if teardown/navigation away from a surface on the main thread happens
457
- // while a commit is being processed in a different thread. By contract we expect this to be
458
- // possible at teardown, but this race should *never* happen at startup.
459
- @Nullable ThemedReactContext reactContext = mReactContextForRootTag.get(rootTag);
460
-
461
- return new IntBufferBatchMountItem(rootTag, reactContext, intBuffer, objBuffer, commitNumber);
462
- }
463
-
464
- @DoNotStrip
465
419
  @SuppressWarnings("unused")
466
420
  private NativeArray measureLines(
467
421
  ReadableMap attributedString, ReadableMap paragraphAttributes, float width, float height) {
@@ -473,7 +427,20 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
473
427
  PixelUtil.toPixelFromDIP(width));
474
428
  }
475
429
 
476
- @DoNotStrip
430
+ @SuppressWarnings("unused")
431
+ private NativeArray measureLinesMapBuffer(
432
+ ReadableMapBuffer attributedString,
433
+ ReadableMapBuffer paragraphAttributes,
434
+ float width,
435
+ float height) {
436
+ return (NativeArray)
437
+ TextLayoutManagerMapBuffer.measureLines(
438
+ mReactApplicationContext,
439
+ attributedString,
440
+ paragraphAttributes,
441
+ PixelUtil.toPixelFromDIP(width));
442
+ }
443
+
477
444
  @SuppressWarnings("unused")
478
445
  private long measure(
479
446
  int rootTag,
@@ -498,10 +465,17 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
498
465
  null);
499
466
  }
500
467
 
501
- @DoNotStrip
468
+ @SuppressWarnings("unused")
469
+ public int getColor(int surfaceId, ReadableMap platformColor) {
470
+ ThemedReactContext context =
471
+ mMountingManager.getSurfaceManagerEnforced(surfaceId, "getColor").getContext();
472
+ Integer color = ColorPropConverter.getColor(platformColor, context);
473
+ return color != null ? color : 0;
474
+ }
475
+
502
476
  @SuppressWarnings("unused")
503
477
  private long measure(
504
- int rootTag,
478
+ int surfaceId,
505
479
  String componentName,
506
480
  ReadableMap localData,
507
481
  ReadableMap props,
@@ -512,16 +486,16 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
512
486
  float maxHeight,
513
487
  @Nullable float[] attachmentsPositions) {
514
488
 
515
- // This could be null if teardown/navigation away from a surface on the main thread happens
516
- // while a commit is being processed in a different thread. By contract we expect this to be
517
- // possible at teardown, but this race should *never* happen at startup.
518
- @Nullable
519
- ReactContext context =
520
- rootTag < 0 ? mReactApplicationContext : mReactContextForRootTag.get(rootTag);
521
-
522
- // Don't both measuring if we can't get a context.
523
- if (context == null) {
524
- return 0;
489
+ ReactContext context;
490
+ if (surfaceId > 0) {
491
+ SurfaceMountingManager surfaceMountingManager =
492
+ mMountingManager.getSurfaceManagerEnforced(surfaceId, "measure");
493
+ if (surfaceMountingManager.isStopped()) {
494
+ return 0;
495
+ }
496
+ context = surfaceMountingManager.getContext();
497
+ } else {
498
+ context = mReactApplicationContext;
525
499
  }
526
500
 
527
501
  return mMountingManager.measure(
@@ -537,23 +511,53 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
537
511
  attachmentsPositions);
538
512
  }
539
513
 
514
+ @SuppressWarnings("unused")
515
+ private long measureMapBuffer(
516
+ int surfaceId,
517
+ String componentName,
518
+ ReadableMapBuffer attributedString,
519
+ ReadableMapBuffer paragraphAttributes,
520
+ float minWidth,
521
+ float maxWidth,
522
+ float minHeight,
523
+ float maxHeight,
524
+ @Nullable float[] attachmentsPositions) {
525
+
526
+ ReactContext context;
527
+ if (surfaceId > 0) {
528
+ SurfaceMountingManager surfaceMountingManager =
529
+ mMountingManager.getSurfaceManagerEnforced(surfaceId, "measure");
530
+ if (surfaceMountingManager.isStopped()) {
531
+ return 0;
532
+ }
533
+ context = surfaceMountingManager.getContext();
534
+ } else {
535
+ context = mReactApplicationContext;
536
+ }
537
+
538
+ // TODO: replace ReadableNativeMap -> ReadableMapBuffer
539
+ return mMountingManager.measureTextMapBuffer(
540
+ context,
541
+ componentName,
542
+ attributedString,
543
+ paragraphAttributes,
544
+ getYogaSize(minWidth, maxWidth),
545
+ getYogaMeasureMode(minWidth, maxWidth),
546
+ getYogaSize(minHeight, maxHeight),
547
+ getYogaMeasureMode(minHeight, maxHeight),
548
+ attachmentsPositions);
549
+ }
550
+
540
551
  /**
541
- * @param surfaceID {@link int} surface ID
552
+ * @param surfaceId {@link int} surface ID
542
553
  * @param defaultTextInputPadding {@link float[]} output parameter will contain the default theme
543
554
  * padding used by RN Android TextInput.
544
555
  * @return if theme data is available in the output parameters.
545
556
  */
546
- @DoNotStrip
547
- public boolean getThemeData(int surfaceID, float[] defaultTextInputPadding) {
548
- ThemedReactContext themedReactContext = mReactContextForRootTag.get(surfaceID);
549
- if (themedReactContext == null) {
550
- // TODO T68526882: Review if this should cause a crash instead.
551
- ReactSoftException.logSoftException(
552
- TAG,
553
- new ReactNoCrashSoftException(
554
- "Unable to find ThemedReactContext associated to surfaceID: " + surfaceID));
555
- return false;
556
- }
557
+ public boolean getThemeData(int surfaceId, float[] defaultTextInputPadding) {
558
+ SurfaceMountingManager surfaceMountingManager =
559
+ mMountingManager.getSurfaceManagerEnforced(surfaceId, "getThemeData");
560
+ ThemedReactContext themedReactContext = surfaceMountingManager.getContext();
557
561
  float[] defaultTextInputPaddingForTheme =
558
562
  UIManagerHelper.getDefaultTextInputPadding(themedReactContext);
559
563
  defaultTextInputPadding[0] = defaultTextInputPaddingForTheme[PADDING_START_INDEX];
@@ -563,6 +567,14 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
563
567
  return true;
564
568
  }
565
569
 
570
+ public void addUIManagerEventListener(UIManagerListener listener) {
571
+ mListeners.add(listener);
572
+ }
573
+
574
+ public void removeUIManagerEventListener(UIManagerListener listener) {
575
+ mListeners.remove(listener);
576
+ }
577
+
566
578
  @Override
567
579
  @UiThread
568
580
  @ThreadConfined(UI)
@@ -572,11 +584,11 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
572
584
 
573
585
  int commitNumber = mCurrentSynchronousCommitNumber++;
574
586
 
575
- // We are on the UI thread so this would otherwise be safe to call, *BUT* we don't know
576
- // where we are on the callstack. Why isn't this safe, and why do we have additional safeguards
577
- // here?
587
+ // We are on the UI thread so it would otherwise be safe to call `tryDispatchMountItems` here to
588
+ // flush previously-queued mountitems, *BUT* we don't know where we are on the callstack.
589
+ // Why isn't it safe, and why do we have additional safeguards here?
578
590
  //
579
- // A tangible example where this will cause a crash:
591
+ // A tangible example where it would cause a crash, and did in the past:
580
592
  // 1. There are queued "delete" mutations
581
593
  // 2. We're called by this stack trace:
582
594
  // FabricUIManager.synchronouslyUpdateViewOnUIThread(FabricUIManager.java:574)
@@ -593,32 +605,34 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
593
605
  // android.widget.ScrollView.overScrollBy(ScrollView.java:2040)
594
606
  // android.widget.ScrollView.computeScroll(ScrollView.java:1481)
595
607
  // android.view.View.updateDisplayListIfDirty(View.java:20466)
596
- if (!ReactFeatureFlags.enableDrawMutationFix) {
597
- tryDispatchMountItems();
598
- }
608
+ // 3. A view is deleted while its parent is being drawn, causing a crash.
599
609
 
600
610
  MountItem synchronousMountItem =
601
611
  new MountItem() {
602
612
  @Override
603
613
  public void execute(@NonNull MountingManager mountingManager) {
604
614
  try {
605
- updatePropsMountItem(reactTag, props).execute(mountingManager);
615
+ mountingManager.updateProps(reactTag, props);
606
616
  } catch (Exception ex) {
607
- // TODO T42943890: Fix animations in Fabric and remove this try/catch
608
- ReactSoftException.logSoftException(
609
- TAG,
610
- new ReactNoCrashSoftException(
611
- "Caught exception in synchronouslyUpdateViewOnUIThread", ex));
617
+ // TODO T42943890: Fix animations in Fabric and remove this try/catch?
618
+ // There might always be race conditions between surface teardown and
619
+ // animations/other operations, so it may not be feasible to remove this.
620
+ // Practically 100% of reported errors from this point are because the
621
+ // surface has stopped by this point, but the MountItem was queued before
622
+ // the surface was stopped. It's likely not feasible to prevent all such races.
612
623
  }
613
624
  }
625
+
626
+ @Override
627
+ public int getSurfaceId() {
628
+ return View.NO_ID;
629
+ }
614
630
  };
615
631
 
616
632
  // If the reactTag exists, we assume that it might at the end of the next
617
633
  // batch of MountItems. Otherwise, we try to execute immediately.
618
634
  if (!mMountingManager.getViewExists(reactTag)) {
619
- synchronized (mMountItemsLock) {
620
- mMountItems.add(synchronousMountItem);
621
- }
635
+ mMountItemDispatcher.addMountItem(synchronousMountItem);
622
636
  return;
623
637
  }
624
638
 
@@ -639,20 +653,42 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
639
653
  ReactMarkerConstants.FABRIC_UPDATE_UI_MAIN_THREAD_END, null, commitNumber);
640
654
  }
641
655
 
642
- public void addUIManagerEventListener(UIManagerListener listener) {
643
- mListeners.add(listener);
656
+ @SuppressWarnings("unused")
657
+ @AnyThread
658
+ @ThreadConfined(ANY)
659
+ private void preallocateView(
660
+ int rootTag,
661
+ int reactTag,
662
+ final String componentName,
663
+ @Nullable ReadableMap props,
664
+ @Nullable Object stateWrapper,
665
+ @Nullable Object eventEmitterWrapper,
666
+ boolean isLayoutable) {
667
+
668
+ mMountItemDispatcher.addPreAllocateMountItem(
669
+ new PreAllocateViewMountItem(
670
+ rootTag,
671
+ reactTag,
672
+ getFabricComponentName(componentName),
673
+ props,
674
+ (StateWrapper) stateWrapper,
675
+ (EventEmitterWrapper) eventEmitterWrapper,
676
+ isLayoutable));
644
677
  }
645
678
 
646
- public void removeUIManagerEventListener(UIManagerListener listener) {
647
- mListeners.remove(listener);
679
+ @SuppressWarnings("unused")
680
+ @AnyThread
681
+ @ThreadConfined(ANY)
682
+ private MountItem createIntBufferBatchMountItem(
683
+ int rootTag, int[] intBuffer, Object[] objBuffer, int commitNumber) {
684
+ return new IntBufferBatchMountItem(rootTag, intBuffer, objBuffer, commitNumber);
648
685
  }
649
686
 
650
687
  /**
651
688
  * This method enqueues UI operations directly to the UI thread. This might change in the future
652
- * to enforce execution order using {@link ReactChoreographer#CallbackType}. This method should
689
+ * to enforce execution order using {@link ReactChoreographer.CallbackType}. This method should
653
690
  * only be called as the result of a new tree being committed.
654
691
  */
655
- @DoNotStrip
656
692
  @SuppressWarnings("unused")
657
693
  @AnyThread
658
694
  @ThreadConfined(ANY)
@@ -669,12 +705,9 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
669
705
  // When Binding.cpp calls scheduleMountItems during a commit phase, it always calls with
670
706
  // a BatchMountItem. No other sites call into this with a BatchMountItem, and Binding.cpp only
671
707
  // calls scheduleMountItems with a BatchMountItem.
672
- boolean isClassicBatchMountItem = mountItem instanceof BatchMountItem;
673
- boolean isIntBufferMountItem = mountItem instanceof IntBufferBatchMountItem;
674
- boolean isBatchMountItem = isClassicBatchMountItem || isIntBufferMountItem;
708
+ boolean isBatchMountItem = mountItem instanceof IntBufferBatchMountItem;
675
709
  boolean shouldSchedule =
676
- (isClassicBatchMountItem && ((BatchMountItem) mountItem).shouldSchedule())
677
- || (isIntBufferMountItem && ((IntBufferBatchMountItem) mountItem).shouldSchedule())
710
+ (isBatchMountItem && ((IntBufferBatchMountItem) mountItem).shouldSchedule())
678
711
  || (!isBatchMountItem && mountItem != null);
679
712
 
680
713
  // In case of sync rendering, this could be called on the UI thread. Otherwise,
@@ -691,13 +724,11 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
691
724
  mDispatchViewUpdatesTime = SystemClock.uptimeMillis();
692
725
  }
693
726
 
694
- if (shouldSchedule && mountItem != null) {
695
- synchronized (mMountItemsLock) {
696
- mMountItems.add(mountItem);
697
- }
727
+ if (shouldSchedule) {
728
+ mMountItemDispatcher.addMountItem(mountItem);
698
729
  if (UiThreadUtil.isOnUiThread()) {
699
730
  // We only read these flags on the UI thread.
700
- tryDispatchMountItems();
731
+ mMountItemDispatcher.tryDispatchMountItems();
701
732
  }
702
733
  }
703
734
 
@@ -727,306 +758,6 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
727
758
  }
728
759
  }
729
760
 
730
- @UiThread
731
- @ThreadConfined(UI)
732
- private void tryDispatchMountItems() {
733
- // If we're already dispatching, don't reenter.
734
- // Reentrance can potentially happen a lot on Android in Fabric because
735
- // `updateState` from the
736
- // mounting layer causes mount items to be dispatched synchronously. We want to 1) make sure
737
- // we don't reenter in those cases, but 2) still execute those queued instructions
738
- // synchronously.
739
- // This is a pretty blunt tool, but we might not have better options since we really don't want
740
- // to execute anything out-of-order.
741
- if (mInDispatch) {
742
- return;
743
- }
744
-
745
- final boolean didDispatchItems;
746
- try {
747
- didDispatchItems = dispatchMountItems();
748
- } catch (Throwable e) {
749
- mReDispatchCounter = 0;
750
- mLastExecutedMountItemSurfaceId = -1;
751
- throw e;
752
- } finally {
753
- // Clean up after running dispatchMountItems - even if an exception was thrown
754
- mInDispatch = false;
755
- }
756
-
757
- for (UIManagerListener listener : mListeners) {
758
- listener.didDispatchMountItems(this);
759
- }
760
-
761
- // Decide if we want to try reentering
762
- if (mReDispatchCounter < 10 && didDispatchItems) {
763
- // Executing twice in a row is normal. Only log after that point.
764
- if (mReDispatchCounter > 2) {
765
- ReactSoftException.logSoftException(
766
- TAG,
767
- new ReactNoCrashSoftException(
768
- "Re-dispatched "
769
- + mReDispatchCounter
770
- + " times. This indicates setState (?) is likely being called too many times during mounting."));
771
- }
772
-
773
- mReDispatchCounter++;
774
- tryDispatchMountItems();
775
- }
776
- mReDispatchCounter = 0;
777
- mLastExecutedMountItemSurfaceId = -1;
778
- }
779
-
780
- @UiThread
781
- @ThreadConfined(UI)
782
- private List<DispatchCommandMountItem> getAndResetViewCommandMountItems() {
783
- synchronized (mViewCommandMountItemsLock) {
784
- List<DispatchCommandMountItem> result = mViewCommandMountItems;
785
- if (result.isEmpty()) {
786
- return null;
787
- }
788
- mViewCommandMountItems = new ArrayList<>();
789
- return result;
790
- }
791
- }
792
-
793
- @UiThread
794
- @ThreadConfined(UI)
795
- private List<MountItem> getAndResetMountItems() {
796
- synchronized (mMountItemsLock) {
797
- List<MountItem> result = mMountItems;
798
- if (result.isEmpty()) {
799
- return null;
800
- }
801
- mMountItems = new ArrayList<>();
802
- return result;
803
- }
804
- }
805
-
806
- private ArrayDeque<PreAllocateViewMountItem> getAndResetPreMountItems() {
807
- synchronized (mPreMountItemsLock) {
808
- ArrayDeque<PreAllocateViewMountItem> result = mPreMountItems;
809
- if (result.isEmpty()) {
810
- return null;
811
- }
812
- mPreMountItems = new ArrayDeque<>(PRE_MOUNT_ITEMS_INITIAL_SIZE_ARRAY);
813
- return result;
814
- }
815
- }
816
-
817
- /**
818
- * Check if a surfaceId is active and ready for MountItems to be executed against it. It is safe
819
- * and cheap to call this repeatedly because we expect many operations to be batched with the same
820
- * surfaceId in a row and we memoize the parameters and results.
821
- *
822
- * @param surfaceId
823
- * @param context
824
- * @return
825
- */
826
- @UiThread
827
- @ThreadConfined(UI)
828
- private boolean surfaceActiveForExecution(int surfaceId, String context) {
829
- if (mLastExecutedMountItemSurfaceId != surfaceId) {
830
- mLastExecutedMountItemSurfaceId = surfaceId;
831
- mLastExecutedMountItemSurfaceIdActive = mReactContextForRootTag.get(surfaceId) != null;
832
-
833
- // If there are many MountItems with the same SurfaceId, we only
834
- // log a warning for the first one that is skipped.
835
- if (!mLastExecutedMountItemSurfaceIdActive) {
836
- ReactSoftException.logSoftException(
837
- TAG,
838
- new ReactNoCrashSoftException(
839
- "dispatchMountItems: skipping "
840
- + context
841
- + ", because surface not available: "
842
- + surfaceId));
843
- }
844
- }
845
-
846
- return mLastExecutedMountItemSurfaceIdActive;
847
- }
848
-
849
- private static void printMountItem(MountItem mountItem, String prefix) {
850
- // If a MountItem description is split across multiple lines, it's because it's a
851
- // compound MountItem. Log each line separately.
852
- String[] mountItemLines = mountItem.toString().split("\n");
853
- for (String m : mountItemLines) {
854
- FLog.e(TAG, prefix + ": " + m);
855
- }
856
- }
857
-
858
- @UiThread
859
- @ThreadConfined(UI)
860
- /** Nothing should call this directly except for `tryDispatchMountItems`. */
861
- private boolean dispatchMountItems() {
862
- if (mReDispatchCounter == 0) {
863
- mBatchedExecutionTime = 0;
864
- }
865
-
866
- mRunStartTime = SystemClock.uptimeMillis();
867
-
868
- List<DispatchCommandMountItem> viewCommandMountItemsToDispatch =
869
- getAndResetViewCommandMountItems();
870
- List<MountItem> mountItemsToDispatch = getAndResetMountItems();
871
-
872
- if (mountItemsToDispatch == null && viewCommandMountItemsToDispatch == null) {
873
- return false;
874
- }
875
-
876
- // As an optimization, execute all ViewCommands first
877
- // This should be:
878
- // 1) Performant: ViewCommands are often a replacement for SetNativeProps, which we've always
879
- // wanted to be as "synchronous" as possible.
880
- // 2) Safer: ViewCommands are inherently disconnected from the tree commit/diff/mount process.
881
- // JS imperatively queues these commands.
882
- // If JS has queued a command, it's reasonable to assume that the more time passes, the more
883
- // likely it is that the view disappears.
884
- // Thus, by executing ViewCommands early, we should actually avoid a category of
885
- // errors/glitches.
886
- if (viewCommandMountItemsToDispatch != null) {
887
- Systrace.beginSection(
888
- Systrace.TRACE_TAG_REACT_JAVA_BRIDGE,
889
- "FabricUIManager::mountViews viewCommandMountItems to execute: "
890
- + viewCommandMountItemsToDispatch.size());
891
- for (DispatchCommandMountItem command : viewCommandMountItemsToDispatch) {
892
- if (ENABLE_FABRIC_LOGS) {
893
- printMountItem(command, "dispatchMountItems: Executing viewCommandMountItem");
894
- }
895
- try {
896
- command.execute(mMountingManager);
897
- } catch (RetryableMountingLayerException e) {
898
- // If the exception is marked as Retryable, we retry the viewcommand exactly once, after
899
- // the current batch of mount items has finished executing.
900
- if (command.getRetries() == 0) {
901
- command.incrementRetries();
902
- dispatchCommandMountItem(command);
903
- } else {
904
- // It's very common for commands to be executed on views that no longer exist - for
905
- // example, a blur event on TextInput being fired because of a navigation event away
906
- // from the current screen. If the exception is marked as Retryable, we log a soft
907
- // exception but never crash in debug.
908
- // It's not clear that logging this is even useful, because these events are very
909
- // common, mundane, and there's not much we can do about them currently.
910
- ReactSoftException.logSoftException(
911
- TAG,
912
- new ReactNoCrashSoftException(
913
- "Caught exception executing ViewCommand: " + command.toString(), e));
914
- }
915
- } catch (Throwable e) {
916
- // Non-Retryable exceptions are logged as soft exceptions in prod, but crash in Debug.
917
- ReactSoftException.logSoftException(
918
- TAG,
919
- new RuntimeException(
920
- "Caught exception executing ViewCommand: " + command.toString(), e));
921
- }
922
- }
923
-
924
- Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
925
- }
926
-
927
- // If there are MountItems to dispatch, we make sure all the "pre mount items" are executed
928
- // first
929
- ArrayDeque<PreAllocateViewMountItem> mPreMountItemsToDispatch = getAndResetPreMountItems();
930
-
931
- if (mPreMountItemsToDispatch != null) {
932
- Systrace.beginSection(
933
- Systrace.TRACE_TAG_REACT_JAVA_BRIDGE,
934
- "FabricUIManager::mountViews preMountItems to execute: "
935
- + mPreMountItemsToDispatch.size());
936
-
937
- while (!mPreMountItemsToDispatch.isEmpty()) {
938
- PreAllocateViewMountItem mountItem = mPreMountItemsToDispatch.pollFirst();
939
- if (surfaceActiveForExecution(
940
- mountItem.getRootTag(), "dispatchMountItems PreAllocateViewMountItem")) {
941
- mountItem.execute(mMountingManager);
942
- }
943
- }
944
-
945
- Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
946
- }
947
-
948
- if (mountItemsToDispatch != null) {
949
- Systrace.beginSection(
950
- Systrace.TRACE_TAG_REACT_JAVA_BRIDGE,
951
- "FabricUIManager::mountViews mountItems to execute: " + mountItemsToDispatch.size());
952
-
953
- long batchedExecutionStartTime = SystemClock.uptimeMillis();
954
-
955
- for (MountItem mountItem : mountItemsToDispatch) {
956
- if (ENABLE_FABRIC_LOGS) {
957
- printMountItem(mountItem, "dispatchMountItems: Executing mountItem");
958
- }
959
-
960
- try {
961
- // Make sure surface associated with this MountItem has been started, and not stopped.
962
- // TODO T68118357: clean up this logic and simplify this method overall
963
- if (mountItem instanceof BatchMountItem) {
964
- BatchMountItem batchMountItem = (BatchMountItem) mountItem;
965
- if (!surfaceActiveForExecution(
966
- batchMountItem.getRootTag(), "dispatchMountItems BatchMountItem")) {
967
- continue;
968
- }
969
- }
970
-
971
- mountItem.execute(mMountingManager);
972
- } catch (Throwable e) {
973
- // If there's an exception, we want to log diagnostics in prod and rethrow.
974
- FLog.e(TAG, "dispatchMountItems: caught exception, displaying all MountItems", e);
975
- for (MountItem m : mountItemsToDispatch) {
976
- printMountItem(m, "dispatchMountItems: mountItem");
977
- }
978
-
979
- if (ReactIgnorableMountingException.isIgnorable(e)) {
980
- ReactSoftException.logSoftException(TAG, e);
981
- } else {
982
- throw e;
983
- }
984
- }
985
- }
986
- mBatchedExecutionTime += SystemClock.uptimeMillis() - batchedExecutionStartTime;
987
- }
988
- Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
989
-
990
- return true;
991
- }
992
-
993
- @UiThread
994
- @ThreadConfined(UI)
995
- private void dispatchPreMountItems(long frameTimeNanos) {
996
- Systrace.beginSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "FabricUIManager::premountViews");
997
-
998
- // dispatchPreMountItems cannot be reentrant, but we want to prevent dispatchMountItems from
999
- // reentering during dispatchPreMountItems
1000
- mInDispatch = true;
1001
-
1002
- try {
1003
- while (true) {
1004
- long timeLeftInFrame = FRAME_TIME_MS - ((System.nanoTime() - frameTimeNanos) / 1000000);
1005
- if (timeLeftInFrame < MAX_TIME_IN_FRAME_FOR_NON_BATCHED_OPERATIONS_MS) {
1006
- break;
1007
- }
1008
-
1009
- PreAllocateViewMountItem preMountItemToDispatch;
1010
- synchronized (mPreMountItemsLock) {
1011
- if (mPreMountItems.isEmpty()) {
1012
- break;
1013
- }
1014
- preMountItemToDispatch = mPreMountItems.pollFirst();
1015
- }
1016
-
1017
- if (surfaceActiveForExecution(
1018
- preMountItemToDispatch.getRootTag(), "dispatchPreMountItems")) {
1019
- preMountItemToDispatch.execute(mMountingManager);
1020
- }
1021
- }
1022
- } finally {
1023
- mInDispatch = false;
1024
- mLastExecutedMountItemSurfaceId = -1;
1025
- }
1026
-
1027
- Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
1028
- }
1029
-
1030
761
  public void setBinding(Binding binding) {
1031
762
  mBinding = binding;
1032
763
  }
@@ -1038,17 +769,28 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
1038
769
  @UiThread
1039
770
  @ThreadConfined(UI)
1040
771
  public void updateRootLayoutSpecs(
1041
- final int rootTag,
772
+ final int surfaceId,
1042
773
  final int widthMeasureSpec,
1043
774
  final int heightMeasureSpec,
1044
775
  final int offsetX,
1045
776
  final int offsetY) {
1046
777
 
1047
778
  if (ENABLE_FABRIC_LOGS) {
1048
- FLog.d(TAG, "Updating Root Layout Specs");
779
+ FLog.d(TAG, "Updating Root Layout Specs for [%d]", surfaceId);
780
+ }
781
+
782
+ SurfaceMountingManager surfaceMountingManager = mMountingManager.getSurfaceManager(surfaceId);
783
+
784
+ // TODO T83615646: make this a hard-crash in the future.
785
+ if (surfaceMountingManager == null) {
786
+ ReactSoftExceptionLogger.logSoftException(
787
+ TAG,
788
+ new IllegalViewOperationException(
789
+ "Cannot updateRootLayoutSpecs on surfaceId that does not exist: " + surfaceId));
790
+ return;
1049
791
  }
1050
792
 
1051
- ThemedReactContext reactContext = mReactContextForRootTag.get(rootTag);
793
+ ThemedReactContext reactContext = surfaceMountingManager.getContext();
1052
794
  boolean isRTL = false;
1053
795
  boolean doLeftAndRightSwapInRTL = false;
1054
796
  if (reactContext != null) {
@@ -1057,7 +799,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
1057
799
  }
1058
800
 
1059
801
  mBinding.setConstraints(
1060
- rootTag,
802
+ surfaceId,
1061
803
  getMinSize(widthMeasureSpec),
1062
804
  getMaxSize(widthMeasureSpec),
1063
805
  getMinSize(heightMeasureSpec),
@@ -1068,16 +810,68 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
1068
810
  doLeftAndRightSwapInRTL);
1069
811
  }
1070
812
 
813
+ @Override
814
+ public View resolveView(int reactTag) {
815
+ UiThreadUtil.assertOnUiThread();
816
+
817
+ SurfaceMountingManager surfaceManager = mMountingManager.getSurfaceManagerForView(reactTag);
818
+ return surfaceManager == null ? null : surfaceManager.getView(reactTag);
819
+ }
820
+
1071
821
  @Override
1072
822
  public void receiveEvent(int reactTag, String eventName, @Nullable WritableMap params) {
1073
- EventEmitterWrapper eventEmitter = mMountingManager.getEventEmitter(reactTag);
823
+ receiveEvent(View.NO_ID, reactTag, eventName, params);
824
+ }
825
+
826
+ @Override
827
+ public void receiveEvent(
828
+ int surfaceId, int reactTag, String eventName, @Nullable WritableMap params) {
829
+ receiveEvent(surfaceId, reactTag, eventName, false, 0, params);
830
+ }
831
+
832
+ /**
833
+ * receiveEvent API that emits an event to C++. If `canCoalesceEvent` is true, that signals that
834
+ * C++ may coalesce the event optionally. Otherwise, coalescing can happen in Java before
835
+ * emitting.
836
+ *
837
+ * <p>`customCoalesceKey` is currently unused.
838
+ *
839
+ * @param surfaceId
840
+ * @param reactTag
841
+ * @param eventName
842
+ * @param canCoalesceEvent
843
+ * @param customCoalesceKey
844
+ * @param params
845
+ */
846
+ public void receiveEvent(
847
+ int surfaceId,
848
+ int reactTag,
849
+ String eventName,
850
+ boolean canCoalesceEvent,
851
+ int customCoalesceKey,
852
+ @Nullable WritableMap params) {
853
+ if (ReactBuildConfig.DEBUG && surfaceId == View.NO_ID) {
854
+ FLog.d(TAG, "Emitted event without surfaceId: [%d] %s", reactTag, eventName);
855
+ }
856
+
857
+ if (mDestroyed) {
858
+ FLog.e(TAG, "Attempted to receiveEvent after destruction");
859
+ return;
860
+ }
861
+
862
+ EventEmitterWrapper eventEmitter = mMountingManager.getEventEmitter(surfaceId, reactTag);
863
+
1074
864
  if (eventEmitter == null) {
1075
865
  // This can happen if the view has disappeared from the screen (because of async events)
1076
866
  FLog.d(TAG, "Unable to invoke event: " + eventName + " for reactTag: " + reactTag);
1077
867
  return;
1078
868
  }
1079
869
 
1080
- eventEmitter.invoke(eventName, params);
870
+ if (canCoalesceEvent) {
871
+ eventEmitter.invokeUnique(eventName, params, customCoalesceKey);
872
+ } else {
873
+ eventEmitter.invoke(eventName, params);
874
+ }
1081
875
  }
1082
876
 
1083
877
  @Override
@@ -1102,38 +896,73 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
1102
896
  @Override
1103
897
  public void onHostDestroy() {}
1104
898
 
1105
- @Deprecated
1106
899
  @Override
900
+ @Deprecated
1107
901
  @AnyThread
1108
902
  @ThreadConfined(ANY)
1109
903
  public void dispatchCommand(
1110
904
  final int reactTag, final int commandId, @Nullable final ReadableArray commandArgs) {
1111
- dispatchCommandMountItem(new DispatchIntCommandMountItem(reactTag, commandId, commandArgs));
905
+ throw new UnsupportedOperationException(
906
+ "dispatchCommand called without surfaceId - Fabric dispatchCommand must be called through Fabric JSI API");
1112
907
  }
1113
908
 
1114
909
  @Override
910
+ @Deprecated
1115
911
  @AnyThread
1116
912
  @ThreadConfined(ANY)
1117
913
  public void dispatchCommand(
1118
914
  final int reactTag, final String commandId, @Nullable final ReadableArray commandArgs) {
1119
- dispatchCommandMountItem(new DispatchStringCommandMountItem(reactTag, commandId, commandArgs));
915
+ throw new UnsupportedOperationException(
916
+ "dispatchCommand called without surfaceId - Fabric dispatchCommand must be called through Fabric JSI API");
1120
917
  }
1121
918
 
919
+ @Deprecated
1122
920
  @AnyThread
1123
921
  @ThreadConfined(ANY)
1124
- private void dispatchCommandMountItem(DispatchCommandMountItem command) {
1125
- synchronized (mViewCommandMountItemsLock) {
1126
- mViewCommandMountItems.add(command);
1127
- }
922
+ public void dispatchCommand(
923
+ final int surfaceId,
924
+ final int reactTag,
925
+ final int commandId,
926
+ @Nullable final ReadableArray commandArgs) {
927
+ mMountItemDispatcher.dispatchCommandMountItem(
928
+ new DispatchIntCommandMountItem(surfaceId, reactTag, commandId, commandArgs));
929
+ }
930
+
931
+ @AnyThread
932
+ @ThreadConfined(ANY)
933
+ public void dispatchCommand(
934
+ final int surfaceId,
935
+ final int reactTag,
936
+ final String commandId,
937
+ @Nullable final ReadableArray commandArgs) {
938
+ mMountItemDispatcher.dispatchCommandMountItem(
939
+ new DispatchStringCommandMountItem(surfaceId, reactTag, commandId, commandArgs));
1128
940
  }
1129
941
 
1130
942
  @Override
1131
943
  @AnyThread
1132
944
  @ThreadConfined(ANY)
1133
945
  public void sendAccessibilityEvent(int reactTag, int eventType) {
1134
- synchronized (mMountItemsLock) {
1135
- mMountItems.add(new SendAccessibilityEvent(reactTag, eventType));
946
+ // Can be called from native, not just JS - we need to migrate the native callsites
947
+ // before removing this entirely.
948
+ mMountItemDispatcher.addMountItem(new SendAccessibilityEvent(View.NO_ID, reactTag, eventType));
949
+ }
950
+
951
+ @AnyThread
952
+ @ThreadConfined(ANY)
953
+ public void sendAccessibilityEventFromJS(int surfaceId, int reactTag, String eventTypeJS) {
954
+ int eventType;
955
+ if ("focus".equals(eventTypeJS)) {
956
+ eventType = AccessibilityEvent.TYPE_VIEW_FOCUSED;
957
+ } else if ("windowStateChange".equals(eventTypeJS)) {
958
+ eventType = AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED;
959
+ } else if ("click".equals(eventTypeJS)) {
960
+ eventType = AccessibilityEvent.TYPE_VIEW_CLICKED;
961
+ } else {
962
+ throw new IllegalArgumentException(
963
+ "sendAccessibilityEventFromJS: invalid eventType " + eventTypeJS);
1136
964
  }
965
+ mMountItemDispatcher.addMountItem(new SendAccessibilityEvent(surfaceId, reactTag, eventType));
1137
966
  }
1138
967
 
1139
968
  /**
@@ -1143,35 +972,50 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
1143
972
  * @param initialReactTag React tag of the JS view that initiated the touch operation
1144
973
  * @param blockNativeResponder If native responder should be blocked or not
1145
974
  */
1146
- @DoNotStrip
1147
975
  public void setJSResponder(
1148
- final int reactTag, final int initialReactTag, final boolean blockNativeResponder) {
1149
- synchronized (mMountItemsLock) {
1150
- mMountItems.add(
1151
- new MountItem() {
1152
- @Override
1153
- public void execute(MountingManager mountingManager) {
1154
- mountingManager.setJSResponder(reactTag, initialReactTag, blockNativeResponder);
976
+ final int surfaceId,
977
+ final int reactTag,
978
+ final int initialReactTag,
979
+ final boolean blockNativeResponder) {
980
+ mMountItemDispatcher.addMountItem(
981
+ new MountItem() {
982
+ @Override
983
+ public void execute(MountingManager mountingManager) {
984
+ SurfaceMountingManager surfaceMountingManager =
985
+ mountingManager.getSurfaceManager(surfaceId);
986
+ if (surfaceMountingManager != null) {
987
+ surfaceMountingManager.setJSResponder(
988
+ reactTag, initialReactTag, blockNativeResponder);
989
+ } else {
990
+ FLog.e(
991
+ TAG, "setJSResponder skipped, surface no longer available [" + surfaceId + "]");
1155
992
  }
1156
- });
1157
- }
993
+ }
994
+
995
+ @Override
996
+ public int getSurfaceId() {
997
+ return surfaceId;
998
+ }
999
+ });
1158
1000
  }
1159
1001
 
1160
1002
  /**
1161
- * Clears the JS Responder specified by {@link #setJSResponder(int, int, boolean)}. After this
1162
- * method is called, all the touch events are going to be handled by JS.
1003
+ * Clears the JS Responder specified by {@link #setJSResponder}. After this method is called, all
1004
+ * the touch events are going to be handled by JS.
1163
1005
  */
1164
- @DoNotStrip
1165
1006
  public void clearJSResponder() {
1166
- synchronized (mMountItemsLock) {
1167
- mMountItems.add(
1168
- new MountItem() {
1169
- @Override
1170
- public void execute(MountingManager mountingManager) {
1171
- mountingManager.clearJSResponder();
1172
- }
1173
- });
1174
- }
1007
+ mMountItemDispatcher.addMountItem(
1008
+ new MountItem() {
1009
+ @Override
1010
+ public void execute(MountingManager mountingManager) {
1011
+ mountingManager.clearJSResponder();
1012
+ }
1013
+
1014
+ @Override
1015
+ public int getSurfaceId() {
1016
+ return View.NO_ID;
1017
+ }
1018
+ });
1175
1019
  }
1176
1020
 
1177
1021
  @Override
@@ -1186,21 +1030,19 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
1186
1030
  if (eventName == null) {
1187
1031
  return null;
1188
1032
  }
1189
- if (eventName.substring(0, 3).equals("top")) {
1033
+ if (eventName.startsWith("top")) {
1190
1034
  return "on" + eventName.substring(3);
1191
1035
  }
1192
1036
  return eventName;
1193
1037
  }
1194
1038
 
1195
1039
  // Called from Binding.cpp
1196
- @DoNotStrip
1197
1040
  @AnyThread
1198
1041
  public void onAnimationStarted() {
1199
1042
  mDriveCxxAnimations = true;
1200
1043
  }
1201
1044
 
1202
1045
  // Called from Binding.cpp
1203
- @DoNotStrip
1204
1046
  @AnyThread
1205
1047
  public void onAllAnimationsComplete() {
1206
1048
  mDriveCxxAnimations = false;
@@ -1212,13 +1054,22 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
1212
1054
  performanceCounters.put("CommitStartTime", mCommitStartTime);
1213
1055
  performanceCounters.put("LayoutTime", mLayoutTime);
1214
1056
  performanceCounters.put("DispatchViewUpdatesTime", mDispatchViewUpdatesTime);
1215
- performanceCounters.put("RunStartTime", mRunStartTime);
1216
- performanceCounters.put("BatchedExecutionTime", mBatchedExecutionTime);
1057
+ performanceCounters.put("RunStartTime", mMountItemDispatcher.getRunStartTime());
1058
+ performanceCounters.put("BatchedExecutionTime", mMountItemDispatcher.getBatchedExecutionTime());
1217
1059
  performanceCounters.put("FinishFabricTransactionTime", mFinishTransactionTime);
1218
1060
  performanceCounters.put("FinishFabricTransactionCPPTime", mFinishTransactionCPPTime);
1219
1061
  return performanceCounters;
1220
1062
  }
1221
1063
 
1064
+ private class MountItemDispatchListener implements MountItemDispatcher.ItemDispatchListener {
1065
+ @Override
1066
+ public void didDispatchMountItems() {
1067
+ for (UIManagerListener listener : mListeners) {
1068
+ listener.didDispatchMountItems(FabricUIManager.this);
1069
+ }
1070
+ }
1071
+ }
1072
+
1222
1073
  private class DispatchUIFrameCallback extends GuardedFrameCallback {
1223
1074
 
1224
1075
  private volatile boolean mIsMountingEnabled = true;
@@ -1250,9 +1101,8 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
1250
1101
  }
1251
1102
 
1252
1103
  try {
1253
- dispatchPreMountItems(frameTimeNanos);
1254
-
1255
- tryDispatchMountItems();
1104
+ mMountItemDispatcher.dispatchPreMountItems(frameTimeNanos);
1105
+ mMountItemDispatcher.tryDispatchMountItems();
1256
1106
  } catch (Exception ex) {
1257
1107
  FLog.e(TAG, "Exception thrown when executing UIFrameGuarded", ex);
1258
1108
  stop();