react-native-tvos 0.66.3-2 → 0.68.1-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 (3152) hide show
  1. package/LICENSE +1 -1
  2. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +18 -5
  3. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +3 -1
  4. package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
  5. package/Libraries/Alert/Alert.js +4 -4
  6. package/Libraries/Alert/NativeAlertManager.js +1 -1
  7. package/Libraries/Alert/RCTAlertManager.android.js +2 -2
  8. package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
  9. package/Libraries/Animated/Animated.js +1 -1
  10. package/Libraries/Animated/AnimatedEvent.js +34 -10
  11. package/Libraries/Animated/AnimatedImplementation.js +116 -85
  12. package/Libraries/Animated/AnimatedMock.js +65 -22
  13. package/Libraries/{Components/Touchable/__mocks__/ensureComponentIsNative.js → Animated/AnimatedPlatformConfig.js} +3 -2
  14. package/Libraries/Animated/AnimatedWeb.js +1 -1
  15. package/Libraries/Animated/Easing.js +38 -40
  16. package/Libraries/Animated/NativeAnimatedHelper.js +26 -23
  17. package/Libraries/Animated/NativeAnimatedModule.js +1 -1
  18. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -1
  19. package/Libraries/Animated/SpringConfig.js +11 -11
  20. package/Libraries/Animated/animations/Animation.js +6 -4
  21. package/Libraries/Animated/animations/DecayAnimation.js +6 -1
  22. package/Libraries/Animated/animations/SpringAnimation.js +16 -1
  23. package/Libraries/Animated/animations/TimingAnimation.js +15 -2
  24. package/Libraries/Animated/bezier.js +20 -9
  25. package/Libraries/Animated/components/AnimatedFlatList.js +1 -1
  26. package/Libraries/Animated/components/AnimatedImage.js +4 -4
  27. package/Libraries/Animated/components/AnimatedScrollView.js +4 -4
  28. package/Libraries/Animated/components/AnimatedSectionList.js +1 -1
  29. package/Libraries/Animated/components/AnimatedText.js +4 -4
  30. package/Libraries/Animated/components/AnimatedView.js +2 -4
  31. package/Libraries/Animated/createAnimatedComponent.js +7 -38
  32. package/Libraries/Animated/createAnimatedComponentInjection.js +1 -1
  33. package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +1 -1
  34. package/Libraries/Animated/nodes/AnimatedAddition.js +6 -5
  35. package/Libraries/Animated/nodes/AnimatedColor.js +266 -0
  36. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +5 -4
  37. package/Libraries/Animated/nodes/AnimatedDivision.js +6 -5
  38. package/Libraries/Animated/nodes/AnimatedInterpolation.js +8 -6
  39. package/Libraries/Animated/nodes/AnimatedModulo.js +5 -4
  40. package/Libraries/Animated/nodes/AnimatedMultiplication.js +6 -5
  41. package/Libraries/Animated/nodes/AnimatedNode.js +31 -18
  42. package/Libraries/Animated/nodes/AnimatedProps.js +12 -4
  43. package/Libraries/Animated/nodes/AnimatedStyle.js +9 -7
  44. package/Libraries/Animated/nodes/AnimatedSubtraction.js +6 -5
  45. package/Libraries/Animated/nodes/AnimatedTracking.js +8 -6
  46. package/Libraries/Animated/nodes/AnimatedTransform.js +6 -4
  47. package/Libraries/Animated/nodes/AnimatedValue.js +21 -12
  48. package/Libraries/Animated/nodes/AnimatedValueXY.js +14 -14
  49. package/Libraries/Animated/nodes/AnimatedWithChildren.js +6 -5
  50. package/Libraries/Animated/useAnimatedProps.js +1 -1
  51. package/Libraries/AppState/AppState.js +9 -8
  52. package/Libraries/AppState/NativeAppState.js +1 -1
  53. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  54. package/Libraries/BatchedBridge/MessageQueue.js +7 -9
  55. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  56. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +1 -1
  57. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +3 -3
  58. package/Libraries/Blob/Blob.js +1 -1
  59. package/Libraries/Blob/BlobManager.js +1 -1
  60. package/Libraries/Blob/BlobRegistry.js +1 -1
  61. package/Libraries/Blob/BlobTypes.js +1 -1
  62. package/Libraries/Blob/File.js +1 -1
  63. package/Libraries/Blob/FileReader.js +1 -1
  64. package/Libraries/Blob/NativeBlobModule.js +1 -1
  65. package/Libraries/Blob/NativeFileReaderModule.js +1 -1
  66. package/Libraries/Blob/RCTBlobCollector.h +1 -1
  67. package/Libraries/Blob/RCTBlobCollector.mm +1 -1
  68. package/Libraries/Blob/RCTBlobManager.h +1 -1
  69. package/Libraries/Blob/RCTBlobManager.mm +2 -2
  70. package/Libraries/Blob/RCTBlobPlugins.h +1 -1
  71. package/Libraries/Blob/RCTBlobPlugins.mm +1 -1
  72. package/Libraries/Blob/RCTFileReaderModule.h +1 -1
  73. package/Libraries/Blob/RCTFileReaderModule.mm +1 -1
  74. package/Libraries/Blob/React-RCTBlob.podspec +3 -3
  75. package/Libraries/Blob/URL.js +26 -21
  76. package/Libraries/Blob/__mocks__/BlobModule.js +1 -1
  77. package/Libraries/Blob/__mocks__/FileReaderModule.js +1 -1
  78. package/Libraries/BugReporting/BugReporting.js +1 -1
  79. package/Libraries/BugReporting/NativeBugReporting.js +1 -1
  80. package/Libraries/BugReporting/dumpReactTree.js +1 -1
  81. package/Libraries/BugReporting/getReactData.js +15 -6
  82. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +89 -29
  83. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +4 -1
  84. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -1
  85. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  86. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  87. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -1
  88. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +5 -5
  89. package/Libraries/Components/AppleTV/{TVMenuControl.js → TVEventControl.js} +8 -0
  90. package/Libraries/Components/AppleTV/tagForComponentOrHandle.js +34 -0
  91. package/Libraries/Components/Button.js +4 -1
  92. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  93. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -1
  94. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +1 -1
  95. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +21 -8
  96. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +1 -1
  97. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -1
  98. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +3 -3
  99. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +9 -11
  100. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  101. package/Libraries/Components/Keyboard/Keyboard.js +7 -6
  102. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +11 -6
  103. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -1
  104. package/Libraries/Components/MaskedView/MaskedViewIOS.android.js +1 -1
  105. package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +1 -1
  106. package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +1 -1
  107. package/Libraries/Components/Pressable/Pressable.js +38 -2
  108. package/Libraries/Components/Pressable/useAndroidRippleForView.js +1 -1
  109. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +6 -5
  110. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js +1 -1
  111. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +1 -1
  112. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
  113. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +3 -2
  114. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +1 -1
  115. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +1 -2
  116. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +1 -1
  117. package/Libraries/Components/RefreshControl/RefreshControl.js +3 -8
  118. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +3 -4
  119. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
  120. package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -3
  121. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +3 -1
  122. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +17 -6
  123. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +4 -6
  124. package/Libraries/Components/ScrollView/ScrollView.js +39 -31
  125. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  126. package/Libraries/Components/ScrollView/ScrollViewContext.js +1 -1
  127. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +135 -71
  128. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +2 -1
  129. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +269 -253
  130. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +2 -1
  131. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  132. package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +1 -1
  133. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +1 -1
  134. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +3 -9
  135. package/Libraries/Components/Slider/Slider.js +1 -1
  136. package/Libraries/Components/Slider/SliderNativeComponent.js +3 -3
  137. package/Libraries/Components/Sound/NativeSoundManager.js +1 -1
  138. package/Libraries/Components/Sound/SoundManager.js +2 -2
  139. package/Libraries/Components/StaticRenderer.js +1 -1
  140. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -1
  141. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -1
  142. package/Libraries/Components/StatusBar/StatusBar.js +1 -1
  143. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +1 -1
  144. package/Libraries/Components/Switch/Switch.js +3 -2
  145. package/Libraries/Components/Switch/SwitchNativeComponent.js +1 -1
  146. package/Libraries/Components/TabBarIOS/TabBarItemIOS.ios.js +9 -1
  147. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +175 -14
  148. package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
  149. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
  150. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +10 -5
  151. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +6 -5
  152. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +32 -11
  153. package/Libraries/Components/TextInput/TextInput.js +131 -31
  154. package/Libraries/Components/TextInput/TextInputNativeCommands.js +1 -1
  155. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  156. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -1
  157. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +4 -4
  158. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +4 -4
  159. package/Libraries/Components/Touchable/BoundingDimensions.js +3 -3
  160. package/Libraries/Components/Touchable/PooledClass.js +12 -12
  161. package/Libraries/Components/Touchable/Position.js +2 -2
  162. package/Libraries/Components/Touchable/Touchable.js +30 -40
  163. package/Libraries/Components/Touchable/TouchableBounce.js +3 -6
  164. package/Libraries/Components/Touchable/TouchableHighlight.js +3 -6
  165. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +5 -12
  166. package/Libraries/Components/Touchable/TouchableOpacity.js +13 -14
  167. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -6
  168. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
  169. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  170. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
  171. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -1
  172. package/Libraries/Components/View/ReactNativeViewViewConfig.js +13 -2
  173. package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +1 -1
  174. package/Libraries/Components/View/View.js +2 -2
  175. package/Libraries/Components/View/ViewAccessibility.js +2 -2
  176. package/Libraries/Components/View/ViewNativeComponent.js +4 -5
  177. package/Libraries/Components/View/ViewPropTypes.js +38 -31
  178. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  179. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  180. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  181. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  182. package/Libraries/Core/Devtools/parseHermesStack.js +3 -2
  183. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  184. package/Libraries/Core/ExceptionsManager.js +46 -81
  185. package/Libraries/Core/ExtendedError.js +1 -2
  186. package/Libraries/Core/InitializeCore.js +1 -3
  187. package/Libraries/Core/NativeExceptionsManager.js +3 -4
  188. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  189. package/Libraries/Core/ReactNativeVersion.js +4 -4
  190. package/Libraries/Core/ReactNativeVersionCheck.js +12 -2
  191. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -1
  192. package/Libraries/Core/Timers/JSTimers.js +35 -42
  193. package/Libraries/Core/Timers/NativeTiming.js +1 -1
  194. package/Libraries/Core/Timers/immediateShim.js +1 -1
  195. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  196. package/Libraries/Core/__mocks__/ErrorUtils.js +1 -1
  197. package/Libraries/Core/checkNativeVersion.js +1 -1
  198. package/Libraries/Core/polyfillPromise.js +1 -1
  199. package/Libraries/Core/setUpAlert.js +2 -2
  200. package/Libraries/Core/setUpBatchedBridge.js +16 -4
  201. package/Libraries/Core/setUpDeveloperTools.js +2 -2
  202. package/Libraries/Core/setUpErrorHandling.js +2 -2
  203. package/Libraries/Core/setUpGlobals.js +3 -5
  204. package/Libraries/Core/setUpNavigator.js +1 -1
  205. package/Libraries/Core/setUpPerformance.js +2 -2
  206. package/Libraries/Core/setUpReactDevTools.js +1 -1
  207. package/Libraries/Core/setUpReactRefresh.js +1 -1
  208. package/Libraries/Core/setUpRegeneratorRuntime.js +2 -2
  209. package/Libraries/Core/setUpSegmentFetcher.js +5 -5
  210. package/Libraries/Core/setUpSystrace.js +1 -1
  211. package/Libraries/Core/setUpTimers.js +14 -4
  212. package/Libraries/Core/setUpXHR.js +1 -1
  213. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -2
  214. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
  215. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  216. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  217. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -2
  218. package/Libraries/FBLazyVector/FBLazyVector/FBLazyIterator.h +1 -1
  219. package/Libraries/FBLazyVector/FBLazyVector/FBLazyVector.h +1 -1
  220. package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
  221. package/Libraries/HeapCapture/HeapCapture.js +2 -2
  222. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -1
  223. package/Libraries/Image/AssetRegistry.js +1 -1
  224. package/Libraries/Image/AssetSourceResolver.js +3 -5
  225. package/Libraries/Image/AssetUtils.js +1 -1
  226. package/Libraries/Image/Image.android.js +38 -30
  227. package/Libraries/Image/Image.ios.js +23 -20
  228. package/Libraries/Image/ImageAnalyticsTagContext.js +3 -4
  229. package/Libraries/Image/ImageBackground.js +21 -10
  230. package/Libraries/Image/ImageInjection.js +1 -1
  231. package/Libraries/Image/ImagePickerIOS.js +7 -7
  232. package/Libraries/Image/ImageProps.js +46 -18
  233. package/Libraries/Image/ImageResizeMode.js +1 -1
  234. package/Libraries/Image/ImageSource.js +1 -1
  235. package/Libraries/Image/ImageViewNativeComponent.js +96 -61
  236. package/Libraries/Image/NativeImageEditor.js +1 -1
  237. package/Libraries/Image/NativeImageLoaderAndroid.js +2 -4
  238. package/Libraries/Image/NativeImageLoaderIOS.js +1 -1
  239. package/Libraries/Image/NativeImagePickerIOS.js +1 -1
  240. package/Libraries/Image/NativeImageStoreAndroid.js +1 -1
  241. package/Libraries/Image/NativeImageStoreIOS.js +1 -1
  242. package/Libraries/Image/RCTAnimatedImage.h +1 -1
  243. package/Libraries/Image/RCTAnimatedImage.m +2 -2
  244. package/Libraries/Image/RCTDisplayWeakRefreshable.h +1 -1
  245. package/Libraries/Image/RCTDisplayWeakRefreshable.m +1 -1
  246. package/Libraries/Image/RCTGIFImageDecoder.h +1 -1
  247. package/Libraries/Image/RCTGIFImageDecoder.mm +1 -1
  248. package/Libraries/Image/RCTImageBlurUtils.h +1 -1
  249. package/Libraries/Image/RCTImageBlurUtils.m +1 -1
  250. package/Libraries/Image/RCTImageCache.h +1 -1
  251. package/Libraries/Image/RCTImageCache.m +3 -3
  252. package/Libraries/Image/RCTImageDataDecoder.h +1 -1
  253. package/Libraries/Image/RCTImageEditingManager.h +1 -1
  254. package/Libraries/Image/RCTImageEditingManager.mm +1 -1
  255. package/Libraries/Image/RCTImageLoader.h +1 -1
  256. package/Libraries/Image/RCTImageLoader.mm +1 -1
  257. package/Libraries/Image/RCTImageLoaderLoggable.h +1 -1
  258. package/Libraries/Image/RCTImageLoaderProtocol.h +2 -2
  259. package/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h +1 -1
  260. package/Libraries/Image/RCTImagePlugins.h +1 -1
  261. package/Libraries/Image/RCTImagePlugins.mm +1 -1
  262. package/Libraries/Image/RCTImageShadowView.h +1 -1
  263. package/Libraries/Image/RCTImageShadowView.m +1 -1
  264. package/Libraries/Image/RCTImageStoreManager.h +1 -1
  265. package/Libraries/Image/RCTImageStoreManager.mm +1 -1
  266. package/Libraries/Image/RCTImageURLLoader.h +1 -1
  267. package/Libraries/Image/RCTImageURLLoaderWithAttribution.h +1 -1
  268. package/Libraries/Image/RCTImageURLLoaderWithAttribution.mm +1 -1
  269. package/Libraries/Image/RCTImageUtils.h +1 -1
  270. package/Libraries/Image/RCTImageUtils.m +1 -1
  271. package/Libraries/Image/RCTImageView.h +1 -1
  272. package/Libraries/Image/RCTImageView.mm +27 -15
  273. package/Libraries/Image/RCTImageViewManager.h +1 -1
  274. package/Libraries/Image/RCTImageViewManager.mm +1 -1
  275. package/Libraries/Image/RCTLocalAssetImageLoader.h +1 -1
  276. package/Libraries/Image/RCTLocalAssetImageLoader.mm +1 -1
  277. package/Libraries/Image/RCTResizeMode.h +1 -1
  278. package/Libraries/Image/RCTResizeMode.m +1 -1
  279. package/Libraries/Image/RCTUIImageViewAnimated.h +1 -1
  280. package/Libraries/Image/RCTUIImageViewAnimated.m +2 -2
  281. package/Libraries/Image/React-RCTImage.podspec +3 -3
  282. package/Libraries/Image/RelativeImageStub.js +1 -1
  283. package/Libraries/Image/TextInlineImageNativeComponent.js +14 -74
  284. package/Libraries/Image/nativeImageSource.js +3 -3
  285. package/Libraries/Image/resolveAssetSource.js +1 -1
  286. package/Libraries/Inspector/BorderBox.js +1 -1
  287. package/Libraries/Inspector/BoxInspector.js +1 -1
  288. package/Libraries/Inspector/ElementBox.js +1 -1
  289. package/Libraries/Inspector/ElementProperties.js +1 -1
  290. package/Libraries/Inspector/Inspector.js +2 -2
  291. package/Libraries/Inspector/InspectorOverlay.js +1 -1
  292. package/Libraries/Inspector/InspectorPanel.js +1 -1
  293. package/Libraries/Inspector/NetworkOverlay.js +3 -6
  294. package/Libraries/Inspector/PerformanceOverlay.js +1 -1
  295. package/Libraries/Inspector/StyleInspector.js +1 -1
  296. package/Libraries/Inspector/resolveBoxStyle.js +1 -1
  297. package/Libraries/Interaction/Batchinator.js +1 -1
  298. package/Libraries/Interaction/BridgeSpyStallHandler.js +2 -2
  299. package/Libraries/Interaction/FrameRateLogger.js +3 -3
  300. package/Libraries/Interaction/InteractionManager.js +3 -5
  301. package/Libraries/Interaction/InteractionStallDebugger.js +1 -1
  302. package/Libraries/Interaction/JSEventLoopWatchdog.js +5 -5
  303. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -1
  304. package/Libraries/Interaction/PanResponder.js +4 -5
  305. package/Libraries/Interaction/TaskQueue.js +1 -1
  306. package/Libraries/Interaction/TouchHistoryMath.js +8 -8
  307. package/Libraries/JSInspector/InspectorAgent.js +1 -1
  308. package/Libraries/JSInspector/JSInspector.js +1 -1
  309. package/Libraries/JSInspector/NetworkAgent.js +2 -7
  310. package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -4
  311. package/Libraries/Linking/Linking.js +8 -8
  312. package/Libraries/Linking/NativeIntentAndroid.js +1 -1
  313. package/Libraries/Linking/NativeLinkingManager.js +1 -1
  314. package/Libraries/LinkingIOS/RCTLinkingManager.h +1 -1
  315. package/Libraries/LinkingIOS/RCTLinkingManager.mm +1 -1
  316. package/Libraries/LinkingIOS/RCTLinkingPlugins.h +1 -1
  317. package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +1 -1
  318. package/Libraries/LinkingIOS/React-RCTLinking.podspec +3 -3
  319. package/Libraries/Lists/CellRenderMask.js +1 -1
  320. package/Libraries/Lists/FillRateHelper.js +5 -4
  321. package/Libraries/Lists/FlatList.js +4 -5
  322. package/Libraries/Lists/SectionList.js +4 -4
  323. package/Libraries/Lists/SectionListModern.js +4 -4
  324. package/Libraries/Lists/ViewabilityHelper.js +5 -11
  325. package/Libraries/Lists/VirtualizeUtils.js +3 -7
  326. package/Libraries/Lists/VirtualizedList.js +23 -33
  327. package/Libraries/Lists/VirtualizedListContext.js +3 -4
  328. package/Libraries/Lists/VirtualizedSectionList.js +54 -63
  329. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -1
  330. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  331. package/Libraries/LogBox/Data/LogBoxData.js +2 -3
  332. package/Libraries/LogBox/Data/LogBoxLog.js +1 -1
  333. package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
  334. package/Libraries/LogBox/Data/parseLogBoxLog.js +13 -24
  335. package/Libraries/LogBox/LogBox.js +4 -4
  336. package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
  337. package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
  338. package/Libraries/LogBox/UI/AnsiHighlight.js +10 -5
  339. package/Libraries/LogBox/UI/LogBoxButton.js +1 -1
  340. package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
  341. package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
  342. package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
  343. package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
  344. package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
  345. package/Libraries/LogBox/UI/LogBoxInspector.js +4 -2
  346. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +1 -1
  347. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
  348. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  349. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +1 -1
  350. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -2
  351. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +1 -1
  352. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -2
  353. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
  354. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +4 -2
  355. package/Libraries/LogBox/UI/LogBoxMessage.js +7 -3
  356. package/Libraries/LogBox/UI/LogBoxNotification.js +7 -4
  357. package/Libraries/LogBox/UI/LogBoxStyle.js +1 -1
  358. package/Libraries/Modal/Modal.js +15 -14
  359. package/Libraries/Modal/ModalInjection.js +1 -1
  360. package/Libraries/Modal/NativeModalManager.js +1 -1
  361. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +12 -12
  362. package/Libraries/NativeAnimation/Drivers/RCTAnimationDriver.h +1 -1
  363. package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.h +1 -1
  364. package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.m +1 -1
  365. package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.h +1 -1
  366. package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.m +1 -1
  367. package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.h +1 -1
  368. package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.m +1 -1
  369. package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.h +1 -1
  370. package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.m +1 -1
  371. package/Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.h +1 -1
  372. package/Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.m +1 -1
  373. package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.h +1 -1
  374. package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.m +1 -1
  375. package/Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.h +1 -1
  376. package/Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.m +1 -1
  377. package/Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.h +1 -1
  378. package/Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.m +1 -1
  379. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.h +1 -1
  380. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.m +1 -1
  381. package/Libraries/NativeAnimation/Nodes/RCTModuloAnimatedNode.h +1 -1
  382. package/Libraries/NativeAnimation/Nodes/RCTModuloAnimatedNode.m +1 -1
  383. package/Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.h +1 -1
  384. package/Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.m +1 -1
  385. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.h +1 -1
  386. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +1 -4
  387. package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.h +1 -1
  388. package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.m +1 -1
  389. package/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.h +1 -1
  390. package/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.m +1 -1
  391. package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.h +1 -1
  392. package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.m +1 -1
  393. package/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.h +1 -1
  394. package/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.m +1 -1
  395. package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.h +1 -1
  396. package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.m +1 -1
  397. package/Libraries/NativeAnimation/RCTAnimationPlugins.h +1 -1
  398. package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +1 -1
  399. package/Libraries/NativeAnimation/RCTAnimationUtils.h +1 -1
  400. package/Libraries/NativeAnimation/RCTAnimationUtils.m +1 -1
  401. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.h +1 -1
  402. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +7 -4
  403. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +43 -39
  404. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +34 -33
  405. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h +2 -5
  406. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +11 -42
  407. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +3 -3
  408. package/Libraries/NativeComponent/NativeComponentRegistry.js +30 -33
  409. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +27 -0
  410. package/Libraries/NativeComponent/StaticViewConfigValidator.js +198 -0
  411. package/Libraries/NativeComponent/ViewConfig.js +1 -1
  412. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -1
  413. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -1
  414. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -1
  415. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -1
  416. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -1
  417. package/Libraries/NativeModules/specs/NativeLogBox.js +1 -1
  418. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -1
  419. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -1
  420. package/Libraries/Network/FormData.js +1 -1
  421. package/Libraries/Network/NativeNetworkingAndroid.js +1 -1
  422. package/Libraries/Network/NativeNetworkingIOS.js +1 -1
  423. package/Libraries/Network/RCTDataRequestHandler.h +1 -1
  424. package/Libraries/Network/RCTDataRequestHandler.mm +1 -1
  425. package/Libraries/Network/RCTFileRequestHandler.h +1 -1
  426. package/Libraries/Network/RCTFileRequestHandler.mm +1 -1
  427. package/Libraries/Network/RCTHTTPRequestHandler.h +1 -1
  428. package/Libraries/Network/RCTHTTPRequestHandler.mm +1 -1
  429. package/Libraries/Network/RCTNetworkPlugins.h +1 -1
  430. package/Libraries/Network/RCTNetworkPlugins.mm +1 -1
  431. package/Libraries/Network/RCTNetworkTask.h +1 -1
  432. package/Libraries/Network/RCTNetworkTask.mm +1 -1
  433. package/Libraries/Network/RCTNetworking.android.js +1 -1
  434. package/Libraries/Network/RCTNetworking.h +1 -1
  435. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  436. package/Libraries/Network/RCTNetworking.mm +1 -1
  437. package/Libraries/Network/React-RCTNetwork.podspec +3 -3
  438. package/Libraries/Network/XHRInterceptor.js +6 -7
  439. package/Libraries/Network/XMLHttpRequest.js +44 -8
  440. package/Libraries/Network/convertRequestBody.js +1 -1
  441. package/Libraries/Network/fetch.js +1 -1
  442. package/Libraries/NewAppScreen/components/Colors.js +1 -1
  443. package/Libraries/NewAppScreen/components/DebugInstructions.js +1 -1
  444. package/Libraries/NewAppScreen/components/Header.js +1 -1
  445. package/Libraries/NewAppScreen/components/HermesBadge.js +1 -1
  446. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +1 -1
  447. package/Libraries/NewAppScreen/components/ReloadInstructions.js +1 -1
  448. package/Libraries/NewAppScreen/components/logo.png +0 -0
  449. package/Libraries/NewAppScreen/index.js +1 -1
  450. package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -1
  451. package/Libraries/Performance/PureComponentDebug.js +1 -1
  452. package/Libraries/Performance/QuickPerformanceLogger.js +18 -1
  453. package/Libraries/Performance/SamplingProfiler.js +4 -4
  454. package/Libraries/Performance/Systrace.js +9 -2
  455. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +8 -2
  456. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +22 -9
  457. package/Libraries/Pressability/HoverState.js +1 -1
  458. package/Libraries/Pressability/Pressability.js +16 -16
  459. package/Libraries/Pressability/PressabilityDebug.js +15 -12
  460. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +6 -4
  461. package/Libraries/Pressability/PressabilityTypes.js +1 -1
  462. package/Libraries/Pressability/usePressability.js +1 -1
  463. package/Libraries/Promise.js +1 -1
  464. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -1
  465. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +33 -32
  466. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.h +1 -1
  467. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +1 -2
  468. package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.h +1 -1
  469. package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +1 -1
  470. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +3 -3
  471. package/Libraries/RCTRequired/RCTRequired/RCTRequired.h +1 -1
  472. package/Libraries/RCTRequired/RCTRequired.podspec +1 -1
  473. package/Libraries/ReactNative/AppContainer.js +3 -3
  474. package/Libraries/ReactNative/AppRegistry.js +19 -15
  475. package/Libraries/ReactNative/DisplayMode.js +1 -1
  476. package/Libraries/ReactNative/DummyUIManager.js +13 -6
  477. package/Libraries/ReactNative/FabricUIManager.js +1 -1
  478. package/Libraries/ReactNative/HeadlessJsTaskError.js +1 -1
  479. package/Libraries/ReactNative/I18nManager.js +3 -6
  480. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -1
  481. package/Libraries/ReactNative/NativeI18nManager.js +1 -1
  482. package/Libraries/ReactNative/NativeUIManager.js +1 -1
  483. package/Libraries/ReactNative/PaperUIManager.js +3 -4
  484. package/Libraries/ReactNative/ReactFabricInternals.js +1 -1
  485. package/Libraries/ReactNative/RootTag.js +3 -4
  486. package/Libraries/ReactNative/UIManager.js +5 -7
  487. package/Libraries/ReactNative/UIManagerInjection.js +4 -2
  488. package/Libraries/ReactNative/UIManagerProperties.js +1 -1
  489. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +4 -2
  490. package/Libraries/ReactNative/getNativeComponentAttributes.js +21 -9
  491. package/Libraries/ReactNative/renderApplication.js +1 -1
  492. package/Libraries/ReactNative/requireNativeComponent.js +1 -1
  493. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  494. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -1
  495. package/Libraries/Reliability/UserFlow.js +1 -1
  496. package/Libraries/Renderer/REVISION +1 -1
  497. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +2602 -1200
  498. package/Libraries/Renderer/implementations/ReactFabric-dev.js +1 -1
  499. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +656 -417
  500. package/Libraries/Renderer/implementations/ReactFabric-prod.js +1 -1
  501. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +917 -473
  502. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +1 -1
  503. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +2558 -1236
  504. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +1 -1
  505. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +654 -417
  506. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1 -1
  507. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +910 -464
  508. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1 -1
  509. package/Libraries/Renderer/shims/ReactFabric.js +2 -2
  510. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  511. package/Libraries/Renderer/shims/ReactNative.js +2 -2
  512. package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -2
  513. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -4
  514. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  515. package/Libraries/Settings/NativeSettingsManager.js +1 -1
  516. package/Libraries/Settings/RCTSettingsManager.h +1 -1
  517. package/Libraries/Settings/RCTSettingsManager.mm +1 -1
  518. package/Libraries/Settings/RCTSettingsPlugins.h +1 -1
  519. package/Libraries/Settings/RCTSettingsPlugins.mm +1 -1
  520. package/Libraries/Settings/React-RCTSettings.podspec +3 -3
  521. package/Libraries/Settings/Settings.android.js +1 -1
  522. package/Libraries/Settings/Settings.ios.js +1 -1
  523. package/Libraries/Share/NativeShareModule.js +1 -1
  524. package/Libraries/Share/Share.js +2 -2
  525. package/Libraries/Storage/AsyncStorage.js +34 -35
  526. package/Libraries/Storage/NativeAsyncLocalStorage.js +1 -1
  527. package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +1 -1
  528. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  529. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  530. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  531. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  532. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  533. package/Libraries/StyleSheet/PointPropType.js +1 -1
  534. package/Libraries/StyleSheet/Rect.js +1 -1
  535. package/Libraries/StyleSheet/StyleSheet.js +3 -2
  536. package/Libraries/StyleSheet/StyleSheetTypes.js +2 -2
  537. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +1 -1
  538. package/Libraries/StyleSheet/flattenStyle.js +1 -1
  539. package/Libraries/StyleSheet/normalizeColor.js +3 -3
  540. package/Libraries/StyleSheet/processColor.js +3 -3
  541. package/Libraries/StyleSheet/processColorArray.js +1 -1
  542. package/Libraries/StyleSheet/processTransform.js +21 -2
  543. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  544. package/Libraries/StyleSheet/splitLayoutProps.js +2 -4
  545. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.h +1 -1
  546. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.mm +1 -1
  547. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.h +1 -1
  548. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.mm +1 -1
  549. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent+Internal.h +1 -1
  550. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.h +1 -1
  551. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +1 -1
  552. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentController.h +1 -1
  553. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentController.mm +1 -1
  554. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentOptions.h +1 -1
  555. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentState.h +1 -1
  556. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentState.mm +1 -1
  557. package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +1 -1
  558. package/Libraries/Text/BaseText/RCTBaseTextShadowView.m +1 -1
  559. package/Libraries/Text/BaseText/RCTBaseTextViewManager.h +1 -1
  560. package/Libraries/Text/BaseText/RCTBaseTextViewManager.m +1 -1
  561. package/Libraries/Text/RCTConvert+Text.h +1 -1
  562. package/Libraries/Text/RCTConvert+Text.m +1 -1
  563. package/Libraries/Text/RCTTextAttributes.h +1 -1
  564. package/Libraries/Text/RCTTextAttributes.m +19 -2
  565. package/Libraries/Text/RCTTextTransform.h +1 -1
  566. package/Libraries/Text/RawText/RCTRawTextShadowView.h +1 -1
  567. package/Libraries/Text/RawText/RCTRawTextShadowView.m +1 -1
  568. package/Libraries/Text/RawText/RCTRawTextViewManager.h +1 -1
  569. package/Libraries/Text/RawText/RCTRawTextViewManager.m +1 -1
  570. package/Libraries/Text/React-RCTText.podspec +1 -1
  571. package/Libraries/Text/Text/NSTextStorage+FontScaling.h +1 -1
  572. package/Libraries/Text/Text/NSTextStorage+FontScaling.m +1 -1
  573. package/Libraries/Text/Text/RCTTextShadowView.h +1 -1
  574. package/Libraries/Text/Text/RCTTextShadowView.m +1 -1
  575. package/Libraries/Text/Text/RCTTextView.h +1 -1
  576. package/Libraries/Text/Text/RCTTextView.m +1 -1
  577. package/Libraries/Text/Text/RCTTextViewManager.h +1 -1
  578. package/Libraries/Text/Text/RCTTextViewManager.m +1 -1
  579. package/Libraries/Text/Text.js +11 -12
  580. package/Libraries/Text/TextAncestor.js +1 -1
  581. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.h +1 -1
  582. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.m +1 -1
  583. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.h +1 -1
  584. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.m +1 -1
  585. package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +1 -1
  586. package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +6 -32
  587. package/Libraries/Text/TextInput/RCTBackedTextInputDelegate.h +1 -1
  588. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.h +1 -1
  589. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.m +1 -1
  590. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +5 -1
  591. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.h +1 -1
  592. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.m +1 -1
  593. package/Libraries/Text/TextInput/RCTBaseTextInputView.h +2 -1
  594. package/Libraries/Text/TextInput/RCTBaseTextInputView.m +7 -15
  595. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.h +1 -1
  596. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.m +6 -2
  597. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.h +1 -1
  598. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.m +1 -1
  599. package/Libraries/Text/TextInput/RCTInputAccessoryView.h +1 -1
  600. package/Libraries/Text/TextInput/RCTInputAccessoryView.m +1 -1
  601. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.h +1 -1
  602. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +5 -12
  603. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.h +1 -1
  604. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.m +1 -1
  605. package/Libraries/Text/TextInput/RCTTextSelection.h +1 -1
  606. package/Libraries/Text/TextInput/RCTTextSelection.m +1 -1
  607. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.h +1 -1
  608. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.m +1 -1
  609. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.h +1 -1
  610. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.m +1 -1
  611. package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +4 -1
  612. package/Libraries/Text/TextInput/Singleline/RCTUITextField.m +1 -1
  613. package/Libraries/Text/TextNativeComponent.js +10 -8
  614. package/Libraries/Text/TextProps.js +20 -26
  615. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.h +1 -1
  616. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.m +1 -1
  617. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.h +1 -1
  618. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.m +1 -1
  619. package/Libraries/TurboModule/RCTExport.js +1 -1
  620. package/Libraries/TurboModule/TurboModuleRegistry.js +2 -2
  621. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -1
  622. package/Libraries/TypeSafety/RCTConvertHelpers.h +1 -1
  623. package/Libraries/TypeSafety/RCTConvertHelpers.mm +1 -1
  624. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  625. package/Libraries/TypeSafety/RCTTypedModuleConstants.h +1 -1
  626. package/Libraries/TypeSafety/RCTTypedModuleConstants.mm +1 -1
  627. package/Libraries/Types/CodegenTypes.js +1 -1
  628. package/Libraries/Types/CoreEventTypes.js +1 -1
  629. package/Libraries/Types/RootTagTypes.js +1 -1
  630. package/Libraries/UTFSequence.js +1 -1
  631. package/Libraries/Utilities/Appearance.js +7 -6
  632. package/Libraries/Utilities/BackHandler.android.js +5 -5
  633. package/Libraries/Utilities/BackHandler.ios.js +1 -1
  634. package/Libraries/Utilities/DebugEnvironment.js +1 -1
  635. package/Libraries/Utilities/DevSettings.js +1 -1
  636. package/Libraries/Utilities/DeviceInfo.js +1 -1
  637. package/Libraries/Utilities/Dimensions.js +1 -1
  638. package/Libraries/Utilities/FeatureDetection.js +1 -1
  639. package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -1
  640. package/Libraries/Utilities/HMRClient.js +4 -4
  641. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  642. package/Libraries/Utilities/JSDevSupportModule.js +4 -5
  643. package/Libraries/Utilities/LoadingView.android.js +1 -1
  644. package/Libraries/Utilities/LoadingView.ios.js +1 -1
  645. package/Libraries/Utilities/LoadingView.js +1 -1
  646. package/Libraries/Utilities/MatrixMath.js +20 -20
  647. package/Libraries/Utilities/NativeAppearance.js +1 -1
  648. package/Libraries/Utilities/NativeDevLoadingView.js +1 -1
  649. package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -1
  650. package/Libraries/Utilities/NativeDeviceInfo.js +1 -1
  651. package/Libraries/Utilities/NativeJSDevSupport.js +1 -1
  652. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -1
  653. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -1
  654. package/Libraries/Utilities/PerformanceLoggerContext.js +3 -4
  655. package/Libraries/Utilities/PixelRatio.js +1 -1
  656. package/Libraries/Utilities/Platform.android.js +1 -1
  657. package/Libraries/Utilities/Platform.ios.js +1 -1
  658. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  659. package/Libraries/Utilities/RCTLog.js +1 -1
  660. package/Libraries/Utilities/ReactNativeTestTools.js +8 -12
  661. package/Libraries/Utilities/SceneTracker.js +5 -4
  662. package/Libraries/Utilities/__mocks__/BackHandler.js +4 -4
  663. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +1 -1
  664. package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
  665. package/Libraries/Utilities/binaryToBase64.js +1 -1
  666. package/Libraries/Utilities/buildStyleInterpolator.js +10 -10
  667. package/Libraries/Utilities/clamp.js +1 -1
  668. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  669. package/Libraries/Utilities/codegenNativeComponent.js +4 -3
  670. package/Libraries/Utilities/createPerformanceLogger.js +1 -1
  671. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +3 -3
  672. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  673. package/Libraries/Utilities/deprecatedPropType.js +1 -1
  674. package/Libraries/Utilities/differ/deepDiffer.js +2 -2
  675. package/Libraries/Utilities/differ/insetsDiffer.js +2 -2
  676. package/Libraries/Utilities/differ/matricesDiffer.js +6 -2
  677. package/Libraries/Utilities/differ/pointsDiffer.js +2 -2
  678. package/Libraries/Utilities/differ/sizesDiffer.js +11 -5
  679. package/Libraries/Utilities/dismissKeyboard.js +1 -1
  680. package/Libraries/Utilities/groupByEveryN.js +1 -1
  681. package/Libraries/Utilities/infoLog.js +1 -1
  682. package/Libraries/Utilities/logError.js +2 -2
  683. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  684. package/Libraries/Utilities/mergeIntoFast.js +2 -2
  685. package/Libraries/Utilities/setAndForwardRef.js +1 -1
  686. package/Libraries/Utilities/stringifySafe.js +1 -1
  687. package/Libraries/Utilities/truncate.js +2 -2
  688. package/Libraries/Utilities/useColorScheme.js +1 -1
  689. package/Libraries/Utilities/useMergeRefs.js +1 -1
  690. package/Libraries/Utilities/useRefEffect.js +1 -1
  691. package/Libraries/Utilities/useWindowDimensions.js +6 -2
  692. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +4 -2
  693. package/Libraries/Utilities/warnOnce.js +1 -1
  694. package/Libraries/Vibration/NativeVibration.js +1 -1
  695. package/Libraries/Vibration/RCTVibration.h +1 -1
  696. package/Libraries/Vibration/RCTVibration.mm +1 -1
  697. package/Libraries/Vibration/RCTVibrationPlugins.h +1 -1
  698. package/Libraries/Vibration/RCTVibrationPlugins.mm +1 -1
  699. package/Libraries/Vibration/React-RCTVibration.podspec +3 -3
  700. package/Libraries/Vibration/Vibration.js +6 -6
  701. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -1
  702. package/Libraries/WebSocket/RCTReconnectingWebSocket.h +1 -1
  703. package/Libraries/WebSocket/RCTReconnectingWebSocket.m +1 -1
  704. package/Libraries/WebSocket/RCTSRWebSocket.m +4 -0
  705. package/Libraries/WebSocket/WebSocket.js +1 -1
  706. package/Libraries/WebSocket/WebSocketEvent.js +1 -1
  707. package/Libraries/WebSocket/WebSocketInterceptor.js +7 -7
  708. package/Libraries/WebSocket/__mocks__/event-target-shim.js +1 -1
  709. package/Libraries/Wrapper/Example/RCTWrapperExampleView.h +1 -1
  710. package/Libraries/Wrapper/Example/RCTWrapperExampleView.m +1 -1
  711. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.h +1 -1
  712. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.m +1 -1
  713. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.h +1 -1
  714. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +1 -1
  715. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.h +1 -1
  716. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.m +1 -1
  717. package/Libraries/Wrapper/RCTWrapper.h +1 -1
  718. package/Libraries/Wrapper/RCTWrapperShadowView.h +1 -1
  719. package/Libraries/Wrapper/RCTWrapperShadowView.m +1 -1
  720. package/Libraries/Wrapper/RCTWrapperView.h +1 -1
  721. package/Libraries/Wrapper/RCTWrapperView.m +1 -1
  722. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.h +1 -1
  723. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.m +1 -1
  724. package/Libraries/Wrapper/RCTWrapperViewManager.h +1 -1
  725. package/Libraries/Wrapper/RCTWrapperViewManager.m +1 -1
  726. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  727. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +1 -1
  728. package/Libraries/promiseRejectionTrackingOptions.js +2 -2
  729. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  730. package/Libraries/vendor/emitter/EventEmitter.js +1 -1
  731. package/Libraries/vendor/emitter/EventSubscription.js +1 -1
  732. package/Libraries/vendor/emitter/_EmitterSubscription.js +3 -2
  733. package/Libraries/vendor/emitter/_EventEmitter.js +3 -2
  734. package/Libraries/vendor/emitter/_EventSubscription.js +3 -2
  735. package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +2 -2
  736. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +1 -1
  737. package/README.md +17 -2
  738. package/React/AppSetup/RCTAppSetupUtils.h +44 -0
  739. package/React/AppSetup/RCTAppSetupUtils.mm +129 -0
  740. package/React/Base/RCTAssert.h +1 -1
  741. package/React/Base/RCTAssert.m +1 -1
  742. package/React/Base/RCTBridge+Private.h +9 -1
  743. package/React/Base/RCTBridge.h +10 -1
  744. package/React/Base/RCTBridge.m +32 -8
  745. package/React/Base/RCTBridgeDelegate.h +1 -1
  746. package/React/Base/RCTBridgeMethod.h +2 -2
  747. package/React/Base/RCTBridgeModule.h +3 -12
  748. package/React/Base/RCTBundleManager.m +1 -1
  749. package/React/Base/RCTBundleURLProvider.h +8 -25
  750. package/React/Base/RCTBundleURLProvider.mm +22 -41
  751. package/React/Base/RCTCallableJSModules.m +1 -1
  752. package/React/Base/RCTComponentEvent.h +1 -1
  753. package/React/Base/RCTComponentEvent.m +1 -1
  754. package/React/Base/RCTConstants.h +1 -13
  755. package/React/Base/RCTConstants.m +1 -31
  756. package/React/Base/RCTConvert.h +1 -1
  757. package/React/Base/RCTConvert.m +20 -3
  758. package/React/Base/RCTCxxConvert.h +1 -1
  759. package/React/Base/RCTCxxConvert.m +1 -1
  760. package/React/Base/RCTDefines.h +13 -4
  761. package/React/Base/RCTDisplayLink.h +1 -1
  762. package/React/Base/RCTDisplayLink.m +7 -3
  763. package/React/Base/RCTErrorCustomizer.h +1 -1
  764. package/React/Base/RCTErrorInfo.h +1 -1
  765. package/React/Base/RCTErrorInfo.m +1 -1
  766. package/React/Base/RCTEventDispatcher.m +1 -1
  767. package/React/Base/RCTEventDispatcherProtocol.h +3 -1
  768. package/React/Base/RCTFrameUpdate.h +1 -1
  769. package/React/Base/RCTFrameUpdate.m +1 -1
  770. package/React/Base/RCTImageSource.h +1 -1
  771. package/React/Base/RCTImageSource.m +1 -1
  772. package/React/Base/RCTInitializing.h +1 -1
  773. package/React/Base/RCTInvalidating.h +1 -1
  774. package/React/Base/RCTJSScriptLoaderModule.h +1 -1
  775. package/React/Base/RCTJSStackFrame.h +1 -1
  776. package/React/Base/RCTJSStackFrame.m +1 -1
  777. package/React/Base/RCTJSThread.h +29 -0
  778. package/React/Base/RCTJSThread.m +19 -0
  779. package/React/Base/RCTJavaScriptExecutor.h +1 -1
  780. package/React/Base/RCTJavaScriptLoader.h +1 -1
  781. package/React/Base/RCTJavaScriptLoader.mm +1 -1
  782. package/React/Base/RCTKeyCommands.h +1 -1
  783. package/React/Base/RCTKeyCommands.m +1 -1
  784. package/React/Base/RCTLog.h +1 -1
  785. package/React/Base/RCTLog.mm +1 -1
  786. package/React/Base/RCTManagedPointer.h +1 -1
  787. package/React/Base/RCTManagedPointer.mm +1 -1
  788. package/React/Base/RCTMockDef.h +61 -0
  789. package/React/Base/RCTModuleData.h +1 -1
  790. package/React/Base/RCTModuleData.mm +1 -1
  791. package/React/Base/RCTModuleMethod.h +1 -1
  792. package/React/Base/RCTModuleMethod.mm +1 -1
  793. package/React/Base/RCTModuleRegistry.m +1 -1
  794. package/React/Base/RCTMultipartDataTask.h +1 -1
  795. package/React/Base/RCTMultipartDataTask.m +1 -1
  796. package/React/Base/RCTMultipartStreamReader.h +1 -1
  797. package/React/Base/RCTMultipartStreamReader.m +1 -1
  798. package/React/Base/RCTNullability.h +2 -2
  799. package/React/Base/RCTPLTag.h +29 -0
  800. package/React/Base/RCTParserUtils.h +1 -1
  801. package/React/Base/RCTParserUtils.m +1 -1
  802. package/React/Base/RCTPerformanceLogger.h +2 -31
  803. package/React/Base/RCTPerformanceLogger.m +5 -35
  804. package/React/Base/RCTPerformanceLoggerLabels.h +12 -0
  805. package/React/Base/RCTPerformanceLoggerLabels.m +56 -0
  806. package/React/Base/RCTRedBoxSetEnabled.h +1 -1
  807. package/React/Base/RCTRedBoxSetEnabled.m +1 -1
  808. package/React/Base/RCTReloadCommand.h +1 -1
  809. package/React/Base/RCTReloadCommand.m +1 -1
  810. package/React/Base/RCTRootContentView.h +1 -1
  811. package/React/Base/RCTRootContentView.m +1 -1
  812. package/React/Base/RCTRootView.h +16 -1
  813. package/React/Base/RCTRootView.m +18 -4
  814. package/React/Base/RCTRootViewDelegate.h +1 -1
  815. package/React/Base/RCTRootViewInternal.h +2 -2
  816. package/React/Base/RCTTVRemoteHandler.h +26 -15
  817. package/React/Base/RCTTVRemoteHandler.m +128 -20
  818. package/React/Base/RCTTouchEvent.h +1 -1
  819. package/React/Base/RCTTouchEvent.m +1 -1
  820. package/React/Base/RCTTouchHandler.h +1 -1
  821. package/React/Base/RCTTouchHandler.m +2 -10
  822. package/React/Base/RCTURLRequestDelegate.h +1 -1
  823. package/React/Base/RCTURLRequestHandler.h +1 -1
  824. package/React/Base/RCTUtils.h +4 -1
  825. package/React/Base/RCTUtils.m +15 -8
  826. package/React/Base/RCTUtilsUIOverride.h +1 -1
  827. package/React/Base/RCTUtilsUIOverride.m +1 -1
  828. package/React/Base/RCTVersion.h +1 -1
  829. package/React/Base/RCTVersion.m +4 -4
  830. package/React/Base/RCTViewRegistry.m +1 -1
  831. package/React/Base/RCTWeakProxy.h +1 -1
  832. package/React/Base/RCTWeakProxy.m +1 -1
  833. package/React/Base/Surface/RCTSurface.h +1 -1
  834. package/React/Base/Surface/RCTSurface.mm +3 -5
  835. package/React/Base/Surface/RCTSurfaceDelegate.h +1 -1
  836. package/React/Base/Surface/RCTSurfaceProtocol.h +3 -4
  837. package/React/Base/Surface/RCTSurfaceRootShadowView.h +1 -1
  838. package/React/Base/Surface/RCTSurfaceRootShadowView.m +1 -1
  839. package/React/Base/Surface/RCTSurfaceRootShadowViewDelegate.h +1 -1
  840. package/React/Base/Surface/RCTSurfaceRootView.h +1 -1
  841. package/React/Base/Surface/RCTSurfaceRootView.mm +1 -1
  842. package/React/Base/Surface/RCTSurfaceStage.h +1 -1
  843. package/React/Base/Surface/RCTSurfaceStage.m +1 -1
  844. package/React/Base/Surface/RCTSurfaceView+Internal.h +1 -1
  845. package/React/Base/Surface/RCTSurfaceView.h +1 -1
  846. package/React/Base/Surface/RCTSurfaceView.mm +1 -1
  847. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +12 -1
  848. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +40 -9
  849. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +1 -1
  850. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +5 -3
  851. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceSizeMeasureMode.h +1 -1
  852. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceSizeMeasureMode.mm +1 -1
  853. package/React/CoreModules/CoreModulesPlugins.h +1 -1
  854. package/React/CoreModules/CoreModulesPlugins.mm +1 -1
  855. package/React/CoreModules/RCTAccessibilityManager+Internal.h +24 -0
  856. package/React/CoreModules/RCTAccessibilityManager.h +1 -1
  857. package/React/CoreModules/RCTAccessibilityManager.mm +41 -4
  858. package/React/CoreModules/RCTActionSheetManager.h +1 -1
  859. package/React/CoreModules/RCTActionSheetManager.mm +15 -6
  860. package/React/CoreModules/RCTAlertController.h +1 -1
  861. package/React/CoreModules/RCTAlertController.m +8 -2
  862. package/React/CoreModules/RCTAlertManager.h +1 -1
  863. package/React/CoreModules/RCTAlertManager.mm +1 -1
  864. package/React/CoreModules/RCTAppState.h +1 -1
  865. package/React/CoreModules/RCTAppState.mm +1 -1
  866. package/React/CoreModules/RCTAppearance.h +2 -1
  867. package/React/CoreModules/RCTAppearance.mm +6 -1
  868. package/React/CoreModules/RCTAsyncLocalStorage.h +1 -1
  869. package/React/CoreModules/RCTAsyncLocalStorage.mm +1 -1
  870. package/React/CoreModules/RCTClipboard.h +1 -1
  871. package/React/CoreModules/RCTClipboard.mm +1 -1
  872. package/React/CoreModules/RCTDevLoadingView.h +1 -1
  873. package/React/CoreModules/RCTDevLoadingView.mm +6 -11
  874. package/React/CoreModules/RCTDevMenu.h +1 -1
  875. package/React/CoreModules/RCTDevMenu.mm +4 -6
  876. package/React/CoreModules/RCTDevSettings.h +1 -1
  877. package/React/CoreModules/RCTDevSettings.mm +40 -19
  878. package/React/CoreModules/RCTDevSplitBundleLoader.h +1 -1
  879. package/React/CoreModules/RCTDevSplitBundleLoader.mm +2 -2
  880. package/React/CoreModules/RCTDeviceInfo.h +1 -1
  881. package/React/CoreModules/RCTDeviceInfo.mm +6 -5
  882. package/React/CoreModules/RCTEventDispatcher.h +1 -1
  883. package/React/CoreModules/RCTEventDispatcher.mm +6 -1
  884. package/React/CoreModules/RCTExceptionsManager.h +1 -1
  885. package/React/CoreModules/RCTExceptionsManager.mm +13 -26
  886. package/React/CoreModules/RCTFPSGraph.h +1 -1
  887. package/React/CoreModules/RCTFPSGraph.m +5 -5
  888. package/React/CoreModules/RCTI18nManager.h +1 -1
  889. package/React/CoreModules/RCTI18nManager.mm +1 -1
  890. package/React/CoreModules/RCTKeyboardObserver.h +1 -1
  891. package/React/CoreModules/RCTKeyboardObserver.mm +1 -1
  892. package/React/CoreModules/RCTLogBox.h +1 -1
  893. package/React/CoreModules/RCTLogBox.mm +2 -2
  894. package/React/CoreModules/RCTLogBoxView.h +1 -1
  895. package/React/CoreModules/RCTLogBoxView.mm +1 -1
  896. package/React/CoreModules/RCTPerfMonitor.mm +23 -6
  897. package/React/CoreModules/RCTPlatform.h +1 -1
  898. package/React/CoreModules/RCTPlatform.mm +1 -1
  899. package/React/CoreModules/RCTRedBox.h +1 -1
  900. package/React/CoreModules/RCTRedBox.mm +9 -10
  901. package/React/CoreModules/RCTSourceCode.h +1 -1
  902. package/React/CoreModules/RCTSourceCode.mm +1 -1
  903. package/React/CoreModules/RCTStatusBarManager.h +1 -1
  904. package/React/CoreModules/RCTStatusBarManager.mm +1 -1
  905. package/React/CoreModules/RCTTiming.h +1 -1
  906. package/React/CoreModules/RCTTiming.mm +1 -1
  907. package/React/CoreModules/RCTWebSocketExecutor.h +1 -1
  908. package/React/CoreModules/RCTWebSocketExecutor.mm +1 -1
  909. package/React/CoreModules/RCTWebSocketModule.h +1 -1
  910. package/React/CoreModules/RCTWebSocketModule.mm +1 -1
  911. package/React/CoreModules/React-CoreModules.podspec +3 -3
  912. package/React/CxxBridge/JSCExecutorFactory.h +1 -1
  913. package/React/CxxBridge/JSCExecutorFactory.mm +1 -1
  914. package/React/CxxBridge/NSDataBigString.h +1 -1
  915. package/React/CxxBridge/NSDataBigString.mm +1 -1
  916. package/React/CxxBridge/RCTCxxBridge.mm +22 -11
  917. package/React/CxxBridge/RCTCxxBridgeDelegate.h +1 -1
  918. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.h +1 -1
  919. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +4 -3
  920. package/React/CxxBridge/RCTMessageThread.h +1 -1
  921. package/React/CxxBridge/RCTMessageThread.mm +1 -1
  922. package/React/CxxBridge/RCTObjcExecutor.h +1 -1
  923. package/React/CxxBridge/RCTObjcExecutor.mm +1 -1
  924. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.h +18 -0
  925. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +39 -0
  926. package/React/CxxModule/DispatchMessageQueueThread.h +1 -1
  927. package/React/CxxModule/RCTCxxMethod.h +1 -1
  928. package/React/CxxModule/RCTCxxMethod.mm +1 -1
  929. package/React/CxxModule/RCTCxxModule.h +1 -1
  930. package/React/CxxModule/RCTCxxModule.mm +1 -1
  931. package/React/CxxModule/RCTCxxUtils.h +1 -1
  932. package/React/CxxModule/RCTCxxUtils.mm +1 -1
  933. package/React/CxxModule/RCTNativeModule.h +1 -1
  934. package/React/CxxModule/RCTNativeModule.mm +1 -1
  935. package/React/CxxUtils/RCTFollyConvert.h +1 -1
  936. package/React/CxxUtils/RCTFollyConvert.mm +1 -1
  937. package/React/DevSupport/RCTDevLoadingViewProtocol.h +1 -1
  938. package/React/DevSupport/RCTDevLoadingViewSetEnabled.h +1 -1
  939. package/React/DevSupport/RCTDevLoadingViewSetEnabled.m +1 -1
  940. package/React/DevSupport/RCTInspectorDevServerHelper.h +1 -1
  941. package/React/DevSupport/RCTInspectorDevServerHelper.mm +1 -1
  942. package/React/DevSupport/RCTPackagerClient.h +1 -1
  943. package/React/DevSupport/RCTPackagerClient.m +1 -1
  944. package/React/DevSupport/RCTPackagerConnection.h +4 -1
  945. package/React/DevSupport/RCTPackagerConnection.mm +10 -6
  946. package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +13 -5
  947. package/React/Fabric/Mounting/ComponentViews/ActivityIndicator/RCTActivityIndicatorViewComponentView.h +1 -1
  948. package/React/Fabric/Mounting/ComponentViews/ActivityIndicator/RCTActivityIndicatorViewComponentView.mm +1 -1
  949. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.h +1 -1
  950. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +1 -1
  951. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.h +1 -1
  952. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm +1 -1
  953. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryContentView.h +1 -1
  954. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryContentView.mm +7 -16
  955. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.h +1 -1
  956. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +1 -1
  957. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.h +1 -1
  958. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +1 -1
  959. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.h +1 -1
  960. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +1 -1
  961. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.h +1 -1
  962. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +1 -4
  963. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +2 -1
  964. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +2 -2
  965. package/React/Fabric/Mounting/ComponentViews/Root/RCTRootComponentView.h +1 -1
  966. package/React/Fabric/Mounting/ComponentViews/Root/RCTRootComponentView.mm +2 -2
  967. package/React/Fabric/Mounting/ComponentViews/SafeAreaView/RCTSafeAreaViewComponentView.h +1 -1
  968. package/React/Fabric/Mounting/ComponentViews/SafeAreaView/RCTSafeAreaViewComponentView.mm +1 -1
  969. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.h +1 -1
  970. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +6 -8
  971. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.h +1 -1
  972. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +15 -2
  973. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +2 -2
  974. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +30 -94
  975. package/React/Fabric/Mounting/ComponentViews/Slider/RCTSliderComponentView.h +1 -1
  976. package/React/Fabric/Mounting/ComponentViews/Slider/RCTSliderComponentView.mm +21 -10
  977. package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.h +1 -1
  978. package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +11 -1
  979. package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.h +1 -1
  980. package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.mm +1 -1
  981. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.h +1 -1
  982. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.mm +1 -1
  983. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.h +1 -1
  984. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +1 -1
  985. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.h +1 -1
  986. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +50 -11
  987. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputNativeCommands.h +1 -1
  988. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.h +4 -4
  989. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +5 -8
  990. package/React/Fabric/Mounting/ComponentViews/UnimplementedComponent/RCTUnimplementedNativeComponentView.h +1 -1
  991. package/React/Fabric/Mounting/ComponentViews/UnimplementedComponent/RCTUnimplementedNativeComponentView.mm +1 -1
  992. package/React/Fabric/Mounting/ComponentViews/UnimplementedView/RCTUnimplementedViewComponentView.h +1 -1
  993. package/React/Fabric/Mounting/ComponentViews/UnimplementedView/RCTUnimplementedViewComponentView.mm +1 -1
  994. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +7 -1
  995. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +10 -13
  996. package/React/Fabric/Mounting/RCTComponentViewClassDescriptor.h +1 -1
  997. package/React/Fabric/Mounting/RCTComponentViewDescriptor.h +1 -1
  998. package/React/Fabric/Mounting/RCTComponentViewFactory.h +1 -1
  999. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +13 -12
  1000. package/React/Fabric/Mounting/RCTComponentViewProtocol.h +1 -1
  1001. package/React/Fabric/Mounting/RCTComponentViewRegistry.h +1 -1
  1002. package/React/Fabric/Mounting/RCTComponentViewRegistry.mm +4 -4
  1003. package/React/Fabric/Mounting/RCTMountingManager.h +1 -1
  1004. package/React/Fabric/Mounting/RCTMountingManager.mm +18 -4
  1005. package/React/Fabric/Mounting/RCTMountingManagerDelegate.h +1 -1
  1006. package/React/Fabric/Mounting/RCTMountingTransactionObserverCoordinator.h +5 -5
  1007. package/React/Fabric/Mounting/RCTMountingTransactionObserverCoordinator.mm +1 -1
  1008. package/React/Fabric/Mounting/RCTMountingTransactionObserving.h +1 -1
  1009. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +1 -1
  1010. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +1 -1
  1011. package/React/Fabric/RCTConversions.h +1 -1
  1012. package/React/Fabric/RCTImageResponseDelegate.h +1 -1
  1013. package/React/Fabric/RCTImageResponseObserverProxy.h +1 -1
  1014. package/React/Fabric/RCTImageResponseObserverProxy.mm +1 -1
  1015. package/React/Fabric/RCTLocalizationProvider.h +1 -1
  1016. package/React/Fabric/RCTLocalizationProvider.mm +1 -1
  1017. package/React/Fabric/RCTPrimitives.h +1 -1
  1018. package/React/Fabric/RCTScheduler.h +2 -2
  1019. package/React/Fabric/RCTScheduler.mm +16 -8
  1020. package/React/Fabric/RCTSurfacePresenter.h +1 -1
  1021. package/React/Fabric/RCTSurfacePresenter.mm +10 -22
  1022. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +1 -1
  1023. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +1 -1
  1024. package/React/Fabric/RCTSurfaceRegistry.h +1 -1
  1025. package/React/Fabric/RCTSurfaceRegistry.mm +7 -7
  1026. package/React/Fabric/RCTSurfaceTouchHandler.h +1 -1
  1027. package/React/Fabric/RCTSurfaceTouchHandler.mm +7 -21
  1028. package/React/Fabric/RCTTouchableComponentViewProtocol.h +1 -1
  1029. package/React/Fabric/Surface/RCTFabricSurface.h +10 -25
  1030. package/React/Fabric/Surface/RCTFabricSurface.mm +8 -12
  1031. package/React/Fabric/Surface/RCTFabricSurfaceHostingProxyRootView.h +1 -1
  1032. package/React/Fabric/Surface/RCTFabricSurfaceHostingProxyRootView.mm +1 -1
  1033. package/React/Fabric/Utils/PlatformRunLoopObserver.h +1 -1
  1034. package/React/Fabric/Utils/PlatformRunLoopObserver.mm +1 -1
  1035. package/React/Fabric/Utils/RCTGenericDelegateSplitter.h +1 -1
  1036. package/React/Fabric/Utils/RCTGenericDelegateSplitter.mm +1 -1
  1037. package/React/Inspector/RCTInspector.h +1 -1
  1038. package/React/Inspector/RCTInspector.mm +1 -1
  1039. package/React/Inspector/RCTInspectorPackagerConnection.h +1 -1
  1040. package/React/Inspector/RCTInspectorPackagerConnection.m +1 -1
  1041. package/React/Modules/RCTEventEmitter.h +1 -1
  1042. package/React/Modules/RCTEventEmitter.m +1 -1
  1043. package/React/Modules/RCTI18nUtil.h +7 -15
  1044. package/React/Modules/RCTI18nUtil.m +48 -2
  1045. package/React/Modules/RCTLayoutAnimation.h +1 -1
  1046. package/React/Modules/RCTLayoutAnimation.m +1 -1
  1047. package/React/Modules/RCTLayoutAnimationGroup.h +1 -1
  1048. package/React/Modules/RCTLayoutAnimationGroup.m +1 -1
  1049. package/React/Modules/RCTRedBoxExtraDataViewController.h +1 -1
  1050. package/React/Modules/RCTRedBoxExtraDataViewController.m +1 -1
  1051. package/React/Modules/RCTSurfacePresenterStub.h +1 -1
  1052. package/React/Modules/RCTSurfacePresenterStub.m +1 -1
  1053. package/React/Modules/RCTTVMenuBridge.m +12 -0
  1054. package/React/Modules/RCTUIManager.h +1 -1
  1055. package/React/Modules/RCTUIManager.m +1 -1
  1056. package/React/Modules/RCTUIManagerObserverCoordinator.h +1 -1
  1057. package/React/Modules/RCTUIManagerObserverCoordinator.mm +1 -1
  1058. package/React/Modules/RCTUIManagerUtils.h +1 -1
  1059. package/React/Modules/RCTUIManagerUtils.m +1 -1
  1060. package/React/Profiler/RCTMacros.h +1 -1
  1061. package/React/Profiler/RCTProfile.h +1 -1
  1062. package/React/Profiler/RCTProfile.m +1 -1
  1063. package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
  1064. package/React/Profiler/RCTProfileTrampoline-arm64.S +1 -1
  1065. package/React/Profiler/RCTProfileTrampoline-i386.S +1 -1
  1066. package/React/Profiler/RCTProfileTrampoline-x86_64.S +1 -1
  1067. package/React/React-RCTFabric.podspec +2 -6
  1068. package/React/Tests/Mounting/RCTComponentViewRegistryTests.mm +1 -1
  1069. package/React/Tests/Text/RCTParagraphComponentViewTests.mm +8 -8
  1070. package/React/UIUtils/RCTUIUtils.h +1 -1
  1071. package/React/UIUtils/RCTUIUtils.m +1 -1
  1072. package/React/Views/RCTActivityIndicatorView.h +1 -1
  1073. package/React/Views/RCTActivityIndicatorView.m +1 -1
  1074. package/React/Views/RCTActivityIndicatorViewManager.h +1 -1
  1075. package/React/Views/RCTActivityIndicatorViewManager.m +1 -1
  1076. package/React/Views/RCTAnimationType.h +1 -1
  1077. package/React/Views/RCTAutoInsetsProtocol.h +1 -1
  1078. package/React/Views/RCTBorderDrawing.h +1 -1
  1079. package/React/Views/RCTBorderDrawing.m +1 -1
  1080. package/React/Views/RCTBorderStyle.h +1 -1
  1081. package/React/Views/RCTComponent.h +1 -1
  1082. package/React/Views/RCTComponentData.h +1 -1
  1083. package/React/Views/RCTComponentData.m +11 -3
  1084. package/React/Views/RCTConvert+CoreLocation.h +1 -1
  1085. package/React/Views/RCTConvert+CoreLocation.m +1 -1
  1086. package/React/Views/RCTConvert+Transform.h +1 -1
  1087. package/React/Views/RCTConvert+Transform.m +1 -1
  1088. package/React/Views/RCTDatePicker.h +1 -1
  1089. package/React/Views/RCTDatePicker.m +1 -1
  1090. package/React/Views/RCTDatePickerManager.h +1 -1
  1091. package/React/Views/RCTDatePickerManager.m +1 -1
  1092. package/React/Views/RCTFont.h +1 -1
  1093. package/React/Views/RCTFont.mm +65 -47
  1094. package/React/Views/RCTLayout.h +1 -1
  1095. package/React/Views/RCTLayout.m +1 -1
  1096. package/React/Views/RCTMaskedView.h +1 -1
  1097. package/React/Views/RCTMaskedView.m +1 -1
  1098. package/React/Views/RCTMaskedViewManager.h +1 -1
  1099. package/React/Views/RCTMaskedViewManager.m +1 -1
  1100. package/React/Views/RCTModalHostView.h +6 -1
  1101. package/React/Views/RCTModalHostView.m +1 -1
  1102. package/React/Views/RCTModalHostViewController.h +1 -1
  1103. package/React/Views/RCTModalHostViewController.m +1 -1
  1104. package/React/Views/RCTModalHostViewManager.h +1 -1
  1105. package/React/Views/RCTModalHostViewManager.m +4 -1
  1106. package/React/Views/RCTModalManager.h +1 -1
  1107. package/React/Views/RCTModalManager.m +1 -1
  1108. package/React/Views/RCTPointerEvents.h +1 -1
  1109. package/React/Views/RCTProgressViewManager.h +1 -1
  1110. package/React/Views/RCTProgressViewManager.m +1 -1
  1111. package/React/Views/RCTRootShadowView.h +1 -1
  1112. package/React/Views/RCTRootShadowView.m +1 -1
  1113. package/React/Views/RCTSegmentedControl.h +1 -1
  1114. package/React/Views/RCTSegmentedControl.m +1 -1
  1115. package/React/Views/RCTSegmentedControlManager.h +1 -1
  1116. package/React/Views/RCTSegmentedControlManager.m +1 -1
  1117. package/React/Views/RCTShadowView+Internal.h +1 -1
  1118. package/React/Views/RCTShadowView+Internal.m +1 -1
  1119. package/React/Views/RCTShadowView+Layout.h +1 -1
  1120. package/React/Views/RCTShadowView+Layout.m +1 -1
  1121. package/React/Views/RCTShadowView.h +1 -1
  1122. package/React/Views/RCTShadowView.m +1 -1
  1123. package/React/Views/RCTSlider.h +1 -1
  1124. package/React/Views/RCTSlider.m +1 -1
  1125. package/React/Views/RCTSliderManager.h +1 -1
  1126. package/React/Views/RCTSliderManager.m +2 -1
  1127. package/React/Views/RCTSwitch.h +1 -1
  1128. package/React/Views/RCTSwitch.m +1 -1
  1129. package/React/Views/RCTSwitchManager.h +1 -1
  1130. package/React/Views/RCTSwitchManager.m +1 -1
  1131. package/React/Views/RCTTextDecorationLineType.h +1 -1
  1132. package/React/Views/RCTView.h +1 -9
  1133. package/React/Views/RCTView.m +6 -24
  1134. package/React/Views/RCTViewManager.h +1 -1
  1135. package/React/Views/RCTViewManager.m +8 -6
  1136. package/React/Views/RCTViewUtils.h +18 -0
  1137. package/React/Views/RCTViewUtils.m +22 -0
  1138. package/React/Views/RCTWeakViewHolder.h +1 -1
  1139. package/React/Views/RCTWrapperViewController.h +1 -1
  1140. package/React/Views/RCTWrapperViewController.m +1 -1
  1141. package/React/Views/RefreshControl/RCTRefreshControl.h +1 -1
  1142. package/React/Views/RefreshControl/RCTRefreshControl.m +1 -1
  1143. package/React/Views/RefreshControl/RCTRefreshControlManager.h +1 -1
  1144. package/React/Views/RefreshControl/RCTRefreshControlManager.m +1 -1
  1145. package/React/Views/RefreshControl/RCTRefreshableProtocol.h +1 -1
  1146. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.h +1 -1
  1147. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.m +1 -1
  1148. package/React/Views/SafeAreaView/RCTSafeAreaView.h +1 -1
  1149. package/React/Views/SafeAreaView/RCTSafeAreaView.m +2 -6
  1150. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.h +1 -1
  1151. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.m +1 -1
  1152. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.h +1 -1
  1153. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.m +1 -1
  1154. package/React/Views/ScrollView/RCTScrollContentShadowView.h +1 -1
  1155. package/React/Views/ScrollView/RCTScrollContentShadowView.m +1 -1
  1156. package/React/Views/ScrollView/RCTScrollContentView.h +1 -1
  1157. package/React/Views/ScrollView/RCTScrollContentView.m +1 -1
  1158. package/React/Views/ScrollView/RCTScrollContentViewManager.h +1 -1
  1159. package/React/Views/ScrollView/RCTScrollContentViewManager.m +1 -1
  1160. package/React/Views/ScrollView/RCTScrollEvent.h +1 -1
  1161. package/React/Views/ScrollView/RCTScrollEvent.m +1 -1
  1162. package/React/Views/ScrollView/RCTScrollView.h +2 -1
  1163. package/React/Views/ScrollView/RCTScrollView.m +124 -44
  1164. package/React/Views/ScrollView/RCTScrollViewManager.h +1 -1
  1165. package/React/Views/ScrollView/RCTScrollViewManager.m +2 -8
  1166. package/React/Views/ScrollView/RCTScrollableProtocol.h +1 -1
  1167. package/React/Views/UIView+Private.h +1 -1
  1168. package/React/Views/UIView+React.h +1 -1
  1169. package/React/Views/UIView+React.m +5 -9
  1170. package/React/third-party.xcconfig +1 -1
  1171. package/React-Core.podspec +5 -4
  1172. package/React.podspec +1 -1
  1173. package/ReactAndroid/Android-prebuilt.mk +36 -3
  1174. package/ReactAndroid/DevExperience.md +1 -1
  1175. package/ReactAndroid/build.gradle +135 -235
  1176. package/ReactAndroid/gradle.properties +3 -3
  1177. package/ReactAndroid/proguard-rules.pro +5 -7
  1178. package/ReactAndroid/src/androidTest/AndroidManifest.xml +1 -0
  1179. package/ReactAndroid/src/androidTest/buck-runner/AndroidManifest.xml +2 -1
  1180. package/ReactAndroid/src/androidTest/java/com/facebook/react/bridge/ArgumentsTest.java +1 -1
  1181. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/AbstractScrollViewTestCase.java +1 -1
  1182. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/AssertModule.java +1 -1
  1183. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FabricUIManagerFactory.java +1 -1
  1184. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FakeAsyncLocalStorage.java +1 -1
  1185. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FakeWebSocketModule.java +1 -1
  1186. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/InstanceSpecForTestPackage.java +1 -1
  1187. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/IntRecordingModule.java +1 -1
  1188. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/JSIntegrationTestChecker.java +1 -1
  1189. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/MultipleFailureException.java +1 -1
  1190. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java +1 -1
  1191. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppTestActivity.java +1 -1
  1192. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstanceSpecForTest.java +1 -1
  1193. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstrumentationTest.java +1 -1
  1194. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactIntegrationTestCase.java +1 -1
  1195. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactSettingsForTests.java +1 -1
  1196. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestAppShell.java +1 -1
  1197. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestApplicationImpl.java +1 -1
  1198. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestFactory.java +1 -1
  1199. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestHelper.java +1 -1
  1200. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ScreenshotingFrameLayout.java +1 -1
  1201. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/SingleTouchGestureGenerator.java +1 -1
  1202. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/StringRecordingModule.java +1 -1
  1203. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/IdleWaiter.java +1 -1
  1204. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/ReactBridgeIdleSignaler.java +1 -1
  1205. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/ReactIdleDetectionUtil.java +1 -1
  1206. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/NetworkRecordingModuleMock.java +1 -1
  1207. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/ReactNativeTestRule.java +3 -2
  1208. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/AnimatedTransformTest.java +1 -1
  1209. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -1
  1210. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystMeasureLayoutTest.java +1 -1
  1211. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystMultitouchHandlingTestCase.java +1 -1
  1212. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJSToJavaParametersTestCase.java +1 -1
  1213. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJavaToJSArgumentsTestCase.java +1 -1
  1214. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJavaToJSReturnValuesTestCase.java +1 -1
  1215. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystSubviewsClippingTestCase.java +1 -1
  1216. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystTouchBubblingTestCase.java +1 -1
  1217. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystUIManagerTestCase.java +1 -1
  1218. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ImageErrorTestCase.java +1 -1
  1219. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ImageOverlayColorTestCase.java +1 -1
  1220. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/InitialPropsTestCase.java +1 -1
  1221. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/JSLocaleTest.java +1 -1
  1222. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/JSResponderTestCase.java +1 -1
  1223. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/LayoutEventsTestCase.java +1 -1
  1224. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/NativeIdTestCase.java +1 -1
  1225. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ProgressBarTestCase.java +1 -1
  1226. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactHorizontalScrollViewTestCase.java +1 -1
  1227. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactScrollViewTestCase.java +1 -1
  1228. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactSwipeRefreshLayoutTestCase.java +1 -1
  1229. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ShareTestCase.java +1 -1
  1230. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/TestIdTestCase.java +1 -1
  1231. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/TextInputTestCase.java +1 -1
  1232. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ViewRenderingTestCase.java +1 -1
  1233. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/BUCK +1 -1
  1234. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/ReactInstanceManagerTest.java +1 -1
  1235. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/ReactRootViewTest.java +2 -2
  1236. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/WritableNativeMapTest.java +2 -2
  1237. package/ReactAndroid/src/androidTest/js/AnimatedTransformTestModule.js +1 -1
  1238. package/ReactAndroid/src/androidTest/js/Asserts.js +3 -3
  1239. package/ReactAndroid/src/androidTest/js/CatalystRootViewTestModule.js +2 -2
  1240. package/ReactAndroid/src/androidTest/js/ImageErrorTestApp.js +1 -1
  1241. package/ReactAndroid/src/androidTest/js/ImageOverlayColorTestApp.js +1 -1
  1242. package/ReactAndroid/src/androidTest/js/InitialPropsTestApp.js +1 -1
  1243. package/ReactAndroid/src/androidTest/js/JSResponderTestApp.js +1 -1
  1244. package/ReactAndroid/src/androidTest/js/LayoutEventsTestApp.js +1 -1
  1245. package/ReactAndroid/src/androidTest/js/MeasureLayoutTestModule.js +80 -77
  1246. package/ReactAndroid/src/androidTest/js/MultitouchHandlingTestAppModule.js +1 -1
  1247. package/ReactAndroid/src/androidTest/js/NativeIdTestModule.js +1 -1
  1248. package/ReactAndroid/src/androidTest/js/ProgressBarTestModule.js +2 -2
  1249. package/ReactAndroid/src/androidTest/js/ScrollViewTestModule.js +8 -8
  1250. package/ReactAndroid/src/androidTest/js/ShareTestModule.js +2 -2
  1251. package/ReactAndroid/src/androidTest/js/SubviewsClippingTestModule.js +7 -7
  1252. package/ReactAndroid/src/androidTest/js/SwipeRefreshLayoutTestModule.js +3 -3
  1253. package/ReactAndroid/src/androidTest/js/TestBundle.js +1 -8
  1254. package/ReactAndroid/src/androidTest/js/TestIdTestModule.js +1 -1
  1255. package/ReactAndroid/src/androidTest/js/TestJSLocaleModule.js +3 -3
  1256. package/ReactAndroid/src/androidTest/js/TestJSToJavaParametersModule.js +18 -18
  1257. package/ReactAndroid/src/androidTest/js/TestJavaToJSArgumentsModule.js +11 -11
  1258. package/ReactAndroid/src/androidTest/js/TestJavaToJSReturnValuesModule.js +3 -3
  1259. package/ReactAndroid/src/androidTest/js/TextInputTestModule.js +3 -9
  1260. package/ReactAndroid/src/androidTest/js/TouchBubblingTestAppModule.js +1 -1
  1261. package/ReactAndroid/src/androidTest/js/UIManagerTestModule.js +1 -1
  1262. package/ReactAndroid/src/androidTest/js/ViewRenderingTestModule.js +6 -6
  1263. package/ReactAndroid/src/main/java/com/facebook/debug/debugoverlay/model/DebugOverlayTag.java +1 -1
  1264. package/ReactAndroid/src/main/java/com/facebook/debug/holder/NoopPrinter.java +1 -1
  1265. package/ReactAndroid/src/main/java/com/facebook/debug/holder/Printer.java +1 -1
  1266. package/ReactAndroid/src/main/java/com/facebook/debug/holder/PrinterHolder.java +1 -1
  1267. package/ReactAndroid/src/main/java/com/facebook/debug/tags/ReactDebugOverlayTags.java +1 -1
  1268. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +8 -2
  1269. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/BUCK +3 -1
  1270. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesMemoryDumper.h +1 -1
  1271. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesMemoryDumper.java +1 -1
  1272. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.cpp +1 -1
  1273. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.h +1 -1
  1274. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.java +1 -1
  1275. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/OnLoad.cpp +1 -1
  1276. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +16 -4
  1277. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.java +15 -9
  1278. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutorFactory.java +1 -1
  1279. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/OnLoad.cpp +1 -1
  1280. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/RuntimeConfig.java +1 -1
  1281. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/fbjni.pro +1 -1
  1282. package/ReactAndroid/src/main/java/com/facebook/hermes/unicode/AndroidUnicodeUtils.java +1 -1
  1283. package/ReactAndroid/src/main/java/com/facebook/perftest/PerfTestConfig.java +1 -1
  1284. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/KeepGettersAndSetters.java +1 -1
  1285. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/proguard_annotations.pro +1 -1
  1286. package/ReactAndroid/src/main/java/com/facebook/react/BUCK +0 -1
  1287. package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +1 -1
  1288. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +1 -1
  1289. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +1 -1
  1290. package/ReactAndroid/src/main/java/com/facebook/react/EagerModuleProvider.java +1 -1
  1291. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +2 -2
  1292. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.java +1 -1
  1293. package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.java +1 -1
  1294. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.java +1 -1
  1295. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +1 -1
  1296. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +2 -2
  1297. package/ReactAndroid/src/main/java/com/facebook/react/ReactApplication.java +1 -1
  1298. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +1 -1
  1299. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +1 -1
  1300. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceEventListener.java +23 -0
  1301. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +99 -48
  1302. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +51 -4
  1303. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstancePackage.java +1 -1
  1304. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +32 -1
  1305. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.java +1 -1
  1306. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.java +1 -1
  1307. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageLogger.java +1 -1
  1308. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +1 -1
  1309. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +86 -15
  1310. package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.java +1 -1
  1311. package/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.java +1 -1
  1312. package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.java +2 -2
  1313. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.java +1 -1
  1314. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeValueListener.java +1 -1
  1315. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimationDriver.java +1 -1
  1316. package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.java +1 -1
  1317. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.java +2 -2
  1318. package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.java +1 -1
  1319. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java +40 -4
  1320. package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.java +1 -1
  1321. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.java +1 -1
  1322. package/ReactAndroid/src/main/java/com/facebook/react/animated/ModulusAnimatedNode.java +3 -3
  1323. package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.java +2 -2
  1324. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +1 -1
  1325. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +1 -1
  1326. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +1 -1
  1327. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.java +1 -1
  1328. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +1 -1
  1329. package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.java +4 -4
  1330. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.java +1 -1
  1331. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.java +1 -1
  1332. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.java +1 -1
  1333. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +1 -1
  1334. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.java +1 -1
  1335. package/ReactAndroid/src/main/java/com/facebook/react/bridge/AssertionException.java +1 -1
  1336. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +1 -1
  1337. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.java +1 -1
  1338. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +1 -1
  1339. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Callback.java +1 -1
  1340. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.java +1 -1
  1341. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +3 -1
  1342. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +14 -3
  1343. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +1 -1
  1344. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ContextBaseJavaModule.java +1 -1
  1345. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxCallbackImpl.java +1 -1
  1346. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapper.java +1 -1
  1347. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.java +1 -1
  1348. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DefaultNativeModuleCallExceptionHandler.java +1 -1
  1349. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Dynamic.java +1 -1
  1350. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.java +1 -1
  1351. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java +1 -1
  1352. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java +1 -1
  1353. package/ReactAndroid/src/main/java/com/facebook/react/bridge/FallbackJSBundleLoader.java +1 -1
  1354. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedAsyncTask.java +1 -1
  1355. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedResultAsyncTask.java +1 -1
  1356. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedRunnable.java +1 -1
  1357. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Inspector.java +1 -1
  1358. package/ReactAndroid/src/main/java/com/facebook/react/bridge/InvalidIteratorException.java +1 -1
  1359. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSApplicationCausedNativeException.java +1 -1
  1360. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSApplicationIllegalArgumentException.java +1 -1
  1361. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoader.java +1 -1
  1362. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.java +1 -1
  1363. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSCJavaScriptExecutor.java +1 -1
  1364. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSCJavaScriptExecutorFactory.java +1 -1
  1365. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModule.java +1 -1
  1366. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleHolder.java +1 -1
  1367. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModulePackage.java +1 -1
  1368. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleProvider.java +1 -1
  1369. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleRegistry.java +1 -5
  1370. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleSpec.java +1 -1
  1371. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleType.java +1 -1
  1372. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSInstance.java +1 -1
  1373. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaJSExecutor.java +1 -1
  1374. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.java +1 -1
  1375. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +1 -1
  1376. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyArray.java +1 -1
  1377. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.java +1 -1
  1378. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptContextHolder.java +1 -1
  1379. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptExecutor.java +1 -1
  1380. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptExecutorFactory.java +1 -1
  1381. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.java +1 -1
  1382. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistry.java +1 -1
  1383. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JsonWriterHelper.java +1 -1
  1384. package/ReactAndroid/src/main/java/com/facebook/react/bridge/LifecycleEventListener.java +1 -1
  1385. package/ReactAndroid/src/main/java/com/facebook/react/bridge/MemoryPressure.java +1 -1
  1386. package/ReactAndroid/src/main/java/com/facebook/react/bridge/MemoryPressureListener.java +1 -1
  1387. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java +1 -1
  1388. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.java +1 -1
  1389. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.java +1 -1
  1390. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.java +1 -1
  1391. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArrayInterface.java +1 -1
  1392. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeMap.java +1 -1
  1393. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java +1 -1
  1394. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleCallExceptionHandler.java +1 -1
  1395. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +1 -4
  1396. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NoSuchKeyException.java +1 -1
  1397. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NotThreadSafeBridgeIdleDebugListener.java +1 -1
  1398. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ObjectAlreadyConsumedException.java +1 -1
  1399. package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.java +1 -1
  1400. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PerformanceCounter.java +1 -1
  1401. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Promise.java +1 -1
  1402. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.java +1 -1
  1403. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ProxyJavaScriptExecutor.java +1 -1
  1404. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactApplicationContext.java +1 -1
  1405. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.java +1 -1
  1406. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCallback.java +1 -1
  1407. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +4 -9
  1408. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +1 -1
  1409. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +39 -0
  1410. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactIgnorableMountingException.java +1 -1
  1411. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +1 -1
  1412. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +1 -1
  1413. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMethod.java +1 -1
  1414. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactModuleWithSpec.java +1 -1
  1415. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.java +1 -1
  1416. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.java +1 -1
  1417. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArray.java +1 -1
  1418. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMap.java +1 -1
  1419. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMapKeySetIterator.java +1 -1
  1420. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.java +1 -1
  1421. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.java +1 -1
  1422. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableType.java +1 -1
  1423. package/ReactAndroid/src/main/java/com/facebook/react/bridge/RetryableMountingLayerException.java +1 -1
  1424. package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeExecutor.java +1 -1
  1425. package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.java +21 -0
  1426. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +1 -1
  1427. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Systrace.java +1 -1
  1428. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +1 -1
  1429. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerListener.java +1 -1
  1430. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.java +1 -1
  1431. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UnexpectedNativeTypeException.java +1 -1
  1432. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WindowFocusChangeListener.java +1 -1
  1433. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableArray.java +1 -1
  1434. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableMap.java +1 -1
  1435. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.java +7 -7
  1436. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.java +7 -7
  1437. package/ReactAndroid/src/main/java/com/facebook/react/bridge/bridge.pro +1 -1
  1438. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThread.java +2 -2
  1439. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadHandler.java +1 -1
  1440. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.java +4 -2
  1441. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadPerfStats.java +1 -1
  1442. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadSpec.java +1 -1
  1443. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/NativeRunnable.java +1 -1
  1444. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/QueueThreadExceptionHandler.java +1 -1
  1445. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfiguration.java +1 -1
  1446. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationImpl.java +1 -1
  1447. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.java +1 -1
  1448. package/ReactAndroid/src/main/java/com/facebook/react/bridge/reactnative.pro +1 -1
  1449. package/ReactAndroid/src/main/java/com/facebook/react/common/ArrayUtils.java +1 -1
  1450. package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +2 -2
  1451. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.java +1 -1
  1452. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.java +1 -1
  1453. package/ReactAndroid/src/main/java/com/facebook/react/common/HasJavascriptExceptionMetadata.java +1 -1
  1454. package/ReactAndroid/src/main/java/com/facebook/react/common/JavascriptException.java +1 -1
  1455. package/ReactAndroid/src/main/java/com/facebook/react/common/LifecycleState.java +1 -1
  1456. package/ReactAndroid/src/main/java/com/facebook/react/common/LongArray.java +1 -1
  1457. package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.java +1 -1
  1458. package/ReactAndroid/src/main/java/com/facebook/react/common/ReactConstants.java +1 -1
  1459. package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.java +1 -1
  1460. package/ReactAndroid/src/main/java/com/facebook/react/common/SingleThreadAsserter.java +1 -1
  1461. package/ReactAndroid/src/main/java/com/facebook/react/common/StandardCharsets.java +1 -1
  1462. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegate.java +40 -0
  1463. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegateFactory.java +24 -0
  1464. package/ReactAndroid/src/main/java/com/facebook/react/common/SystemClock.java +1 -1
  1465. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/VisibleForTesting.java +1 -1
  1466. package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.java +1 -1
  1467. package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.java +1 -1
  1468. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java +120 -79
  1469. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBufferSoLoader.java +1 -1
  1470. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/Android.mk +13 -2
  1471. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +0 -6
  1472. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/OnLoad.cpp +1 -1
  1473. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.cpp +8 -36
  1474. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.h +6 -19
  1475. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.java +1 -1
  1476. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +25 -10
  1477. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +1 -0
  1478. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +8 -9
  1479. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.java +1 -1
  1480. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.java +1 -1
  1481. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +102 -0
  1482. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.java +1 -1
  1483. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevLoadingViewController.java +1 -1
  1484. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +1 -1
  1485. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSettingsActivity.java +1 -1
  1486. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +36 -12
  1487. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +6 -73
  1488. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +13 -1
  1489. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DoubleTapReloadRecognizer.java +1 -1
  1490. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.java +1 -1
  1491. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/HMRClient.java +1 -1
  1492. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorPackagerConnection.java +1 -1
  1493. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSCHeapCapture.java +1 -1
  1494. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDebuggerWebSocketClient.java +1 -1
  1495. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDevSupport.java +1 -1
  1496. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSException.java +1 -1
  1497. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialog.java +1 -1
  1498. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.java +92 -0
  1499. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.java +28 -43
  1500. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.java +1 -1
  1501. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.java +1 -1
  1502. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceDevHelper.java +1 -1
  1503. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialog.java +1 -1
  1504. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxHandler.java +1 -1
  1505. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java +1 -1
  1506. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ViewHierarchyUtil.java +1 -1
  1507. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/WebsocketJavaScriptExecutor.java +1 -1
  1508. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/WindowOverlayCompat.java +1 -1
  1509. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/BundleLoadCallback.java +1 -1
  1510. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.java +1 -1
  1511. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevOptionHandler.java +1 -1
  1512. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSplitBundleCallback.java +1 -1
  1513. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +15 -1
  1514. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/ErrorCustomizer.java +1 -1
  1515. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/ErrorType.java +1 -1
  1516. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/PackagerStatusCallback.java +1 -1
  1517. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/StackFrame.java +1 -1
  1518. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +6 -5
  1519. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ComponentFactory.java +1 -1
  1520. package/ReactAndroid/src/main/java/com/facebook/react/fabric/CoreComponentsRegistry.java +1 -1
  1521. package/ReactAndroid/src/main/java/com/facebook/react/fabric/EmptyReactNativeConfig.java +35 -0
  1522. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +1 -1
  1523. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +5 -9
  1524. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricSoLoader.java +1 -1
  1525. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +74 -16
  1526. package/ReactAndroid/src/main/java/com/facebook/react/fabric/GuardedFrameCallback.java +1 -1
  1527. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ReactNativeConfig.java +11 -2
  1528. package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +1 -1
  1529. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandler.java +1 -1
  1530. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.java +1 -1
  1531. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.java +1 -1
  1532. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +9 -4
  1533. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +14 -119
  1534. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +45 -3
  1535. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeat.h +3 -3
  1536. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.cpp +69 -0
  1537. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.h +40 -0
  1538. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +3 -6
  1539. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +193 -903
  1540. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +24 -66
  1541. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ComponentFactory.cpp +1 -1
  1542. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ComponentFactory.h +1 -1
  1543. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.cpp +1 -1
  1544. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.h +5 -5
  1545. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventBeatManager.cpp +1 -1
  1546. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventBeatManager.h +3 -2
  1547. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +22 -5
  1548. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +5 -3
  1549. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountItem.cpp +54 -0
  1550. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountItem.h +78 -0
  1551. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountingManager.cpp +962 -0
  1552. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/FabricMountingManager.h +83 -0
  1553. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JBackgroundExecutor.cpp +1 -1
  1554. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JBackgroundExecutor.h +1 -1
  1555. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/OnLoad.cpp +1 -1
  1556. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ReactNativeConfigHolder.cpp +1 -1
  1557. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/ReactNativeConfigHolder.h +2 -3
  1558. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.cpp +1 -1
  1559. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.h +1 -5
  1560. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/SurfaceHandlerBinding.cpp +4 -9
  1561. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/SurfaceHandlerBinding.h +2 -5
  1562. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.java +1 -1
  1563. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +10 -2
  1564. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +12 -13
  1565. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +56 -14
  1566. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchCommandMountItem.java +1 -1
  1567. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchIntCommandMountItem.java +1 -1
  1568. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.java +1 -1
  1569. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +31 -3
  1570. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.java +1 -1
  1571. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +1 -1
  1572. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +1 -1
  1573. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +7 -2
  1574. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +2 -1
  1575. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.java +7 -2
  1576. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutorFactory.java +1 -1
  1577. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/OnLoad.cpp +1 -1
  1578. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.java +1 -1
  1579. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +1 -1
  1580. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskEventListener.java +1 -1
  1581. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskRetryPolicy.java +1 -1
  1582. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/LinearCountingRetryPolicy.java +1 -1
  1583. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/NoRetryPolicy.java +1 -1
  1584. package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/ReactModule.java +1 -1
  1585. package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/ReactModuleList.java +1 -1
  1586. package/ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfo.java +1 -1
  1587. package/ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfoProvider.java +1 -1
  1588. package/ReactAndroid/src/main/java/com/facebook/react/module/processing/ReactModuleSpecProcessor.java +1 -1
  1589. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.java +42 -1
  1590. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.java +1 -1
  1591. package/ReactAndroid/src/main/java/com/facebook/react/modules/appregistry/AppRegistry.java +1 -1
  1592. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.java +1 -1
  1593. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobCollector.java +1 -1
  1594. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.java +1 -1
  1595. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.java +1 -1
  1596. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.java +1 -1
  1597. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +7 -2
  1598. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BUCK +0 -6
  1599. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BlobCollector.cpp +1 -1
  1600. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BlobCollector.h +1 -1
  1601. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/OnLoad.cpp +1 -1
  1602. package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/NativeDevSplitBundleLoaderModule.java +1 -1
  1603. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.java +1 -1
  1604. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +4 -1
  1605. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.java +10 -9
  1606. package/ReactAndroid/src/main/java/com/facebook/react/modules/common/ModuleDataCleaner.java +1 -1
  1607. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.java +1 -1
  1608. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DefaultHardwareBackBtnHandler.java +1 -1
  1609. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java +1 -1
  1610. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +8 -20
  1611. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.java +1 -1
  1612. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.java +1 -1
  1613. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerManager.java → JavaScriptTimerExecutor.java} +2 -2
  1614. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +8 -8
  1615. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.java +1 -1
  1616. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionListener.java +1 -1
  1617. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.java +1 -1
  1618. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactAndroidHWInputDeviceHelper.java +1 -1
  1619. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java +1 -1
  1620. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +3 -3
  1621. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/AnimationsDebugModule.java +1 -1
  1622. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevSettingsModule.java +1 -1
  1623. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.java +1 -1
  1624. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.java +1 -1
  1625. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.java +1 -1
  1626. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/interfaces/DeveloperSettings.java +1 -1
  1627. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java +1 -1
  1628. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +1 -1
  1629. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java +1 -1
  1630. package/ReactAndroid/src/main/java/com/facebook/react/modules/fabric/ReactFabric.java +1 -1
  1631. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java +1 -1
  1632. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.java +1 -1
  1633. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.java +1 -1
  1634. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.java +1 -1
  1635. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +8 -2
  1636. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nUtil.java +1 -1
  1637. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.java +1 -1
  1638. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +24 -20
  1639. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/CookieJarContainer.java +1 -1
  1640. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +2 -5
  1641. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/HeaderUtil.java +1 -1
  1642. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkInterceptorCreator.java +1 -1
  1643. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +1 -1
  1644. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientFactory.java +1 -1
  1645. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientProvider.java +1 -1
  1646. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressListener.java +1 -1
  1647. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressRequestBody.java +1 -1
  1648. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.java +1 -1
  1649. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressiveStringDecoder.java +1 -1
  1650. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ReactCookieJarContainer.java +1 -1
  1651. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java +1 -1
  1652. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ResponseUtil.java +1 -1
  1653. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/TLSSocketFactory.java +1 -1
  1654. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java +1 -1
  1655. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.java +1 -1
  1656. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/SoundManagerModule.java +1 -1
  1657. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.java +1 -1
  1658. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncLocalStorageUtil.java +1 -1
  1659. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageErrorUtil.java +1 -1
  1660. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageModule.java +1 -1
  1661. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/ReactDatabaseSupplier.java +1 -1
  1662. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java +1 -1
  1663. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java +1 -1
  1664. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +4 -4
  1665. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.java +1 -1
  1666. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/VibrationModule.java +1 -1
  1667. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java +1 -1
  1668. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.java +1 -1
  1669. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.java +1 -1
  1670. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/NotificationOnlyHandler.java +1 -1
  1671. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.java +1 -1
  1672. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +9 -9
  1673. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestHandler.java +1 -1
  1674. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestOnlyHandler.java +1 -1
  1675. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/Responder.java +1 -1
  1676. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +2 -2
  1677. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/NativeModulePerfLogger.java +1 -1
  1678. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/Android.mk +1 -1
  1679. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/BUCK +0 -6
  1680. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/reactperflogger/JNativeModulePerfLogger.h +1 -1
  1681. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/reactperflogger/OnLoad.cpp +1 -1
  1682. package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -1
  1683. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainPackageConfig.java +1 -1
  1684. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +1 -6
  1685. package/ReactAndroid/src/main/java/com/facebook/react/surface/ReactStage.java +1 -1
  1686. package/ReactAndroid/src/main/java/com/facebook/react/touch/JSResponderHandler.java +1 -1
  1687. package/ReactAndroid/src/main/java/com/facebook/react/touch/OnInterceptTouchEventListener.java +1 -1
  1688. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactHitSlopView.java +1 -1
  1689. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactInterceptingViewGroup.java +1 -1
  1690. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/CallInvokerHolderImpl.java +1 -1
  1691. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +1 -1
  1692. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManagerDelegate.java +1 -1
  1693. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModulePerfLogger.java +1 -1
  1694. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/CallInvokerHolder.java +1 -1
  1695. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModule.java +1 -1
  1696. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModuleRegistry.java +1 -1
  1697. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/Android.mk +3 -3
  1698. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK +1 -12
  1699. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/CallInvokerHolder.cpp +1 -1
  1700. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/CallInvokerHolder.h +1 -1
  1701. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/OnLoad.cpp +1 -1
  1702. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp +1 -2
  1703. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h +1 -2
  1704. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManagerDelegate.h +1 -1
  1705. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +42 -4
  1706. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerAdapter.java +5 -1
  1707. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolver.java +1 -1
  1708. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolverManager.java +1 -1
  1709. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +1 -1
  1710. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FabricViewStateManager.java +1 -1
  1711. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.java +1 -1
  1712. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewManagerWithChildren.java +1 -1
  1713. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IllegalViewOperationException.java +1 -1
  1714. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +11 -26
  1715. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +19 -1
  1716. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/MatrixMathHelper.java +1 -1
  1717. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/MeasureSpecAssertions.java +1 -1
  1718. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.java +1 -1
  1719. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +1 -1
  1720. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +1 -1
  1721. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NoSuchNativeViewException.java +1 -1
  1722. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.java +1 -1
  1723. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.java +1 -1
  1724. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PointerEvents.java +19 -1
  1725. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +13 -1
  1726. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingProhibitedView.java +1 -1
  1727. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroup.java +1 -1
  1728. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.java +1 -1
  1729. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactCompoundView.java +1 -1
  1730. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactCompoundViewGroup.java +1 -1
  1731. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactInvalidPropertyException.java +1 -1
  1732. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +1 -1
  1733. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowViewWithInset.java +33 -0
  1734. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactPointerEventsView.java +1 -1
  1735. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRoot.java +1 -1
  1736. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.java +1 -1
  1737. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +1 -1
  1738. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +1 -1
  1739. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStylesDiffMap.java +1 -1
  1740. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.java +1 -1
  1741. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactZIndexedViewGroup.java +1 -1
  1742. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootView.java +12 -2
  1743. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewManager.java +1 -1
  1744. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.java +1 -1
  1745. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.java +1 -1
  1746. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/SimpleViewManager.java +1 -1
  1747. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/StateWrapper.java +1 -1
  1748. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java +1 -1
  1749. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +128 -24
  1750. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.java +1 -1
  1751. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIBlock.java +1 -1
  1752. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +1 -1
  1753. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementationProvider.java +1 -1
  1754. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +12 -5
  1755. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +1 -4
  1756. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java +4 -1
  1757. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +1 -1
  1758. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleListener.java +1 -1
  1759. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +1 -1
  1760. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewAtIndex.java +1 -1
  1761. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewDefaults.java +1 -1
  1762. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.java +1 -1
  1763. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.java +1 -1
  1764. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewHierarchyDumper.java +1 -1
  1765. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +1 -1
  1766. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.java +1 -1
  1767. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +1 -1
  1768. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerResolver.java +1 -1
  1769. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +39 -24
  1770. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/YogaNodePool.java +1 -1
  1771. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.java +1 -1
  1772. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.java +1 -1
  1773. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropertyHolder.java +1 -1
  1774. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.java +1 -1
  1775. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.java +1 -1
  1776. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.java +1 -1
  1777. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BatchEventDispatchedListener.java +1 -1
  1778. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.java +1 -1
  1779. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.java +1 -1
  1780. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +25 -39
  1781. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.java +42 -0
  1782. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.java +1 -1
  1783. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +2 -1
  1784. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherListener.java +1 -1
  1785. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherProvider.java +1 -1
  1786. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +4 -4
  1787. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/NativeGestureUtil.java +14 -2
  1788. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +8 -1
  1789. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +5 -2
  1790. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +34 -13
  1791. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +41 -17
  1792. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventCoalescingKeyHelper.java +1 -1
  1793. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventType.java +16 -17
  1794. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +107 -21
  1795. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/BaseViewManagerDelegate.java +5 -1
  1796. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/BaseViewManagerInterface.java +4 -1
  1797. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/FloatUtil.java +1 -1
  1798. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/Spacing.java +1 -1
  1799. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/ViewManagerDelegate.java +1 -1
  1800. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/ViewProps.java +2 -1
  1801. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/Android.mk +11 -2
  1802. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +0 -6
  1803. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.cpp +1 -1
  1804. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.h +1 -1
  1805. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/OnLoad.cpp +1 -1
  1806. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.java +1 -1
  1807. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AnimatedPropertyType.java +1 -1
  1808. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/BaseLayoutAnimation.java +1 -1
  1809. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/InterpolatorType.java +1 -1
  1810. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.java +1 -1
  1811. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.java +1 -1
  1812. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationType.java +1 -1
  1813. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutCreateAnimation.java +1 -1
  1814. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutDeleteAnimation.java +1 -1
  1815. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutHandlingAnimation.java +1 -1
  1816. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.java +1 -1
  1817. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/OpacityAnimation.java +1 -1
  1818. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/PositionAndSizeAnimation.java +1 -1
  1819. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.java +1 -1
  1820. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/ReactFindViewUtil.java +1 -1
  1821. package/ReactAndroid/src/main/java/com/facebook/react/util/ExceptionDataHelper.java +1 -1
  1822. package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.java +1 -1
  1823. package/ReactAndroid/src/main/java/com/facebook/react/util/RCTLog.java +1 -1
  1824. package/ReactAndroid/src/main/java/com/facebook/react/util/RNLog.java +1 -1
  1825. package/ReactAndroid/src/main/java/com/facebook/react/views/common/ContextUtils.java +1 -1
  1826. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.java +1 -1
  1827. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +17 -7
  1828. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.java +1 -1
  1829. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.java +1 -1
  1830. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.java +1 -1
  1831. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.java +1 -1
  1832. package/ReactAndroid/src/main/java/com/facebook/react/views/image/BUCK +1 -0
  1833. package/ReactAndroid/src/main/java/com/facebook/react/views/image/GlobalImageLoadListener.java +1 -1
  1834. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.java +1 -1
  1835. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMethod.java +1 -1
  1836. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMode.java +1 -1
  1837. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.java +1 -1
  1838. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactCallerContextFactory.java +1 -3
  1839. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.java +1 -1
  1840. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +19 -12
  1841. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +28 -23
  1842. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ScaleTypeStartInside.java +1 -1
  1843. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.java +1 -1
  1844. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.java +1 -1
  1845. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.java +1 -1
  1846. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostHelper.java +1 -1
  1847. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.java +1 -1
  1848. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java +20 -5
  1849. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +13 -3
  1850. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/RequestCloseEvent.java +1 -1
  1851. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ShowEvent.java +1 -1
  1852. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.java +1 -1
  1853. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.java +1 -1
  1854. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.java +3 -1
  1855. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/FpsListener.java +1 -1
  1856. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.java +1 -1
  1857. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerView.java +1 -1
  1858. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.java +1 -1
  1859. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +215 -188
  1860. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +12 -1
  1861. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +225 -178
  1862. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewCommandHelper.java +1 -1
  1863. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +417 -16
  1864. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +19 -2
  1865. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +1 -1
  1866. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEventType.java +1 -1
  1867. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.java +1 -1
  1868. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlider.java +1 -1
  1869. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderEvent.java +1 -1
  1870. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +35 -4
  1871. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlidingCompleteEvent.java +1 -1
  1872. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +1 -1
  1873. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.java +1 -1
  1874. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.java +11 -4
  1875. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java +23 -9
  1876. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.java +1 -1
  1877. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java +1 -1
  1878. package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLetterSpacingSpan.java +1 -1
  1879. package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLineHeightSpan.java +1 -1
  1880. package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java +1 -1
  1881. package/ReactAndroid/src/main/java/com/facebook/react/views/text/DefaultStyleValuesUtil.java +1 -1
  1882. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.java +1 -1
  1883. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactAbsoluteSizeSpan.java +1 -1
  1884. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBackgroundColorSpan.java +1 -1
  1885. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +1 -1
  1886. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactClickableSpan.java +1 -1
  1887. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +1 -1
  1888. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactForegroundColorSpan.java +1 -1
  1889. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.java +1 -1
  1890. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.java +1 -1
  1891. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactSpan.java +1 -1
  1892. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactStrikethroughSpan.java +1 -1
  1893. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTagSpan.java +1 -1
  1894. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +1 -5
  1895. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextInlineImageShadowNode.java +1 -1
  1896. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +17 -6
  1897. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.java +1 -1
  1898. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +10 -2
  1899. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +11 -4
  1900. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManagerCallback.java +1 -1
  1901. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +1 -1
  1902. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactUnderlineSpan.java +1 -1
  1903. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextShadowNode.java +1 -1
  1904. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.java +1 -1
  1905. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ShadowStyleSpan.java +1 -1
  1906. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +31 -15
  1907. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.java +1 -1
  1908. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextInlineImageSpan.java +1 -1
  1909. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextInlineViewPlaceholderSpan.java +1 -1
  1910. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +26 -7
  1911. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +27 -7
  1912. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextTransform.java +1 -1
  1913. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TypefaceStyle.java +1 -1
  1914. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java +2 -2
  1915. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java +1 -1
  1916. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.java +3 -3
  1917. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ContentSizeWatcher.java +1 -1
  1918. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.java +1 -1
  1919. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +7 -4
  1920. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +4 -1
  1921. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.java +1 -1
  1922. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputBlurEvent.java +1 -1
  1923. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.java +1 -1
  1924. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEvent.java +1 -1
  1925. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputFocusEvent.java +1 -1
  1926. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.java +1 -1
  1927. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputLocalData.java +1 -1
  1928. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +62 -47
  1929. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.java +1 -1
  1930. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java +1 -1
  1931. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.java +1 -1
  1932. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ScrollWatcher.java +1 -1
  1933. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/SelectionWatcher.java +1 -1
  1934. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedView.java +1 -1
  1935. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.java +1 -1
  1936. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +92 -0
  1937. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ColorUtil.java +1 -1
  1938. package/ReactAndroid/src/main/java/com/facebook/react/views/view/MeasureUtil.java +1 -1
  1939. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.java +1 -1
  1940. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.java +1 -1
  1941. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +1 -1
  1942. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +1 -1
  1943. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +33 -3
  1944. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +32 -25
  1945. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ViewGroupClickEvent.java +1 -1
  1946. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.java +1 -1
  1947. package/ReactAndroid/src/main/java/com/facebook/systrace/SystraceMessage.java +1 -1
  1948. package/ReactAndroid/src/main/java/com/facebook/systrace/TraceListener.java +1 -1
  1949. package/ReactAndroid/src/main/java/com/facebook/yoga/LayoutPassReason.java +1 -1
  1950. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +1 -1
  1951. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaBaselineFunction.java +1 -1
  1952. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.java +1 -1
  1953. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigFactory.java +1 -1
  1954. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.java +1 -1
  1955. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +1 -1
  1956. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConstants.java +1 -1
  1957. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDimension.java +1 -1
  1958. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDirection.java +1 -1
  1959. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +1 -1
  1960. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaEdge.java +1 -1
  1961. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +1 -1
  1962. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaFlexDirection.java +1 -1
  1963. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +1 -1
  1964. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLayoutType.java +1 -1
  1965. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.java +1 -1
  1966. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogger.java +1 -1
  1967. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureFunction.java +1 -1
  1968. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureMode.java +1 -1
  1969. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureOutput.java +1 -1
  1970. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +1 -1
  1971. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +1 -1
  1972. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeFactory.java +1 -1
  1973. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +1 -1
  1974. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.java +1 -1
  1975. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.java +1 -1
  1976. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaOverflow.java +1 -1
  1977. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPositionType.java +1 -1
  1978. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPrintOptions.java +1 -1
  1979. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +1 -1
  1980. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaStyleInputs.java +1 -1
  1981. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.java +1 -1
  1982. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaValue.java +1 -1
  1983. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaWrap.java +1 -1
  1984. package/ReactAndroid/src/main/jni/Application.mk +1 -1
  1985. package/ReactAndroid/src/main/jni/first-party/fb/Android.mk +1 -1
  1986. package/ReactAndroid/src/main/jni/first-party/fb/assert.cpp +1 -1
  1987. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ALog.h +1 -1
  1988. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Build.h +1 -1
  1989. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Countable.h +1 -1
  1990. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Environment.h +1 -1
  1991. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ProgramLocation.h +1 -1
  1992. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/RefPtr.h +1 -1
  1993. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/StaticInitialized.h +1 -1
  1994. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ThreadLocal.h +1 -1
  1995. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/assert.h +1 -1
  1996. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/noncopyable.h +1 -1
  1997. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/nonmovable.h +1 -1
  1998. package/ReactAndroid/src/main/jni/first-party/fb/include/fb/visibility.h +1 -1
  1999. package/ReactAndroid/src/main/jni/first-party/fb/log.cpp +1 -1
  2000. package/ReactAndroid/src/main/jni/first-party/fbgloginit/Android.mk +1 -1
  2001. package/ReactAndroid/src/main/jni/first-party/fbgloginit/fb/glog_init.h +1 -1
  2002. package/ReactAndroid/src/main/jni/first-party/fbgloginit/glog_init.cpp +1 -1
  2003. package/ReactAndroid/src/main/jni/first-party/fbjni/Android.mk +1 -1
  2004. package/ReactAndroid/src/main/jni/first-party/hermes/Android.mk +1 -1
  2005. package/ReactAndroid/src/main/jni/first-party/jni-hack/BUCK +1 -1
  2006. package/ReactAndroid/src/main/jni/first-party/jni-hack/jni.h +1 -1
  2007. package/ReactAndroid/src/main/jni/first-party/yogajni/Android.mk +1 -1
  2008. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/ScopedGlobalRef.h +1 -1
  2009. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/ScopedLocalRef.h +1 -1
  2010. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNI.h +1 -1
  2011. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +1 -1
  2012. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.h +1 -1
  2013. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJTypesVanilla.h +1 -1
  2014. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YogaJniException.cpp +1 -1
  2015. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YogaJniException.h +1 -1
  2016. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/common.cpp +1 -1
  2017. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/common.h +1 -1
  2018. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/corefunctions.cpp +1 -1
  2019. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/corefunctions.h +1 -1
  2020. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/macros.h +1 -1
  2021. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/yogajni.cpp +2 -1
  2022. package/ReactAndroid/src/main/jni/react/jni/Android.mk +24 -7
  2023. package/ReactAndroid/src/main/jni/react/jni/BUCK +4 -5
  2024. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +50 -8
  2025. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +16 -3
  2026. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.cpp +1 -1
  2027. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.h +1 -1
  2028. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapperBase.h +1 -1
  2029. package/ReactAndroid/src/main/jni/react/jni/CxxSharedModuleWrapper.h +1 -1
  2030. package/ReactAndroid/src/main/jni/react/jni/JCallback.h +1 -1
  2031. package/ReactAndroid/src/main/jni/react/jni/JInspector.cpp +1 -1
  2032. package/ReactAndroid/src/main/jni/react/jni/JInspector.h +1 -1
  2033. package/ReactAndroid/src/main/jni/react/jni/JMessageQueueThread.cpp +2 -2
  2034. package/ReactAndroid/src/main/jni/react/jni/JMessageQueueThread.h +1 -1
  2035. package/ReactAndroid/src/main/jni/react/jni/JNativeRunnable.h +1 -1
  2036. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +18 -0
  2037. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h +25 -0
  2038. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +12 -4
  2039. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.h +4 -1
  2040. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.cpp +1 -1
  2041. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.h +1 -1
  2042. package/ReactAndroid/src/main/jni/react/jni/JRuntimeExecutor.cpp +1 -1
  2043. package/ReactAndroid/src/main/jni/react/jni/JRuntimeExecutor.h +1 -1
  2044. package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp +22 -0
  2045. package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.h +30 -0
  2046. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +41 -17
  2047. package/ReactAndroid/src/main/jni/react/jni/JSLoader.h +1 -1
  2048. package/ReactAndroid/src/main/jni/react/jni/JSLogging.cpp +1 -1
  2049. package/ReactAndroid/src/main/jni/react/jni/JSLogging.h +1 -1
  2050. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +1 -1
  2051. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.h +1 -1
  2052. package/ReactAndroid/src/main/jni/react/jni/JavaScriptExecutorHolder.h +1 -1
  2053. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.cpp +1 -1
  2054. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.h +1 -1
  2055. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +1 -1
  2056. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.h +1 -1
  2057. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.cpp +1 -1
  2058. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +1 -1
  2059. package/ReactAndroid/src/main/jni/react/jni/NativeArray.cpp +1 -1
  2060. package/ReactAndroid/src/main/jni/react/jni/NativeArray.h +1 -1
  2061. package/ReactAndroid/src/main/jni/react/jni/NativeCommon.cpp +1 -1
  2062. package/ReactAndroid/src/main/jni/react/jni/NativeCommon.h +1 -1
  2063. package/ReactAndroid/src/main/jni/react/jni/NativeMap.cpp +1 -1
  2064. package/ReactAndroid/src/main/jni/react/jni/NativeMap.h +1 -1
  2065. package/ReactAndroid/src/main/jni/react/jni/NativeTime.cpp +3 -9
  2066. package/ReactAndroid/src/main/jni/react/jni/NativeTime.h +1 -1
  2067. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +1 -1
  2068. package/ReactAndroid/src/main/jni/react/jni/OnLoad.h +1 -1
  2069. package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.cpp +1 -1
  2070. package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h +1 -1
  2071. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.cpp +1 -1
  2072. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.h +1 -1
  2073. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.cpp +1 -1
  2074. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.h +1 -1
  2075. package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.cpp +11 -4
  2076. package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.h +6 -4
  2077. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.cpp +3 -3
  2078. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.h +4 -4
  2079. package/ReactAndroid/src/main/jni/react/perftests/BUCK +0 -4
  2080. package/ReactAndroid/src/main/jni/react/perftests/OnLoad.cpp +1 -1
  2081. package/ReactAndroid/src/main/libraries/soloader/java/com/facebook/soloader/BUCK +5 -5
  2082. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +11 -0
  2083. package/ReactAndroid/src/main/third-party/android/androidx/BUCK +6 -6
  2084. package/ReactAndroid/src/main/third-party/java/assertj/BUCK +14 -0
  2085. package/ReactAndroid/src/main/third-party/java/okhttp/BUCK +4 -4
  2086. package/ReactAndroid/src/test/java/com/facebook/common/logging/FakeLoggingDelegate.java +1 -1
  2087. package/ReactAndroid/src/test/java/com/facebook/react/BUCK +1 -1
  2088. package/ReactAndroid/src/test/java/com/facebook/react/CompositeReactPackageTest.java +1 -1
  2089. package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +45 -2
  2090. package/ReactAndroid/src/test/java/com/facebook/react/animated/BUCK +1 -1
  2091. package/ReactAndroid/src/test/java/com/facebook/react/animated/NativeAnimatedInterpolationTest.java +2 -2
  2092. package/ReactAndroid/src/test/java/com/facebook/react/animated/NativeAnimatedNodeTraversalTest.java +2 -2
  2093. package/ReactAndroid/src/test/java/com/facebook/react/bridge/BUCK +1 -1
  2094. package/ReactAndroid/src/test/java/com/facebook/react/bridge/BaseJavaModuleTest.java +1 -1
  2095. package/ReactAndroid/src/test/java/com/facebook/react/bridge/FallbackJSBundleLoaderTest.java +3 -3
  2096. package/ReactAndroid/src/test/java/com/facebook/react/bridge/InstanceHandleHelper.java +1 -1
  2097. package/ReactAndroid/src/test/java/com/facebook/react/bridge/JavaOnlyArrayTest.java +2 -2
  2098. package/ReactAndroid/src/test/java/com/facebook/react/bridge/JavaScriptModuleRegistryTest.java +1 -1
  2099. package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReactTestHelper.java +1 -1
  2100. package/ReactAndroid/src/test/java/com/facebook/react/devsupport/BUCK +1 -1
  2101. package/ReactAndroid/src/test/java/com/facebook/react/devsupport/JSDebuggerWebSocketClientTest.java +1 -1
  2102. package/ReactAndroid/src/test/java/com/facebook/react/devsupport/MultipartStreamReaderTest.java +2 -2
  2103. package/ReactAndroid/src/test/java/com/facebook/react/devsupport/StackTraceHelperTest.java +2 -2
  2104. package/ReactAndroid/src/test/java/com/facebook/react/fabric/events/BUCK +16 -0
  2105. package/ReactAndroid/src/test/java/com/facebook/react/fabric/events/TouchEventDispatchTest.java +616 -0
  2106. package/ReactAndroid/src/test/java/com/facebook/react/modules/BUCK +1 -1
  2107. package/ReactAndroid/src/test/java/com/facebook/react/modules/blob/BlobModuleTest.java +1 -1
  2108. package/ReactAndroid/src/test/java/com/facebook/react/modules/camera/ImageStoreManagerTest.java +1 -1
  2109. package/ReactAndroid/src/test/java/com/facebook/react/modules/clipboard/ClipboardModuleTest.java +4 -2
  2110. package/ReactAndroid/src/test/java/com/facebook/react/modules/deviceinfo/DeviceInfoModuleTest.java +2 -2
  2111. package/ReactAndroid/src/test/java/com/facebook/react/modules/dialog/DialogModuleTest.java +1 -1
  2112. package/ReactAndroid/src/test/java/com/facebook/react/modules/network/HeaderUtilTest.java +1 -1
  2113. package/ReactAndroid/src/test/java/com/facebook/react/modules/network/NetworkingModuleTest.java +2 -2
  2114. package/ReactAndroid/src/test/java/com/facebook/react/modules/network/ProgressiveStringDecoderTest.java +1 -1
  2115. package/ReactAndroid/src/test/java/com/facebook/react/modules/network/ReactCookieJarContainerTest.java +2 -2
  2116. package/ReactAndroid/src/test/java/com/facebook/react/modules/share/ShareModuleTest.java +1 -1
  2117. package/ReactAndroid/src/test/java/com/facebook/react/modules/storage/AsyncStorageModuleTest.java +2 -2
  2118. package/ReactAndroid/src/test/java/com/facebook/react/modules/timing/TimingModuleTest.java +2 -2
  2119. package/ReactAndroid/src/test/java/com/facebook/react/packagerconnection/BUCK +1 -1
  2120. package/ReactAndroid/src/test/java/com/facebook/react/packagerconnection/JSPackagerClientTest.java +1 -1
  2121. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/BUCK +1 -1
  2122. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/BaseViewManagerTest.java +2 -2
  2123. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/LayoutPropertyApplicatorTest.java +1 -1
  2124. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/MatrixMathHelperTest.java +2 -2
  2125. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropAnnotationSetterSpecTest.java +1 -1
  2126. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropAnnotationSetterTest.java +2 -2
  2127. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropConstantsTest.java +3 -3
  2128. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropForShadowNodeSetterTest.java +1 -1
  2129. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropForShadowNodeSpecTest.java +1 -1
  2130. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/SimpleViewPropertyTest.java +3 -3
  2131. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/UIManagerModuleConstantsTest.java +3 -3
  2132. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/UIManagerModuleTest.java +2 -2
  2133. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/layoutanimation/BUCK +1 -1
  2134. package/ReactAndroid/src/test/java/com/facebook/react/uimanager/layoutanimation/InterpolatorTypeTest.java +2 -2
  2135. package/ReactAndroid/src/test/java/com/facebook/react/util/BUCK +1 -1
  2136. package/ReactAndroid/src/test/java/com/facebook/react/util/JSStackTraceTest.java +1 -1
  2137. package/ReactAndroid/src/test/java/com/facebook/react/views/BUCK +1 -1
  2138. package/ReactAndroid/src/test/java/com/facebook/react/views/image/ImageResizeModeTest.java +2 -2
  2139. package/ReactAndroid/src/test/java/com/facebook/react/views/image/ReactImagePropertyTest.java +1 -1
  2140. package/ReactAndroid/src/test/java/com/facebook/react/views/slider/ReactSliderPropertyTest.java +2 -2
  2141. package/ReactAndroid/src/test/java/com/facebook/react/views/text/CustomLineHeightSpanTest.java +2 -2
  2142. package/ReactAndroid/src/test/java/com/facebook/react/views/text/ReactTextTest.java +2 -2
  2143. package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/ReactTextInputPropertyTest.java +2 -2
  2144. package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/TextInputTest.java +2 -2
  2145. package/ReactAndroid/src/test/java/com/facebook/react/views/view/ColorUtilTest.java +1 -1
  2146. package/ReactAndroid/src/test/java/org/mockito/configuration/MockitoConfiguration.java +1 -1
  2147. package/ReactAndroid/src/test/resources/BUCK +1 -1
  2148. package/ReactCommon/React-Fabric.podspec +7 -15
  2149. package/ReactCommon/React-rncore.podspec +41 -0
  2150. package/ReactCommon/ReactCommon.podspec +1 -1
  2151. package/ReactCommon/{better → butter}/.clang-tidy +1 -0
  2152. package/ReactCommon/{better → butter}/Android.mk +3 -3
  2153. package/ReactCommon/{better → butter}/BUCK +2 -8
  2154. package/ReactCommon/{better/better.h → butter/butter.h} +26 -12
  2155. package/ReactCommon/{better → butter}/map.h +8 -8
  2156. package/ReactCommon/{better → butter}/mutex.h +3 -3
  2157. package/ReactCommon/{better → butter}/optional.h +6 -6
  2158. package/ReactCommon/{better → butter}/set.h +6 -6
  2159. package/ReactCommon/{better → butter}/small_vector.h +6 -6
  2160. package/ReactCommon/callinvoker/Android.mk +1 -1
  2161. package/ReactCommon/callinvoker/BUCK +2 -8
  2162. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  2163. package/ReactCommon/callinvoker/ReactCommon/CallInvoker.h +1 -1
  2164. package/ReactCommon/common.mk +1 -1
  2165. package/ReactCommon/cxxreact/Android.mk +13 -3
  2166. package/ReactCommon/cxxreact/BUCK +1 -16
  2167. package/ReactCommon/cxxreact/CxxModule.h +1 -1
  2168. package/ReactCommon/cxxreact/CxxNativeModule.cpp +2 -2
  2169. package/ReactCommon/cxxreact/CxxNativeModule.h +1 -1
  2170. package/ReactCommon/cxxreact/ErrorUtils.h +1 -1
  2171. package/ReactCommon/cxxreact/Instance.cpp +1 -1
  2172. package/ReactCommon/cxxreact/Instance.h +1 -1
  2173. package/ReactCommon/cxxreact/JSBigString.cpp +1 -66
  2174. package/ReactCommon/cxxreact/JSBigString.h +1 -1
  2175. package/ReactCommon/cxxreact/JSBundleType.cpp +1 -1
  2176. package/ReactCommon/cxxreact/JSBundleType.h +1 -1
  2177. package/ReactCommon/cxxreact/JSExecutor.cpp +1 -1
  2178. package/ReactCommon/cxxreact/JSExecutor.h +1 -1
  2179. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +1 -1
  2180. package/ReactCommon/cxxreact/JSIndexedRAMBundle.h +1 -1
  2181. package/ReactCommon/cxxreact/JSModulesUnbundle.h +1 -1
  2182. package/ReactCommon/cxxreact/JsArgumentHelpers-inl.h +1 -1
  2183. package/ReactCommon/cxxreact/JsArgumentHelpers.h +1 -1
  2184. package/ReactCommon/cxxreact/MessageQueueThread.h +1 -1
  2185. package/ReactCommon/cxxreact/MethodCall.cpp +1 -1
  2186. package/ReactCommon/cxxreact/MethodCall.h +1 -1
  2187. package/ReactCommon/cxxreact/ModuleRegistry.cpp +1 -1
  2188. package/ReactCommon/cxxreact/ModuleRegistry.h +1 -1
  2189. package/ReactCommon/cxxreact/NativeModule.h +1 -1
  2190. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +1 -1
  2191. package/ReactCommon/cxxreact/NativeToJsBridge.h +1 -1
  2192. package/ReactCommon/cxxreact/RAMBundleRegistry.cpp +1 -1
  2193. package/ReactCommon/cxxreact/RAMBundleRegistry.h +1 -1
  2194. package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
  2195. package/ReactCommon/cxxreact/ReactMarker.cpp +6 -2
  2196. package/ReactCommon/cxxreact/ReactMarker.h +10 -11
  2197. package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
  2198. package/ReactCommon/cxxreact/RecoverableError.h +1 -1
  2199. package/ReactCommon/cxxreact/SampleCxxModule.cpp +1 -1
  2200. package/ReactCommon/cxxreact/SampleCxxModule.h +1 -1
  2201. package/ReactCommon/cxxreact/SharedProxyCxxModule.h +1 -1
  2202. package/ReactCommon/cxxreact/SystraceSection.h +1 -1
  2203. package/ReactCommon/cxxreact/tests/RecoverableErrorTest.cpp +1 -1
  2204. package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +1 -1
  2205. package/ReactCommon/cxxreact/tests/jsbigstring.cpp +1 -1
  2206. package/ReactCommon/cxxreact/tests/methodcall.cpp +1 -1
  2207. package/ReactCommon/hermes/React-hermes.podspec +1 -1
  2208. package/ReactCommon/hermes/executor/Android.mk +3 -3
  2209. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +1 -1
  2210. package/ReactCommon/hermes/executor/HermesExecutorFactory.h +1 -1
  2211. package/ReactCommon/hermes/executor/JSITracing.cpp +1 -1
  2212. package/ReactCommon/hermes/executor/JSITracing.h +1 -1
  2213. package/ReactCommon/hermes/inspector/Android.mk +12 -4
  2214. package/ReactCommon/hermes/inspector/AsyncPauseState.h +1 -1
  2215. package/ReactCommon/hermes/inspector/BUCK +0 -2
  2216. package/ReactCommon/hermes/inspector/Exceptions.h +1 -1
  2217. package/ReactCommon/hermes/inspector/Inspector.cpp +1 -1
  2218. package/ReactCommon/hermes/inspector/Inspector.h +1 -1
  2219. package/ReactCommon/hermes/inspector/InspectorState.cpp +1 -1
  2220. package/ReactCommon/hermes/inspector/InspectorState.h +1 -1
  2221. package/ReactCommon/hermes/inspector/RuntimeAdapter.cpp +1 -1
  2222. package/ReactCommon/hermes/inspector/RuntimeAdapter.h +1 -1
  2223. package/ReactCommon/hermes/inspector/chrome/AutoAttachUtils.cpp +1 -1
  2224. package/ReactCommon/hermes/inspector/chrome/AutoAttachUtils.h +1 -1
  2225. package/ReactCommon/hermes/inspector/chrome/Connection.cpp +1 -1
  2226. package/ReactCommon/hermes/inspector/chrome/Connection.h +1 -1
  2227. package/ReactCommon/hermes/inspector/chrome/ConnectionDemux.cpp +1 -1
  2228. package/ReactCommon/hermes/inspector/chrome/ConnectionDemux.h +1 -1
  2229. package/ReactCommon/hermes/inspector/chrome/MessageConverters.cpp +1 -1
  2230. package/ReactCommon/hermes/inspector/chrome/MessageConverters.h +1 -1
  2231. package/ReactCommon/hermes/inspector/chrome/MessageInterfaces.h +1 -1
  2232. package/ReactCommon/hermes/inspector/chrome/MessageTypesInlines.h +1 -1
  2233. package/ReactCommon/hermes/inspector/chrome/Registration.cpp +1 -1
  2234. package/ReactCommon/hermes/inspector/chrome/Registration.h +1 -1
  2235. package/ReactCommon/hermes/inspector/chrome/RemoteObjectsTable.cpp +1 -1
  2236. package/ReactCommon/hermes/inspector/chrome/RemoteObjectsTable.h +1 -1
  2237. package/ReactCommon/hermes/inspector/chrome/cli/main.cpp +1 -1
  2238. package/ReactCommon/hermes/inspector/chrome/tests/AsyncHermesRuntime.cpp +1 -1
  2239. package/ReactCommon/hermes/inspector/chrome/tests/AsyncHermesRuntime.h +1 -1
  2240. package/ReactCommon/hermes/inspector/chrome/tests/ConnectionDemuxTests.cpp +1 -1
  2241. package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +1 -1
  2242. package/ReactCommon/hermes/inspector/chrome/tests/MessageTests.cpp +1 -1
  2243. package/ReactCommon/hermes/inspector/chrome/tests/RemoteObjectsTableTest.cpp +1 -1
  2244. package/ReactCommon/hermes/inspector/chrome/tests/SyncConnection.cpp +1 -1
  2245. package/ReactCommon/hermes/inspector/chrome/tests/SyncConnection.h +1 -1
  2246. package/ReactCommon/hermes/inspector/detail/CallbackOStream.cpp +1 -1
  2247. package/ReactCommon/hermes/inspector/detail/CallbackOStream.h +1 -1
  2248. package/ReactCommon/hermes/inspector/detail/SerialExecutor.cpp +1 -1
  2249. package/ReactCommon/hermes/inspector/detail/SerialExecutor.h +1 -1
  2250. package/ReactCommon/hermes/inspector/detail/Thread.cpp +1 -1
  2251. package/ReactCommon/hermes/inspector/detail/Thread.h +1 -1
  2252. package/ReactCommon/hermes/inspector/detail/tests/CallbackOStreamTests.cpp +1 -1
  2253. package/ReactCommon/hermes/inspector/detail/tests/SerialExecutorTests.cpp +1 -1
  2254. package/ReactCommon/hermes/inspector/docs/GenerateInspectorFSM.sh +1 -1
  2255. package/ReactCommon/hermes/inspector/tests/InspectorTests.cpp +1 -1
  2256. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/CommandTest.js +1 -1
  2257. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/EventTest.js +1 -1
  2258. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/GraphTest.js +1 -1
  2259. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/HeaderWriterTest.js +1 -1
  2260. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/ImplementationWriterTest.js +1 -1
  2261. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/PropertyTest.js +1 -1
  2262. package/ReactCommon/hermes/inspector/tools/msggen/__tests__/TypeTest.js +1 -1
  2263. package/ReactCommon/hermes/inspector/tools/msggen/package.json +7 -4
  2264. package/ReactCommon/hermes/inspector/tools/msggen/src/Command.js +1 -1
  2265. package/ReactCommon/hermes/inspector/tools/msggen/src/Converters.js +1 -1
  2266. package/ReactCommon/hermes/inspector/tools/msggen/src/Event.js +1 -1
  2267. package/ReactCommon/hermes/inspector/tools/msggen/src/GeneratedHeader.js +1 -1
  2268. package/ReactCommon/hermes/inspector/tools/msggen/src/Graph.js +1 -1
  2269. package/ReactCommon/hermes/inspector/tools/msggen/src/HeaderWriter.js +2 -2
  2270. package/ReactCommon/hermes/inspector/tools/msggen/src/ImplementationWriter.js +1 -1
  2271. package/ReactCommon/hermes/inspector/tools/msggen/src/Property.js +1 -1
  2272. package/ReactCommon/hermes/inspector/tools/msggen/src/TestHelpers.js +1 -1
  2273. package/ReactCommon/hermes/inspector/tools/msggen/src/Type.js +1 -1
  2274. package/ReactCommon/hermes/inspector/tools/msggen/src/index.js +2 -2
  2275. package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +19 -16
  2276. package/ReactCommon/hermes/inspector/tools/sandcastle/build_and_test.sh +1 -1
  2277. package/ReactCommon/hermes/inspector/tools/sandcastle/setup.sh +1 -5
  2278. package/ReactCommon/jsi/Android.mk +1 -1
  2279. package/ReactCommon/jsi/BUCK +0 -9
  2280. package/ReactCommon/jsi/JSCRuntime.cpp +1 -1
  2281. package/ReactCommon/jsi/JSCRuntime.h +1 -1
  2282. package/ReactCommon/jsi/React-jsi.podspec +1 -1
  2283. package/ReactCommon/jsi/jsi/CMakeLists.txt +1 -1
  2284. package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -1
  2285. package/ReactCommon/jsi/jsi/JSIDynamic.h +1 -1
  2286. package/ReactCommon/jsi/jsi/decorator.h +1 -1
  2287. package/ReactCommon/jsi/jsi/instrumentation.h +1 -1
  2288. package/ReactCommon/jsi/jsi/jsi-inl.h +1 -1
  2289. package/ReactCommon/jsi/jsi/jsi.cpp +1 -1
  2290. package/ReactCommon/jsi/jsi/jsi.h +5 -5
  2291. package/ReactCommon/jsi/jsi/jsilib-posix.cpp +1 -1
  2292. package/ReactCommon/jsi/jsi/jsilib-windows.cpp +1 -1
  2293. package/ReactCommon/jsi/jsi/jsilib.h +1 -1
  2294. package/ReactCommon/jsi/jsi/test/testlib.cpp +1 -1
  2295. package/ReactCommon/jsi/jsi/test/testlib.h +1 -1
  2296. package/ReactCommon/jsi/jsi/threadsafe.h +1 -1
  2297. package/ReactCommon/jsiexecutor/Android.mk +1 -1
  2298. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
  2299. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +1 -1
  2300. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +1 -1
  2301. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +1 -1
  2302. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.h +1 -1
  2303. package/ReactCommon/jsinspector/Android.mk +1 -1
  2304. package/ReactCommon/jsinspector/BUCK +1 -5
  2305. package/ReactCommon/jsinspector/InspectorInterfaces.cpp +1 -1
  2306. package/ReactCommon/jsinspector/InspectorInterfaces.h +1 -1
  2307. package/ReactCommon/jsinspector/React-jsinspector.podspec +1 -1
  2308. package/ReactCommon/logger/Android.mk +1 -1
  2309. package/ReactCommon/logger/BUCK +0 -5
  2310. package/ReactCommon/logger/React-logger.podspec +1 -1
  2311. package/ReactCommon/logger/react_native_log.cpp +1 -1
  2312. package/ReactCommon/logger/react_native_log.h +1 -1
  2313. package/ReactCommon/microprofiler/MicroProfiler.cpp +1 -1
  2314. package/ReactCommon/microprofiler/MicroProfiler.h +1 -1
  2315. package/ReactCommon/react/config/Android.mk +2 -2
  2316. package/ReactCommon/react/config/BUCK +2 -6
  2317. package/ReactCommon/react/config/ReactNativeConfig.cpp +1 -1
  2318. package/ReactCommon/react/config/ReactNativeConfig.h +1 -1
  2319. package/ReactCommon/react/debug/Android.mk +1 -3
  2320. package/ReactCommon/react/debug/BUCK +0 -6
  2321. package/ReactCommon/react/debug/flags.h +1 -1
  2322. package/ReactCommon/react/debug/react_native_assert.cpp +5 -5
  2323. package/ReactCommon/react/debug/react_native_assert.h +1 -1
  2324. package/ReactCommon/react/nativemodule/core/Android.mk +7 -2
  2325. package/ReactCommon/react/nativemodule/core/BUCK +0 -5
  2326. package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.cpp +1 -1
  2327. package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.h +1 -1
  2328. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +1 -1
  2329. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.h +1 -1
  2330. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +1 -1
  2331. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +1 -1
  2332. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +1 -1
  2333. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +1 -1
  2334. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModulePerfLogger.cpp +1 -1
  2335. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModulePerfLogger.h +1 -1
  2336. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.cpp +1 -1
  2337. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +1 -1
  2338. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +1 -1
  2339. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +1 -1
  2340. package/ReactCommon/react/nativemodule/core/platform/ios/RCTBlockGuard.h +1 -1
  2341. package/ReactCommon/react/nativemodule/core/platform/ios/RCTBlockGuard.mm +1 -1
  2342. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.h +1 -1
  2343. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +1 -1
  2344. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.h +1 -1
  2345. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +23 -35
  2346. package/ReactCommon/react/nativemodule/samples/BUCK +0 -7
  2347. package/ReactCommon/react/nativemodule/samples/ReactCommon/NativeSampleTurboCxxModuleSpecJSI.cpp +1 -1
  2348. package/ReactCommon/react/nativemodule/samples/ReactCommon/NativeSampleTurboCxxModuleSpecJSI.h +1 -1
  2349. package/ReactCommon/react/nativemodule/samples/ReactCommon/SampleTurboCxxModule.cpp +1 -1
  2350. package/ReactCommon/react/nativemodule/samples/ReactCommon/SampleTurboCxxModule.h +1 -1
  2351. package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +6 -2
  2352. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +1 -1
  2353. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +1 -1
  2354. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.h +1 -1
  2355. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +1 -1
  2356. package/ReactCommon/react/nativemodule/samples/platform/ios/RCTNativeSampleTurboModuleSpec.h +1 -1
  2357. package/ReactCommon/react/nativemodule/samples/platform/ios/RCTNativeSampleTurboModuleSpec.mm +1 -1
  2358. package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboCxxModule.h +1 -1
  2359. package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboCxxModule.mm +1 -1
  2360. package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboModule.h +1 -1
  2361. package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboModule.mm +1 -1
  2362. package/ReactCommon/react/nativemodule/samples/platform/ios/SampleTurboCxxModuleLegacyImpl.cpp +1 -1
  2363. package/ReactCommon/react/nativemodule/samples/platform/ios/SampleTurboCxxModuleLegacyImpl.h +1 -1
  2364. package/ReactCommon/react/renderer/.clang-tidy +39 -0
  2365. package/ReactCommon/react/renderer/animations/Android.mk +18 -2
  2366. package/ReactCommon/react/renderer/animations/BUCK +1 -4
  2367. package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +34 -0
  2368. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +9 -30
  2369. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +9 -15
  2370. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1379 -1620
  2371. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +84 -249
  2372. package/ReactCommon/react/renderer/animations/conversions.h +212 -0
  2373. package/ReactCommon/react/renderer/animations/primitives.h +105 -0
  2374. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +5 -5
  2375. package/ReactCommon/react/renderer/animations/utils.cpp +71 -0
  2376. package/ReactCommon/react/renderer/animations/utils.h +81 -0
  2377. package/ReactCommon/react/renderer/attributedstring/Android.mk +16 -3
  2378. package/ReactCommon/react/renderer/attributedstring/AttributedString.cpp +1 -1
  2379. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +2 -3
  2380. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.cpp +8 -5
  2381. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +3 -3
  2382. package/ReactCommon/react/renderer/attributedstring/BUCK +0 -6
  2383. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +8 -4
  2384. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +13 -3
  2385. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +7 -16
  2386. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +16 -18
  2387. package/ReactCommon/react/renderer/attributedstring/conversions.h +125 -130
  2388. package/ReactCommon/react/renderer/attributedstring/primitives.h +22 -20
  2389. package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringBoxTest.cpp +1 -1
  2390. package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringTest.cpp +1 -1
  2391. package/ReactCommon/react/renderer/attributedstring/tests/ParagraphAttributesTest.cpp +1 -1
  2392. package/ReactCommon/react/renderer/attributedstring/tests/TextAttributesTest.cpp +1 -1
  2393. package/ReactCommon/react/renderer/componentregistry/Android.mk +10 -2
  2394. package/ReactCommon/react/renderer/componentregistry/BUCK +0 -6
  2395. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorFactory.h +1 -1
  2396. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProvider.h +1 -1
  2397. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +7 -6
  2398. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +4 -4
  2399. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +11 -9
  2400. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +7 -7
  2401. package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +1 -1
  2402. package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.h +1 -1
  2403. package/ReactCommon/react/renderer/componentregistry/native/Android.mk +10 -2
  2404. package/ReactCommon/react/renderer/componentregistry/native/BUCK +0 -6
  2405. package/ReactCommon/react/renderer/componentregistry/native/NativeComponentRegistryBinding.cpp +1 -1
  2406. package/ReactCommon/react/renderer/componentregistry/native/NativeComponentRegistryBinding.h +1 -1
  2407. package/ReactCommon/react/renderer/components/image/Android.mk +14 -2
  2408. package/ReactCommon/react/renderer/components/image/BUCK +0 -6
  2409. package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +1 -3
  2410. package/ReactCommon/react/renderer/components/image/ImageEventEmitter.cpp +1 -1
  2411. package/ReactCommon/react/renderer/components/image/ImageEventEmitter.h +1 -1
  2412. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +1 -1
  2413. package/ReactCommon/react/renderer/components/image/ImageProps.h +1 -1
  2414. package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +1 -1
  2415. package/ReactCommon/react/renderer/components/image/ImageShadowNode.h +1 -1
  2416. package/ReactCommon/react/renderer/components/image/ImageState.cpp +1 -1
  2417. package/ReactCommon/react/renderer/components/image/ImageState.h +1 -1
  2418. package/ReactCommon/react/renderer/components/image/conversions.h +4 -4
  2419. package/ReactCommon/react/renderer/components/image/tests/ImageTest.cpp +1 -1
  2420. package/ReactCommon/react/renderer/components/inputaccessory/BUCK +0 -6
  2421. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryComponentDescriptor.h +1 -5
  2422. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryShadowNode.cpp +1 -1
  2423. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryShadowNode.h +1 -1
  2424. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryState.h +1 -1
  2425. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +0 -6
  2426. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h +1 -1
  2427. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +1 -1
  2428. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.cpp +1 -1
  2429. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.h +1 -1
  2430. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.h +1 -1
  2431. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.mm +1 -1
  2432. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewEventEmitter.cpp +1 -1
  2433. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewEventEmitter.h +1 -1
  2434. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +1 -1
  2435. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +1 -1
  2436. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +1 -1
  2437. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +1 -1
  2438. package/ReactCommon/react/renderer/components/modal/Android.mk +18 -4
  2439. package/ReactCommon/react/renderer/components/modal/BUCK +0 -6
  2440. package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +1 -6
  2441. package/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.cpp +1 -1
  2442. package/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h +1 -1
  2443. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.cpp +1 -1
  2444. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +1 -1
  2445. package/ReactCommon/react/renderer/components/progressbar/Android.mk +19 -4
  2446. package/ReactCommon/react/renderer/components/progressbar/BUCK +0 -6
  2447. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarComponentDescriptor.h +1 -4
  2448. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.cpp +2 -2
  2449. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.h +2 -2
  2450. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.cpp +1 -1
  2451. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.h +1 -1
  2452. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/conversions.h +1 -1
  2453. package/ReactCommon/react/renderer/components/root/Android.mk +12 -2
  2454. package/ReactCommon/react/renderer/components/root/BUCK +0 -6
  2455. package/ReactCommon/react/renderer/components/root/RootComponentDescriptor.h +1 -1
  2456. package/ReactCommon/react/renderer/components/root/RootProps.cpp +1 -1
  2457. package/ReactCommon/react/renderer/components/root/RootProps.h +1 -1
  2458. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +1 -1
  2459. package/ReactCommon/react/renderer/components/root/RootShadowNode.h +1 -1
  2460. package/ReactCommon/react/renderer/components/root/tests/RootShadowNodeTest.cpp +1 -1
  2461. package/ReactCommon/react/renderer/components/safeareaview/BUCK +0 -6
  2462. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewComponentDescriptor.h +1 -1
  2463. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.cpp +1 -1
  2464. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.h +1 -1
  2465. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.cpp +1 -1
  2466. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.h +1 -1
  2467. package/ReactCommon/react/renderer/components/scrollview/Android.mk +16 -4
  2468. package/ReactCommon/react/renderer/components/scrollview/BUCK +0 -6
  2469. package/ReactCommon/react/renderer/components/scrollview/RCTComponentViewHelpers.h +1 -1
  2470. package/ReactCommon/react/renderer/components/scrollview/ScrollViewComponentDescriptor.h +1 -1
  2471. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +1 -1
  2472. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +1 -1
  2473. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +1 -1
  2474. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +1 -1
  2475. package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp +1 -1
  2476. package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.h +1 -1
  2477. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.cpp +1 -1
  2478. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +1 -1
  2479. package/ReactCommon/react/renderer/components/scrollview/conversions.h +1 -1
  2480. package/ReactCommon/react/renderer/components/scrollview/primitives.h +1 -1
  2481. package/ReactCommon/react/renderer/components/scrollview/tests/ScrollViewTest.cpp +1 -1
  2482. package/ReactCommon/react/renderer/components/slider/Android.mk +22 -4
  2483. package/ReactCommon/react/renderer/components/slider/BUCK +0 -6
  2484. package/ReactCommon/react/renderer/components/slider/SliderComponentDescriptor.h +1 -4
  2485. package/ReactCommon/react/renderer/components/slider/SliderShadowNode.cpp +1 -1
  2486. package/ReactCommon/react/renderer/components/slider/SliderShadowNode.h +1 -1
  2487. package/ReactCommon/react/renderer/components/slider/SliderState.cpp +1 -1
  2488. package/ReactCommon/react/renderer/components/slider/SliderState.h +1 -1
  2489. package/ReactCommon/react/renderer/components/slider/platform/android/react/renderer/components/slider/SliderMeasurementsManager.cpp +1 -1
  2490. package/ReactCommon/react/renderer/components/slider/platform/android/react/renderer/components/slider/SliderMeasurementsManager.h +1 -1
  2491. package/ReactCommon/react/renderer/components/slider/platform/ios/SliderMeasurementsManager.cpp +1 -1
  2492. package/ReactCommon/react/renderer/components/slider/platform/ios/SliderMeasurementsManager.h +1 -1
  2493. package/ReactCommon/react/renderer/components/slider/tests/SliderTest.cpp +1 -1
  2494. package/ReactCommon/react/renderer/components/switch/Android.mk +19 -4
  2495. package/ReactCommon/react/renderer/components/switch/BUCK +0 -6
  2496. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchComponentDescriptor.h +1 -4
  2497. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.cpp +1 -1
  2498. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.h +1 -1
  2499. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.cpp +1 -1
  2500. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.h +1 -1
  2501. package/ReactCommon/react/renderer/components/text/Android.mk +18 -2
  2502. package/ReactCommon/react/renderer/components/text/BUCK +0 -6
  2503. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +9 -15
  2504. package/ReactCommon/react/renderer/components/text/BaseTextProps.h +1 -1
  2505. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +1 -1
  2506. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.h +1 -1
  2507. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +3 -22
  2508. package/ReactCommon/react/renderer/components/text/ParagraphEventEmitter.cpp +1 -1
  2509. package/ReactCommon/react/renderer/components/text/ParagraphEventEmitter.h +1 -1
  2510. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +1 -1
  2511. package/ReactCommon/react/renderer/components/text/ParagraphProps.h +1 -1
  2512. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +3 -3
  2513. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +5 -4
  2514. package/ReactCommon/react/renderer/components/text/ParagraphState.cpp +1 -1
  2515. package/ReactCommon/react/renderer/components/text/ParagraphState.h +1 -1
  2516. package/ReactCommon/react/renderer/components/text/RawTextComponentDescriptor.h +1 -1
  2517. package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +1 -1
  2518. package/ReactCommon/react/renderer/components/text/RawTextProps.h +1 -1
  2519. package/ReactCommon/react/renderer/components/text/RawTextShadowNode.cpp +1 -1
  2520. package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +1 -1
  2521. package/ReactCommon/react/renderer/components/text/TextComponentDescriptor.h +1 -1
  2522. package/ReactCommon/react/renderer/components/text/TextProps.cpp +1 -1
  2523. package/ReactCommon/react/renderer/components/text/TextProps.h +1 -1
  2524. package/ReactCommon/react/renderer/components/text/TextShadowNode.cpp +1 -1
  2525. package/ReactCommon/react/renderer/components/text/TextShadowNode.h +1 -1
  2526. package/ReactCommon/react/renderer/components/text/conversions.h +5 -5
  2527. package/ReactCommon/react/renderer/components/text/tests/ParagraphLocalDataTest.cpp +1 -1
  2528. package/ReactCommon/react/renderer/components/text/tests/TextTest.cpp +1 -1
  2529. package/ReactCommon/react/renderer/components/textinput/Android.mk +23 -3
  2530. package/ReactCommon/react/renderer/components/textinput/BUCK +0 -6
  2531. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +2 -5
  2532. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputEventEmitter.h +7 -128
  2533. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +1 -1
  2534. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +5 -3
  2535. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +4 -2
  2536. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +2 -2
  2537. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.cpp +13 -12
  2538. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.h +6 -6
  2539. package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +0 -6
  2540. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputComponentDescriptor.h +2 -5
  2541. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputEventEmitter.cpp +19 -3
  2542. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputEventEmitter.h +6 -2
  2543. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +14 -2
  2544. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +5 -2
  2545. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputShadowNode.cpp +3 -3
  2546. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputShadowNode.h +4 -3
  2547. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputState.cpp +24 -2
  2548. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputState.h +14 -2
  2549. package/ReactCommon/react/renderer/components/textinput/iostextinput/conversions.h +1 -1
  2550. package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +4 -4
  2551. package/ReactCommon/react/renderer/components/textinput/iostextinput/propsConversions.h +3 -3
  2552. package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +13 -2
  2553. package/ReactCommon/react/renderer/components/unimplementedview/BUCK +0 -6
  2554. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +1 -5
  2555. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h +1 -1
  2556. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.cpp +1 -1
  2557. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +1 -1
  2558. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewShadowNode.cpp +1 -1
  2559. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewShadowNode.h +1 -1
  2560. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +7 -7
  2561. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +1 -1
  2562. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +1 -1
  2563. package/ReactCommon/react/renderer/components/view/Android.mk +13 -3
  2564. package/ReactCommon/react/renderer/components/view/BUCK +2 -6
  2565. package/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h +1 -1
  2566. package/ReactCommon/react/renderer/components/view/Touch.cpp +1 -1
  2567. package/ReactCommon/react/renderer/components/view/Touch.h +2 -33
  2568. package/ReactCommon/react/renderer/components/view/TouchEvent.cpp +1 -1
  2569. package/ReactCommon/react/renderer/components/view/TouchEvent.h +1 -1
  2570. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +1 -1
  2571. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +1 -1
  2572. package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +1 -24
  2573. package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +1 -1
  2574. package/ReactCommon/react/renderer/components/view/ViewEventEmitter.h +1 -1
  2575. package/ReactCommon/react/renderer/components/view/ViewProps.cpp +19 -1
  2576. package/ReactCommon/react/renderer/components/view/ViewProps.h +12 -6
  2577. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +3 -4
  2578. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +6 -5
  2579. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +2 -2
  2580. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +12 -3
  2581. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +2 -2
  2582. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +1 -1
  2583. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +1 -1
  2584. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +8 -4
  2585. package/ReactCommon/react/renderer/components/view/conversions.h +9 -9
  2586. package/ReactCommon/react/renderer/components/view/primitives.h +12 -12
  2587. package/ReactCommon/react/renderer/components/view/propsConversions.h +2 -2
  2588. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +1 -1
  2589. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +1 -1
  2590. package/ReactCommon/react/renderer/core/Android.mk +10 -2
  2591. package/ReactCommon/react/renderer/core/BUCK +2 -6
  2592. package/ReactCommon/react/renderer/core/BatchedEventQueue.cpp +1 -1
  2593. package/ReactCommon/react/renderer/core/BatchedEventQueue.h +1 -1
  2594. package/ReactCommon/react/renderer/core/ComponentDescriptor.cpp +1 -1
  2595. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +3 -2
  2596. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +17 -11
  2597. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +2 -11
  2598. package/ReactCommon/react/renderer/core/ConcreteState.h +1 -1
  2599. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.cpp +1 -1
  2600. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.h +1 -1
  2601. package/ReactCommon/react/renderer/core/EventBeat.cpp +7 -4
  2602. package/ReactCommon/react/renderer/core/EventBeat.h +3 -3
  2603. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +2 -2
  2604. package/ReactCommon/react/renderer/core/EventDispatcher.h +2 -2
  2605. package/ReactCommon/react/renderer/core/EventEmitter.cpp +10 -5
  2606. package/ReactCommon/react/renderer/core/EventEmitter.h +3 -2
  2607. package/ReactCommon/react/renderer/core/EventHandler.h +1 -1
  2608. package/ReactCommon/react/renderer/core/EventPipe.h +1 -1
  2609. package/ReactCommon/react/renderer/core/EventPriority.h +1 -1
  2610. package/ReactCommon/react/renderer/core/EventQueue.cpp +2 -2
  2611. package/ReactCommon/react/renderer/core/EventQueue.h +1 -1
  2612. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +1 -1
  2613. package/ReactCommon/react/renderer/core/EventQueueProcessor.h +1 -1
  2614. package/ReactCommon/react/renderer/core/EventTarget.cpp +5 -3
  2615. package/ReactCommon/react/renderer/core/EventTarget.h +1 -1
  2616. package/ReactCommon/react/renderer/core/LayoutConstraints.cpp +1 -1
  2617. package/ReactCommon/react/renderer/core/LayoutConstraints.h +1 -1
  2618. package/ReactCommon/react/renderer/core/LayoutContext.h +1 -1
  2619. package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +1 -1
  2620. package/ReactCommon/react/renderer/core/LayoutMetrics.h +1 -1
  2621. package/ReactCommon/react/renderer/core/LayoutPrimitives.h +1 -1
  2622. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +16 -26
  2623. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +6 -6
  2624. package/ReactCommon/react/renderer/core/Props.cpp +1 -1
  2625. package/ReactCommon/react/renderer/core/Props.h +2 -1
  2626. package/ReactCommon/react/renderer/core/PropsParserContext.h +4 -3
  2627. package/ReactCommon/react/renderer/core/RawEvent.cpp +1 -1
  2628. package/ReactCommon/react/renderer/core/RawEvent.h +8 -6
  2629. package/ReactCommon/react/renderer/core/RawProps.cpp +2 -1
  2630. package/ReactCommon/react/renderer/core/RawProps.h +6 -7
  2631. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +15 -6
  2632. package/ReactCommon/react/renderer/core/RawPropsKey.h +1 -1
  2633. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +1 -1
  2634. package/ReactCommon/react/renderer/core/RawPropsKeyMap.h +4 -4
  2635. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +1 -1
  2636. package/ReactCommon/react/renderer/core/RawPropsParser.h +4 -4
  2637. package/ReactCommon/react/renderer/core/RawPropsPrimitives.h +1 -1
  2638. package/ReactCommon/react/renderer/core/RawValue.cpp +1 -1
  2639. package/ReactCommon/react/renderer/core/RawValue.h +7 -7
  2640. package/ReactCommon/react/renderer/core/ReactEventPriority.h +1 -1
  2641. package/ReactCommon/react/renderer/core/ReactPrimitives.h +1 -3
  2642. package/ReactCommon/react/renderer/core/Sealable.cpp +2 -2
  2643. package/ReactCommon/react/renderer/core/Sealable.h +1 -1
  2644. package/ReactCommon/react/renderer/core/ShadowNode.cpp +17 -18
  2645. package/ReactCommon/react/renderer/core/ShadowNode.h +9 -9
  2646. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +9 -7
  2647. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +5 -4
  2648. package/ReactCommon/react/renderer/core/ShadowNodeFamilyFragment.cpp +1 -1
  2649. package/ReactCommon/react/renderer/core/ShadowNodeFamilyFragment.h +1 -1
  2650. package/ReactCommon/react/renderer/core/ShadowNodeFragment.cpp +1 -1
  2651. package/ReactCommon/react/renderer/core/ShadowNodeFragment.h +1 -1
  2652. package/ReactCommon/react/renderer/core/ShadowNodeTraits.cpp +1 -1
  2653. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +1 -1
  2654. package/ReactCommon/react/renderer/core/State.cpp +11 -7
  2655. package/ReactCommon/react/renderer/core/State.h +3 -3
  2656. package/ReactCommon/react/renderer/core/StateData.h +1 -1
  2657. package/ReactCommon/react/renderer/core/StatePipe.h +1 -1
  2658. package/ReactCommon/react/renderer/core/StateUpdate.cpp +1 -1
  2659. package/ReactCommon/react/renderer/core/StateUpdate.h +1 -1
  2660. package/ReactCommon/react/renderer/core/UnbatchedEventQueue.cpp +1 -1
  2661. package/ReactCommon/react/renderer/core/UnbatchedEventQueue.h +1 -1
  2662. package/ReactCommon/react/renderer/core/ValueFactory.h +1 -1
  2663. package/ReactCommon/react/renderer/core/conversions.h +1 -1
  2664. package/ReactCommon/react/renderer/core/propsConversions.h +6 -6
  2665. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +1 -1
  2666. package/ReactCommon/react/renderer/core/tests/ConcreteShadowNodeTest.cpp +1 -1
  2667. package/ReactCommon/react/renderer/core/tests/DynamicPropsUtilitiesTest.cpp +1 -1
  2668. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +1 -1
  2669. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +1 -1
  2670. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +1 -1
  2671. package/ReactCommon/react/renderer/core/tests/PrimitivesTest.cpp +1 -1
  2672. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +1 -1
  2673. package/ReactCommon/react/renderer/core/tests/ShadowNodeFamilyTest.cpp +1 -1
  2674. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +1 -1
  2675. package/ReactCommon/react/renderer/core/tests/TestComponent.h +1 -1
  2676. package/ReactCommon/react/renderer/core/tests/benchmarks/RawPropsBenchmark.cpp +16 -7
  2677. package/ReactCommon/react/renderer/core/tests/traitCastTest.cpp +1 -1
  2678. package/ReactCommon/react/renderer/debug/Android.mk +1 -1
  2679. package/ReactCommon/react/renderer/debug/BUCK +3 -7
  2680. package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +3 -3
  2681. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +1 -1
  2682. package/ReactCommon/react/renderer/debug/DebugStringConvertibleItem.cpp +11 -6
  2683. package/ReactCommon/react/renderer/debug/DebugStringConvertibleItem.h +5 -5
  2684. package/ReactCommon/react/renderer/debug/SystraceSection.h +1 -1
  2685. package/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h +3 -3
  2686. package/ReactCommon/react/renderer/debug/flags.h +1 -1
  2687. package/ReactCommon/react/renderer/debug/tests/DebugStringConvertibleTest.cpp +1 -1
  2688. package/ReactCommon/react/renderer/element/BUCK +0 -6
  2689. package/ReactCommon/react/renderer/element/ComponentBuilder.cpp +5 -3
  2690. package/ReactCommon/react/renderer/element/ComponentBuilder.h +2 -2
  2691. package/ReactCommon/react/renderer/element/Element.cpp +1 -1
  2692. package/ReactCommon/react/renderer/element/Element.h +1 -1
  2693. package/ReactCommon/react/renderer/element/ElementFragment.cpp +1 -1
  2694. package/ReactCommon/react/renderer/element/ElementFragment.h +1 -1
  2695. package/ReactCommon/react/renderer/element/testUtils.h +1 -1
  2696. package/ReactCommon/react/renderer/element/tests/ElementTest.cpp +1 -1
  2697. package/ReactCommon/react/renderer/graphics/Android.mk +9 -3
  2698. package/ReactCommon/react/renderer/graphics/BUCK +1 -7
  2699. package/ReactCommon/react/renderer/graphics/ColorComponents.h +1 -1
  2700. package/ReactCommon/react/renderer/graphics/Geometry.h +1 -1
  2701. package/ReactCommon/react/renderer/graphics/Point.h +1 -1
  2702. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -2
  2703. package/ReactCommon/react/renderer/graphics/Rect.h +1 -1
  2704. package/ReactCommon/react/renderer/graphics/RectangleCorners.h +1 -1
  2705. package/ReactCommon/react/renderer/graphics/RectangleEdges.h +1 -1
  2706. package/ReactCommon/react/renderer/graphics/Size.h +1 -1
  2707. package/ReactCommon/react/renderer/graphics/Transform.cpp +2 -2
  2708. package/ReactCommon/react/renderer/graphics/Transform.h +2 -2
  2709. package/ReactCommon/react/renderer/graphics/conversions.h +11 -10
  2710. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +3 -3
  2711. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.cpp +2 -2
  2712. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +2 -2
  2713. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Float.h +1 -1
  2714. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/PlatformColorParser.h +1 -1
  2715. package/ReactCommon/react/renderer/graphics/platform/ios/Color.cpp +1 -1
  2716. package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +2 -2
  2717. package/ReactCommon/react/renderer/graphics/platform/ios/Float.h +1 -1
  2718. package/ReactCommon/react/renderer/graphics/platform/ios/PlatformColorParser.h +3 -3
  2719. package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.h +1 -1
  2720. package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.mm +9 -11
  2721. package/ReactCommon/react/renderer/graphics/rounding.h +1 -1
  2722. package/ReactCommon/react/renderer/graphics/tests/GraphicsTest.cpp +1 -1
  2723. package/ReactCommon/react/renderer/graphics/tests/TransformTest.cpp +2 -2
  2724. package/ReactCommon/react/renderer/imagemanager/Android.mk +9 -2
  2725. package/ReactCommon/react/renderer/imagemanager/BUCK +0 -6
  2726. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +1 -1
  2727. package/ReactCommon/react/renderer/imagemanager/ImageRequest.h +2 -2
  2728. package/ReactCommon/react/renderer/imagemanager/ImageResponse.cpp +6 -4
  2729. package/ReactCommon/react/renderer/imagemanager/ImageResponse.h +2 -4
  2730. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserver.h +1 -1
  2731. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +1 -1
  2732. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.h +3 -3
  2733. package/ReactCommon/react/renderer/imagemanager/ImageTelemetry.cpp +1 -1
  2734. package/ReactCommon/react/renderer/imagemanager/ImageTelemetry.h +1 -1
  2735. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageManager.cpp +1 -1
  2736. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequest.cpp +5 -3
  2737. package/ReactCommon/react/renderer/imagemanager/platform/ios/ImageManager.mm +1 -1
  2738. package/ReactCommon/react/renderer/imagemanager/platform/ios/ImageRequest.cpp +3 -3
  2739. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImageManager.h +1 -1
  2740. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImageManager.mm +1 -1
  2741. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImageManagerProtocol.h +1 -1
  2742. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImagePrimitivesConversions.h +1 -1
  2743. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.h +1 -1
  2744. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.mm +1 -1
  2745. package/ReactCommon/react/renderer/imagemanager/primitives.h +1 -1
  2746. package/ReactCommon/react/renderer/imagemanager/tests/ImageManagerTest.cpp +1 -1
  2747. package/ReactCommon/react/renderer/leakchecker/Android.mk +5 -2
  2748. package/ReactCommon/react/renderer/leakchecker/BUCK +0 -6
  2749. package/ReactCommon/react/renderer/leakchecker/LeakChecker.cpp +5 -3
  2750. package/ReactCommon/react/renderer/leakchecker/LeakChecker.h +2 -2
  2751. package/ReactCommon/react/renderer/leakchecker/WeakFamilyRegistry.cpp +1 -1
  2752. package/ReactCommon/react/renderer/leakchecker/WeakFamilyRegistry.h +1 -1
  2753. package/ReactCommon/react/renderer/mapbuffer/Android.mk +5 -2
  2754. package/ReactCommon/react/renderer/mapbuffer/BUCK +0 -6
  2755. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +65 -86
  2756. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +104 -28
  2757. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +89 -166
  2758. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +23 -58
  2759. package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +37 -27
  2760. package/ReactCommon/react/renderer/mounting/Android.mk +19 -3
  2761. package/ReactCommon/react/renderer/mounting/BUCK +1 -7
  2762. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +19 -26
  2763. package/ReactCommon/react/renderer/mounting/Differentiator.h +1 -1
  2764. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +4 -4
  2765. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +4 -4
  2766. package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +3 -3
  2767. package/ReactCommon/react/renderer/mounting/MountingTransaction.cpp +1 -1
  2768. package/ReactCommon/react/renderer/mounting/MountingTransaction.h +1 -1
  2769. package/ReactCommon/react/renderer/mounting/MountingTransactionMetadata.cpp +1 -1
  2770. package/ReactCommon/react/renderer/mounting/MountingTransactionMetadata.h +1 -1
  2771. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +11 -11
  2772. package/ReactCommon/react/renderer/mounting/ShadowTree.h +3 -3
  2773. package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +1 -1
  2774. package/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.cpp +8 -13
  2775. package/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.h +8 -9
  2776. package/ReactCommon/react/renderer/mounting/ShadowTreeRevision.cpp +1 -1
  2777. package/ReactCommon/react/renderer/mounting/ShadowTreeRevision.h +2 -2
  2778. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +1 -1
  2779. package/ReactCommon/react/renderer/mounting/ShadowView.h +5 -5
  2780. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +23 -9
  2781. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +11 -2
  2782. package/ReactCommon/react/renderer/mounting/StubView.cpp +1 -1
  2783. package/ReactCommon/react/renderer/mounting/StubView.h +1 -1
  2784. package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +1 -1
  2785. package/ReactCommon/react/renderer/mounting/StubViewTree.h +1 -1
  2786. package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +6 -5
  2787. package/ReactCommon/react/renderer/mounting/TelemetryController.h +7 -4
  2788. package/ReactCommon/react/renderer/mounting/stubs.cpp +1 -1
  2789. package/ReactCommon/react/renderer/mounting/stubs.h +1 -1
  2790. package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +5 -5
  2791. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +1 -1
  2792. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +3 -3
  2793. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +3 -3
  2794. package/ReactCommon/react/renderer/runtimescheduler/Android.mk +8 -2
  2795. package/ReactCommon/react/renderer/runtimescheduler/BUCK +2 -8
  2796. package/ReactCommon/react/renderer/runtimescheduler/ErrorUtils.h +36 -0
  2797. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +93 -51
  2798. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +54 -19
  2799. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +27 -7
  2800. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +15 -5
  2801. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +34 -0
  2802. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +36 -0
  2803. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +5 -3
  2804. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +21 -4
  2805. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +5 -3
  2806. package/ReactCommon/react/renderer/runtimescheduler/Task.h +7 -5
  2807. package/ReactCommon/react/renderer/runtimescheduler/primitives.h +5 -3
  2808. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +135 -13
  2809. package/ReactCommon/react/renderer/runtimescheduler/tests/SchedulerPriorityTest.cpp +1 -1
  2810. package/ReactCommon/react/renderer/runtimescheduler/tests/StubClock.h +1 -1
  2811. package/ReactCommon/react/renderer/runtimescheduler/tests/StubErrorUtils.h +72 -0
  2812. package/ReactCommon/react/renderer/runtimescheduler/tests/StubQueue.h +29 -7
  2813. package/ReactCommon/react/renderer/scheduler/Android.mk +20 -2
  2814. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +1 -1
  2815. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.h +1 -1
  2816. package/ReactCommon/react/renderer/scheduler/BUCK +0 -6
  2817. package/ReactCommon/react/renderer/scheduler/InspectorData.h +1 -1
  2818. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +16 -20
  2819. package/ReactCommon/react/renderer/scheduler/Scheduler.h +5 -5
  2820. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +2 -2
  2821. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.cpp +1 -1
  2822. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +1 -1
  2823. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +25 -25
  2824. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +7 -7
  2825. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +5 -5
  2826. package/ReactCommon/react/renderer/scheduler/SurfaceManager.h +6 -6
  2827. package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.cpp +5 -3
  2828. package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.h +2 -2
  2829. package/ReactCommon/react/renderer/telemetry/Android.mk +15 -3
  2830. package/ReactCommon/react/renderer/telemetry/BUCK +1 -7
  2831. package/ReactCommon/react/renderer/telemetry/SurfaceTelemetry.cpp +1 -1
  2832. package/ReactCommon/react/renderer/telemetry/SurfaceTelemetry.h +3 -3
  2833. package/ReactCommon/react/renderer/telemetry/TransactionTelemetry.cpp +4 -2
  2834. package/ReactCommon/react/renderer/telemetry/TransactionTelemetry.h +1 -1
  2835. package/ReactCommon/react/renderer/telemetry/tests/TransactionTelemetryTest.cpp +1 -1
  2836. package/ReactCommon/react/renderer/templateprocessor/Android.mk +12 -2
  2837. package/ReactCommon/react/renderer/templateprocessor/BUCK +0 -6
  2838. package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.cpp +3 -3
  2839. package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.h +3 -3
  2840. package/ReactCommon/react/renderer/templateprocessor/tests/UITemplateProcessorTest.cpp +6 -7
  2841. package/ReactCommon/react/renderer/textlayoutmanager/Android.mk +22 -2
  2842. package/ReactCommon/react/renderer/textlayoutmanager/BUCK +0 -6
  2843. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.cpp +4 -2
  2844. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +1 -1
  2845. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +23 -20
  2846. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +15 -11
  2847. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +1 -1
  2848. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +1 -1
  2849. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/NSTextStorage+FontScaling.h +1 -1
  2850. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/NSTextStorage+FontScaling.m +1 -1
  2851. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.h +3 -1
  2852. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +24 -6
  2853. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTFontProperties.h +1 -1
  2854. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTFontUtils.h +1 -1
  2855. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTFontUtils.mm +1 -1
  2856. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTTextLayoutManager.h +1 -1
  2857. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTTextLayoutManager.mm +1 -1
  2858. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTTextPrimitivesConversions.h +11 -36
  2859. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/TextLayoutManager.h +1 -5
  2860. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/TextLayoutManager.mm +1 -1
  2861. package/ReactCommon/react/renderer/textlayoutmanager/tests/TextLayoutManagerTest.cpp +1 -1
  2862. package/ReactCommon/react/renderer/timeline/BUCK +6 -12
  2863. package/ReactCommon/react/renderer/timeline/Timeline.cpp +1 -1
  2864. package/ReactCommon/react/renderer/timeline/Timeline.h +2 -2
  2865. package/ReactCommon/react/renderer/timeline/TimelineController.cpp +4 -4
  2866. package/ReactCommon/react/renderer/timeline/TimelineController.h +4 -4
  2867. package/ReactCommon/react/renderer/timeline/TimelineFrame.cpp +1 -1
  2868. package/ReactCommon/react/renderer/timeline/TimelineFrame.h +1 -1
  2869. package/ReactCommon/react/renderer/timeline/TimelineHandler.cpp +1 -1
  2870. package/ReactCommon/react/renderer/timeline/TimelineHandler.h +1 -1
  2871. package/ReactCommon/react/renderer/timeline/TimelineSnapshot.cpp +5 -3
  2872. package/ReactCommon/react/renderer/timeline/TimelineSnapshot.h +2 -4
  2873. package/ReactCommon/react/renderer/uimanager/Android.mk +19 -2
  2874. package/ReactCommon/react/renderer/uimanager/BUCK +1 -6
  2875. package/ReactCommon/react/renderer/uimanager/LayoutAnimationStatusDelegate.h +1 -1
  2876. package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.cpp +105 -0
  2877. package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.h +49 -0
  2878. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +29 -34
  2879. package/ReactCommon/react/renderer/uimanager/UIManager.h +7 -6
  2880. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +2 -2
  2881. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +50 -205
  2882. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +8 -43
  2883. package/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h +1 -1
  2884. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +2 -2
  2885. package/ReactCommon/react/renderer/uimanager/bindingUtils.cpp +79 -0
  2886. package/ReactCommon/react/renderer/uimanager/bindingUtils.h +20 -0
  2887. package/ReactCommon/react/renderer/uimanager/primitives.h +11 -1
  2888. package/ReactCommon/react/renderer/uimanager/tests/FabricUIManagerTest.cpp +1 -1
  2889. package/ReactCommon/react/test_utils/BUCK +4 -7
  2890. package/ReactCommon/react/test_utils/Entropy.h +1 -1
  2891. package/ReactCommon/react/test_utils/MockClock.h +1 -1
  2892. package/ReactCommon/react/test_utils/MockSurfaceHandler.h +26 -0
  2893. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +1 -1
  2894. package/ReactCommon/react/utils/Android.mk +6 -2
  2895. package/ReactCommon/react/utils/BUCK +1 -7
  2896. package/ReactCommon/react/utils/CalledOnceMovableOnlyFunction.h +2 -2
  2897. package/ReactCommon/react/utils/ContextContainer.h +12 -39
  2898. package/ReactCommon/react/utils/FloatComparison.h +1 -1
  2899. package/ReactCommon/react/utils/LayoutManager.h +1 -1
  2900. package/ReactCommon/react/utils/ManagedObjectWrapper.h +1 -1
  2901. package/ReactCommon/react/utils/ManagedObjectWrapper.mm +1 -1
  2902. package/ReactCommon/react/utils/RunLoopObserver.cpp +1 -1
  2903. package/ReactCommon/react/utils/RunLoopObserver.h +1 -1
  2904. package/ReactCommon/react/utils/SharedFunction.h +5 -5
  2905. package/ReactCommon/react/utils/SimpleThreadSafeCache.h +4 -3
  2906. package/ReactCommon/react/utils/Telemetry.h +1 -1
  2907. package/ReactCommon/reactperflogger/Android.mk +1 -1
  2908. package/ReactCommon/reactperflogger/BUCK +0 -4
  2909. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  2910. package/ReactCommon/reactperflogger/reactperflogger/BridgeNativeModulePerfLogger.cpp +1 -1
  2911. package/ReactCommon/reactperflogger/reactperflogger/BridgeNativeModulePerfLogger.h +1 -1
  2912. package/ReactCommon/reactperflogger/reactperflogger/NativeModulePerfLogger.h +1 -1
  2913. package/ReactCommon/runtimeexecutor/Android.mk +2 -2
  2914. package/ReactCommon/runtimeexecutor/BUCK +0 -6
  2915. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  2916. package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +1 -1
  2917. package/ReactCommon/yoga/Android.mk +1 -1
  2918. package/ReactCommon/yoga/BUCK +1 -5
  2919. package/ReactCommon/yoga/Yoga.podspec +1 -1
  2920. package/ReactCommon/yoga/yoga/BitUtils.h +1 -1
  2921. package/ReactCommon/yoga/yoga/CompactValue.h +1 -1
  2922. package/ReactCommon/yoga/yoga/Utils.cpp +1 -1
  2923. package/ReactCommon/yoga/yoga/Utils.h +1 -1
  2924. package/ReactCommon/yoga/yoga/YGConfig.cpp +1 -1
  2925. package/ReactCommon/yoga/yoga/YGConfig.h +1 -1
  2926. package/ReactCommon/yoga/yoga/YGEnums.cpp +1 -1
  2927. package/ReactCommon/yoga/yoga/YGEnums.h +1 -1
  2928. package/ReactCommon/yoga/yoga/YGFloatOptional.h +1 -1
  2929. package/ReactCommon/yoga/yoga/YGLayout.cpp +1 -1
  2930. package/ReactCommon/yoga/yoga/YGLayout.h +1 -1
  2931. package/ReactCommon/yoga/yoga/YGMacros.h +1 -1
  2932. package/ReactCommon/yoga/yoga/YGNode.cpp +1 -1
  2933. package/ReactCommon/yoga/yoga/YGNode.h +1 -1
  2934. package/ReactCommon/yoga/yoga/YGNodePrint.cpp +1 -1
  2935. package/ReactCommon/yoga/yoga/YGNodePrint.h +1 -1
  2936. package/ReactCommon/yoga/yoga/YGStyle.cpp +1 -1
  2937. package/ReactCommon/yoga/yoga/YGStyle.h +1 -1
  2938. package/ReactCommon/yoga/yoga/YGValue.cpp +1 -1
  2939. package/ReactCommon/yoga/yoga/YGValue.h +1 -1
  2940. package/ReactCommon/yoga/yoga/Yoga-internal.h +1 -1
  2941. package/ReactCommon/yoga/yoga/Yoga.cpp +1 -1
  2942. package/ReactCommon/yoga/yoga/Yoga.h +1 -1
  2943. package/ReactCommon/yoga/yoga/event/event.cpp +1 -1
  2944. package/ReactCommon/yoga/yoga/event/event.h +1 -1
  2945. package/ReactCommon/yoga/yoga/internal/experiments-inl.h +1 -1
  2946. package/ReactCommon/yoga/yoga/internal/experiments.cpp +1 -1
  2947. package/ReactCommon/yoga/yoga/internal/experiments.h +1 -1
  2948. package/ReactCommon/yoga/yoga/log.cpp +1 -1
  2949. package/ReactCommon/yoga/yoga/log.h +1 -1
  2950. package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0-sources.jar +0 -0
  2951. package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0-sources.jar.md5 +1 -0
  2952. package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0-sources.jar.sha1 +1 -0
  2953. package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0-sources.jar.sha256 +1 -0
  2954. package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0-sources.jar.sha512 +1 -0
  2955. package/android/com/facebook/react/react-native/{0.66.3-2/react-native-0.66.3-2.aar → 0.68.1-0/react-native-0.68.1-0.aar} +0 -0
  2956. package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.aar.md5 +1 -0
  2957. package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.aar.sha1 +1 -0
  2958. package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.aar.sha256 +1 -0
  2959. package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.aar.sha512 +1 -0
  2960. package/android/com/facebook/react/react-native/{0.66.3-2/react-native-0.66.3-2.module → 0.68.1-0/react-native-0.68.1-0.module} +22 -23
  2961. package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.module.md5 +1 -0
  2962. package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.module.sha1 +1 -0
  2963. package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.module.sha256 +1 -0
  2964. package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.module.sha512 +1 -0
  2965. package/android/com/facebook/react/react-native/{0.66.3-2/react-native-0.66.3-2.pom → 0.68.1-0/react-native-0.68.1-0.pom} +5 -5
  2966. package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.pom.md5 +1 -0
  2967. package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.pom.sha1 +1 -0
  2968. package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.pom.sha256 +1 -0
  2969. package/android/com/facebook/react/react-native/0.68.1-0/react-native-0.68.1-0.pom.sha512 +1 -0
  2970. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
  2971. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  2972. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  2973. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
  2974. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
  2975. package/cli.js +1 -1
  2976. package/flow/HermesInternalType.js +1 -1
  2977. package/flow/Position.js +1 -1
  2978. package/flow/Promise.js +1 -1
  2979. package/flow/Stringish.js +1 -1
  2980. package/flow/console.js +1 -1
  2981. package/flow/global.js +42 -1
  2982. package/flow/jest.js +1 -1
  2983. package/flow/use-subscription.js +1 -1
  2984. package/flow-typed/npm/glob_v7.x.x.js +79 -0
  2985. package/index.js +50 -23
  2986. package/interface.js +1 -1
  2987. package/jest/MockNativeMethods.js +1 -1
  2988. package/jest/assetFileTransformer.js +3 -3
  2989. package/jest/mockComponent.js +1 -1
  2990. package/jest/mockModal.js +31 -0
  2991. package/jest/mockNativeComponent.js +5 -1
  2992. package/jest/mockScrollView.js +1 -1
  2993. package/jest/preprocessor.js +1 -1
  2994. package/jest/renderer.js +1 -1
  2995. package/jest/setup.js +10 -7
  2996. package/jest-preset.js +1 -1
  2997. package/local-cli/cli.js +1 -1
  2998. package/package.json +60 -79
  2999. package/react-native.config.js +1 -1
  3000. package/react.gradle +118 -41
  3001. package/rn-get-polyfills.js +1 -1
  3002. package/scripts/compose-source-maps.js +15 -11
  3003. package/scripts/find-node.sh +33 -3
  3004. package/scripts/generate-artifacts.js +308 -0
  3005. package/scripts/generate-provider-cli.js +99 -0
  3006. package/scripts/generate-specs-cli.js +63 -11
  3007. package/scripts/ios-configure-glog.sh +26 -1
  3008. package/scripts/launchPackager.bat +1 -1
  3009. package/scripts/launchPackager.command +14 -3
  3010. package/scripts/node-binary.sh +1 -1
  3011. package/scripts/packager-reporter.js +27 -0
  3012. package/scripts/packager.sh +2 -2
  3013. package/scripts/react-native-xcode.sh +2 -2
  3014. package/scripts/react_native_pods.rb +485 -70
  3015. package/scripts/react_native_pods_utils/script_phases.rb +53 -0
  3016. package/scripts/react_native_pods_utils/script_phases.sh +138 -0
  3017. package/template/Gemfile +6 -0
  3018. package/template/Gemfile.lock +100 -0
  3019. package/template/_bundle/config +2 -0
  3020. package/template/_flowconfig +3 -1
  3021. package/template/_gitignore +2 -1
  3022. package/template/_prettierrc.js +2 -2
  3023. package/template/_ruby-version +1 -0
  3024. package/template/android/app/build.gradle +103 -9
  3025. package/template/android/app/src/debug/AndroidManifest.xml +1 -1
  3026. package/template/android/app/src/debug/java/com/helloworld/ReactNativeFlipper.java +3 -2
  3027. package/template/android/app/src/main/AndroidManifest.xml +3 -2
  3028. package/template/android/app/src/main/java/com/helloworld/MainActivity.java +25 -0
  3029. package/template/android/app/src/main/java/com/helloworld/MainApplication.java +11 -1
  3030. package/template/android/app/src/main/java/com/helloworld/newarchitecture/MainApplicationReactNativeHost.java +116 -0
  3031. package/template/android/app/src/main/java/com/helloworld/newarchitecture/components/MainComponentsRegistry.java +36 -0
  3032. package/template/android/app/src/main/java/com/helloworld/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java +48 -0
  3033. package/template/android/app/src/main/jni/Android.mk +49 -0
  3034. package/template/android/app/src/main/jni/MainApplicationModuleProvider.cpp +24 -0
  3035. package/template/android/app/src/main/jni/MainApplicationModuleProvider.h +16 -0
  3036. package/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp +45 -0
  3037. package/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h +38 -0
  3038. package/template/android/app/src/main/jni/MainComponentsRegistry.cpp +61 -0
  3039. package/template/android/app/src/main/jni/MainComponentsRegistry.h +32 -0
  3040. package/template/android/app/src/main/jni/OnLoad.cpp +11 -0
  3041. package/template/android/app/src/main/res/drawable/rn_edit_text_material.xml +36 -0
  3042. package/template/android/app/src/main/res/values/styles.xml +1 -0
  3043. package/template/android/build.gradle +27 -8
  3044. package/template/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  3045. package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  3046. package/template/android/gradle.properties +15 -3
  3047. package/template/android/gradlew +153 -104
  3048. package/template/android/settings.gradle +6 -0
  3049. package/template/ios/HelloWorld/AppDelegate.mm +111 -0
  3050. package/template/ios/HelloWorld/Images.xcassets/AppIcon.appiconset/Contents.json +30 -15
  3051. package/template/ios/HelloWorld/main.m +2 -1
  3052. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +68 -34
  3053. package/template/ios/HelloWorldTests/HelloWorldTests.m +14 -13
  3054. package/template/ios/Podfile +19 -3
  3055. package/template/package.json +3 -3
  3056. package/template.config.js +1 -1
  3057. package/third-party-podspecs/DoubleConversion.podspec +1 -1
  3058. package/third-party-podspecs/RCT-Folly.podspec +7 -3
  3059. package/third-party-podspecs/boost.podspec +1 -1
  3060. package/third-party-podspecs/glog.podspec +1 -2
  3061. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -87
  3062. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
  3063. package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
  3064. package/Libraries/Components/StaticContainer.react.js +0 -51
  3065. package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +0 -116
  3066. package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -25
  3067. package/Libraries/DeprecatedPropTypes/DeprecatedColorPropType.js +0 -76
  3068. package/Libraries/DeprecatedPropTypes/DeprecatedEdgeInsetsPropType.js +0 -28
  3069. package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.android.js +0 -131
  3070. package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.ios.js +0 -82
  3071. package/Libraries/DeprecatedPropTypes/DeprecatedImageSourcePropType.js +0 -40
  3072. package/Libraries/DeprecatedPropTypes/DeprecatedImageStylePropTypes.js +0 -76
  3073. package/Libraries/DeprecatedPropTypes/DeprecatedLayoutPropTypes.js +0 -233
  3074. package/Libraries/DeprecatedPropTypes/DeprecatedPointPropType.js +0 -24
  3075. package/Libraries/DeprecatedPropTypes/DeprecatedShadowPropTypesIOS.js +0 -30
  3076. package/Libraries/DeprecatedPropTypes/DeprecatedStyleSheetPropType.js +0 -32
  3077. package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +0 -622
  3078. package/Libraries/DeprecatedPropTypes/DeprecatedTextPropTypes.js +0 -158
  3079. package/Libraries/DeprecatedPropTypes/DeprecatedTextStylePropTypes.js +0 -157
  3080. package/Libraries/DeprecatedPropTypes/DeprecatedTransformPropTypes.js +0 -99
  3081. package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +0 -46
  3082. package/Libraries/DeprecatedPropTypes/DeprecatedViewPropTypes.js +0 -408
  3083. package/Libraries/DeprecatedPropTypes/DeprecatedViewStylePropTypes.js +0 -68
  3084. package/Libraries/DeprecatedPropTypes/deprecatedCreateStrictShapeTypeChecker.js +0 -86
  3085. package/Libraries/Interaction/InteractionMixin.js +0 -54
  3086. package/Libraries/ReactNative/queryLayoutByID.js +0 -58
  3087. package/React/Fabric/Surface/RCTFabricSurfaceHostingView.h +0 -15
  3088. package/React/Fabric/Surface/RCTFabricSurfaceHostingView.mm +0 -27
  3089. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/DatePickerDialogTestCase.java +0 -172
  3090. package/ReactAndroid/src/androidTest/js/DatePickerDialogTestModule.js +0 -45
  3091. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +0 -27
  3092. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java +0 -137
  3093. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +0 -153
  3094. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerMode.java +0 -15
  3095. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java +0 -117
  3096. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/BUCK +0 -20
  3097. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/RuntimeSchedulerManager.java +0 -39
  3098. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/Android.mk +0 -34
  3099. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/BUCK +0 -35
  3100. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/OnLoad.cpp +0 -15
  3101. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.cpp +0 -46
  3102. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.h +0 -40
  3103. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidViewPagerManagerDelegate.java +0 -57
  3104. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidViewPagerManagerInterface.java +0 -23
  3105. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/BUCK +0 -19
  3106. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/DatePickerManagerDelegate.java +0 -62
  3107. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/DatePickerManagerInterface.java +0 -25
  3108. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/InputAccessoryViewManagerDelegate.java +0 -33
  3109. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/InputAccessoryViewManagerInterface.java +0 -17
  3110. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/PullToRefreshViewManagerDelegate.java +0 -51
  3111. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/PullToRefreshViewManagerInterface.java +0 -21
  3112. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SwitchManagerDelegate.java +0 -63
  3113. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SwitchManagerInterface.java +0 -24
  3114. package/ReactAndroid/src/main/third-party/java/fest/BUCK +0 -36
  3115. package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.h +0 -32
  3116. package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.h.bak +0 -32
  3117. package/ReactCommon/react/renderer/components/rncore/EventEmitters.cpp +0 -149
  3118. package/ReactCommon/react/renderer/components/rncore/EventEmitters.cpp.bak +0 -149
  3119. package/ReactCommon/react/renderer/components/rncore/EventEmitters.h +0 -237
  3120. package/ReactCommon/react/renderer/components/rncore/EventEmitters.h.bak +0 -237
  3121. package/ReactCommon/react/renderer/components/rncore/Props.cpp +0 -218
  3122. package/ReactCommon/react/renderer/components/rncore/Props.cpp.bak +0 -218
  3123. package/ReactCommon/react/renderer/components/rncore/Props.h +0 -576
  3124. package/ReactCommon/react/renderer/components/rncore/Props.h.bak +0 -576
  3125. package/ReactCommon/react/renderer/components/rncore/RCTComponentViewHelpers.h +0 -273
  3126. package/ReactCommon/react/renderer/components/rncore/RCTComponentViewHelpers.h.bak +0 -273
  3127. package/ReactCommon/react/renderer/components/rncore/ShadowNodes.cpp +0 -29
  3128. package/ReactCommon/react/renderer/components/rncore/ShadowNodes.cpp.bak +0 -29
  3129. package/ReactCommon/react/renderer/components/rncore/ShadowNodes.h +0 -126
  3130. package/ReactCommon/react/renderer/components/rncore/ShadowNodes.h.bak +0 -126
  3131. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputEventEmitter.cpp +0 -179
  3132. package/ReactCommon/react/renderer/core/Constants.cpp +0 -24
  3133. package/ReactCommon/react/renderer/core/Constants.h +0 -23
  3134. package/ReactCommon/react/renderer/mapbuffer/primitives.h +0 -91
  3135. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.aar.md5 +0 -1
  3136. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.aar.sha1 +0 -1
  3137. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.aar.sha256 +0 -1
  3138. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.aar.sha512 +0 -1
  3139. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.module.md5 +0 -1
  3140. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.module.sha1 +0 -1
  3141. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.module.sha256 +0 -1
  3142. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.module.sha512 +0 -1
  3143. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.pom.md5 +0 -1
  3144. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.pom.sha1 +0 -1
  3145. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.pom.sha256 +0 -1
  3146. package/android/com/facebook/react/react-native/0.66.3-2/react-native-0.66.3-2.pom.sha512 +0 -1
  3147. package/flow-typed/npm/prop-types_v15.x.x.js +0 -42
  3148. package/readme.diff +0 -305
  3149. package/scripts/generate-specs.sh +0 -99
  3150. package/template/_editorconfig +0 -3
  3151. package/template/_gitattributes +0 -3
  3152. package/template/ios/HelloWorld/AppDelegate.m +0 -65
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) Facebook, Inc. and its affiliates.
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
3
  *
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
@@ -8,25 +8,25 @@
8
8
  #include "LayoutAnimationKeyFrameManager.h"
9
9
 
10
10
  #include <algorithm>
11
- #include <chrono>
11
+ #include <utility>
12
12
 
13
13
  #include <react/debug/flags.h>
14
14
  #include <react/debug/react_native_assert.h>
15
15
 
16
+ #include <logger/react_native_log.h>
17
+ #include <react/renderer/animations/conversions.h>
18
+ #include <react/renderer/animations/utils.h>
16
19
  #include <react/renderer/componentregistry/ComponentDescriptorFactory.h>
20
+ #include <react/renderer/components/image/ImageProps.h>
17
21
  #include <react/renderer/components/view/ViewProps.h>
18
22
  #include <react/renderer/core/ComponentDescriptor.h>
19
23
  #include <react/renderer/core/LayoutMetrics.h>
20
- #include <react/renderer/core/LayoutableShadowNode.h>
21
24
  #include <react/renderer/core/Props.h>
22
25
  #include <react/renderer/core/PropsParserContext.h>
23
26
  #include <react/renderer/core/RawValue.h>
24
27
  #include <react/renderer/mounting/MountingCoordinator.h>
25
- #include <react/renderer/mounting/ShadowViewMutation.h>
26
-
27
- #include <react/renderer/mounting/Differentiator.h>
28
- #include <react/renderer/mounting/ShadowTreeRevision.h>
29
28
  #include <react/renderer/mounting/ShadowView.h>
29
+ #include <react/renderer/mounting/ShadowViewMutation.h>
30
30
 
31
31
  #include <glog/logging.h>
32
32
 
@@ -74,6 +74,7 @@ void PrintMutationInstruction(
74
74
  return stream;
75
75
  }(LOG(ERROR));
76
76
  }
77
+
77
78
  void PrintMutationInstructionRelative(
78
79
  std::string message,
79
80
  ShadowViewMutation const &mutation,
@@ -85,199 +86,27 @@ void PrintMutationInstructionRelative(
85
86
  }
86
87
  #endif
87
88
 
88
- static better::optional<AnimationType> parseAnimationType(std::string param) {
89
- if (param == "spring") {
90
- return AnimationType::Spring;
91
- }
92
- if (param == "linear") {
93
- return AnimationType::Linear;
94
- }
95
- if (param == "easeInEaseOut") {
96
- return AnimationType::EaseInEaseOut;
97
- }
98
- if (param == "easeIn") {
99
- return AnimationType::EaseIn;
100
- }
101
- if (param == "easeOut") {
102
- return AnimationType::EaseOut;
103
- }
104
- if (param == "keyboard") {
105
- return AnimationType::Keyboard;
106
- }
107
-
108
- LOG(ERROR) << "Error parsing animation type: " << param;
109
- return {};
110
- }
111
-
112
- static better::optional<AnimationProperty> parseAnimationProperty(
113
- std::string param) {
114
- if (param == "opacity") {
115
- return AnimationProperty::Opacity;
116
- }
117
- if (param == "scaleX") {
118
- return AnimationProperty::ScaleX;
119
- }
120
- if (param == "scaleY") {
121
- return AnimationProperty::ScaleY;
122
- }
123
- if (param == "scaleXY") {
124
- return AnimationProperty::ScaleXY;
125
- }
126
-
127
- LOG(ERROR) << "Error parsing animation property: " << param;
128
- return {};
129
- }
130
-
131
- static better::optional<AnimationConfig> parseAnimationConfig(
132
- folly::dynamic const &config,
133
- double defaultDuration,
134
- bool parsePropertyType) {
135
- if (config.empty() || !config.isObject()) {
136
- return AnimationConfig{
137
- AnimationType::Linear,
138
- AnimationProperty::NotApplicable,
139
- defaultDuration,
140
- 0,
141
- 0,
142
- 0};
143
- }
144
-
145
- auto const typeIt = config.find("type");
146
- if (typeIt == config.items().end()) {
147
- LOG(ERROR) << "Error parsing animation config: could not find field `type`";
148
- return {};
149
- }
150
- auto const animationTypeParam = typeIt->second;
151
- if (animationTypeParam.empty() || !animationTypeParam.isString()) {
152
- LOG(ERROR)
153
- << "Error parsing animation config: could not unwrap field `type`";
154
- return {};
155
- }
156
- const auto animationType = parseAnimationType(animationTypeParam.asString());
157
- if (!animationType) {
158
- LOG(ERROR)
159
- << "Error parsing animation config: could not parse field `type`";
160
- return {};
161
- }
162
-
163
- AnimationProperty animationProperty = AnimationProperty::NotApplicable;
164
- if (parsePropertyType) {
165
- auto const propertyIt = config.find("property");
166
- if (propertyIt == config.items().end()) {
167
- LOG(ERROR)
168
- << "Error parsing animation config: could not find field `property`";
169
- return {};
170
- }
171
- auto const animationPropertyParam = propertyIt->second;
172
- if (animationPropertyParam.empty() || !animationPropertyParam.isString()) {
173
- LOG(ERROR)
174
- << "Error parsing animation config: could not unwrap field `property`";
175
- return {};
176
- }
177
- const auto animationPropertyParsed =
178
- parseAnimationProperty(animationPropertyParam.asString());
179
- if (!animationPropertyParsed) {
180
- LOG(ERROR)
181
- << "Error parsing animation config: could not parse field `property`";
182
- return {};
183
- }
184
- animationProperty = *animationPropertyParsed;
185
- }
186
-
187
- double duration = defaultDuration;
188
- double delay = 0;
189
- double springDamping = 0.5;
190
- double initialVelocity = 0;
191
-
192
- auto const durationIt = config.find("duration");
193
- if (durationIt != config.items().end()) {
194
- if (durationIt->second.isDouble()) {
195
- duration = durationIt->second.asDouble();
196
- } else {
197
- LOG(ERROR)
198
- << "Error parsing animation config: field `duration` must be a number";
199
- return {};
200
- }
201
- }
202
-
203
- auto const delayIt = config.find("delay");
204
- if (delayIt != config.items().end()) {
205
- if (delayIt->second.isDouble()) {
206
- delay = delayIt->second.asDouble();
207
- } else {
208
- LOG(ERROR)
209
- << "Error parsing animation config: field `delay` must be a number";
210
- return {};
211
- }
212
- }
213
-
214
- auto const springDampingIt = config.find("springDamping");
215
- if (springDampingIt != config.items().end() &&
216
- springDampingIt->second.isDouble()) {
217
- if (springDampingIt->second.isDouble()) {
218
- springDamping = springDampingIt->second.asDouble();
219
- } else {
220
- LOG(ERROR)
221
- << "Error parsing animation config: field `springDamping` must be a number";
222
- return {};
223
- }
224
- }
225
-
226
- auto const initialVelocityIt = config.find("initialVelocity");
227
- if (initialVelocityIt != config.items().end()) {
228
- if (initialVelocityIt->second.isDouble()) {
229
- initialVelocity = initialVelocityIt->second.asDouble();
230
- } else {
231
- LOG(ERROR)
232
- << "Error parsing animation config: field `initialVelocity` must be a number";
233
- return {};
234
- }
235
- }
236
-
237
- return better::optional<AnimationConfig>(AnimationConfig{
238
- *animationType,
239
- animationProperty,
240
- duration,
241
- delay,
242
- springDamping,
243
- initialVelocity});
89
+ static inline Float
90
+ interpolateFloats(Float coefficient, Float oldValue, Float newValue) {
91
+ return oldValue + (newValue - oldValue) * coefficient;
244
92
  }
245
93
 
246
- // Parse animation config from JS
247
- static better::optional<LayoutAnimationConfig> parseLayoutAnimationConfig(
248
- folly::dynamic const &config) {
249
- if (config.empty() || !config.isObject()) {
250
- return {};
251
- }
252
-
253
- const auto durationIt = config.find("duration");
254
- if (durationIt == config.items().end() || !durationIt->second.isDouble()) {
255
- return {};
256
- }
257
- const double duration = durationIt->second.asDouble();
258
-
259
- const auto createConfigIt = config.find("create");
260
- const auto createConfig = createConfigIt == config.items().end()
261
- ? better::optional<AnimationConfig>(AnimationConfig{})
262
- : parseAnimationConfig(createConfigIt->second, duration, true);
263
-
264
- const auto updateConfigIt = config.find("update");
265
- const auto updateConfig = updateConfigIt == config.items().end()
266
- ? better::optional<AnimationConfig>(AnimationConfig{})
267
- : parseAnimationConfig(updateConfigIt->second, duration, false);
268
-
269
- const auto deleteConfigIt = config.find("delete");
270
- const auto deleteConfig = deleteConfigIt == config.items().end()
271
- ? better::optional<AnimationConfig>(AnimationConfig{})
272
- : parseAnimationConfig(deleteConfigIt->second, duration, true);
94
+ #pragma mark -
273
95
 
274
- if (!createConfig || !updateConfig || !deleteConfig) {
275
- return {};
276
- }
96
+ LayoutAnimationKeyFrameManager::LayoutAnimationKeyFrameManager(
97
+ RuntimeExecutor runtimeExecutor,
98
+ ContextContainer::Shared &contextContainer,
99
+ LayoutAnimationStatusDelegate *delegate)
100
+ : runtimeExecutor_(std::move(runtimeExecutor)),
101
+ contextContainer_(contextContainer),
102
+ layoutAnimationStatusDelegate_(delegate),
103
+ now_([]() {
104
+ return std::chrono::duration_cast<std::chrono::milliseconds>(
105
+ std::chrono::high_resolution_clock::now().time_since_epoch())
106
+ .count();
107
+ }) {}
277
108
 
278
- return better::optional<LayoutAnimationConfig>(LayoutAnimationConfig{
279
- duration, *createConfig, *updateConfig, *deleteConfig});
280
- }
109
+ #pragma mark UIManagerAnimationDelegate methods
281
110
 
282
111
  /**
283
112
  * Globally configure next LayoutAnimation.
@@ -323,24 +152,9 @@ void LayoutAnimationKeyFrameManager::uiManagerDidConfigureNextLayoutAnimation(
323
152
  }
324
153
  }
325
154
 
326
- void LayoutAnimationKeyFrameManager::uiManagerDidConfigureNextLayoutAnimation(
327
- LayoutAnimation layoutAnimation) const {
328
- currentAnimation_ = better::optional<LayoutAnimation>{layoutAnimation};
329
- }
330
-
331
- void LayoutAnimationKeyFrameManager::setLayoutAnimationStatusDelegate(
332
- LayoutAnimationStatusDelegate *delegate) const {
333
- std::lock_guard<std::mutex> lock(layoutAnimationStatusDelegateMutex_);
334
- layoutAnimationStatusDelegate_ = delegate;
335
- }
336
-
337
- bool LayoutAnimationKeyFrameManager::shouldOverridePullTransaction() const {
338
- return shouldAnimateFrame();
339
- }
340
-
341
- void LayoutAnimationKeyFrameManager::stopSurface(SurfaceId surfaceId) {
342
- std::lock_guard<std::mutex> lock(surfaceIdsToStopMutex_);
343
- surfaceIdsToStop_.push_back(surfaceId);
155
+ void LayoutAnimationKeyFrameManager::setComponentDescriptorRegistry(
156
+ const SharedComponentDescriptorRegistry &componentDescriptorRegistry) {
157
+ componentDescriptorRegistry_ = componentDescriptorRegistry;
344
158
  }
345
159
 
346
160
  bool LayoutAnimationKeyFrameManager::shouldAnimateFrame() const {
@@ -348,1567 +162,1512 @@ bool LayoutAnimationKeyFrameManager::shouldAnimateFrame() const {
348
162
  return currentAnimation_ || !inflightAnimations_.empty();
349
163
  }
350
164
 
351
- static inline const float
352
- interpolateFloats(float coefficient, float oldValue, float newValue) {
353
- return oldValue + (newValue - oldValue) * coefficient;
165
+ void LayoutAnimationKeyFrameManager::stopSurface(SurfaceId surfaceId) {
166
+ std::lock_guard<std::mutex> lock(surfaceIdsToStopMutex_);
167
+ surfaceIdsToStop_.insert(surfaceId);
354
168
  }
355
169
 
356
- std::pair<double, double>
357
- LayoutAnimationKeyFrameManager::calculateAnimationProgress(
358
- uint64_t now,
359
- const LayoutAnimation &animation,
360
- const AnimationConfig &mutationConfig) const {
361
- if (mutationConfig.animationType == AnimationType::None) {
362
- return {1, 1};
363
- }
364
-
365
- uint64_t startTime = animation.startTime;
366
- uint64_t delay = mutationConfig.delay;
367
- uint64_t endTime = startTime + delay + mutationConfig.duration;
368
-
369
- static const float PI = 3.14159265358979323846;
370
-
371
- if (now >= endTime) {
372
- return {1, 1};
373
- }
374
- if (now < startTime + delay) {
375
- return {0, 0};
376
- }
170
+ #pragma mark - MountingOverrideDelegate methods
377
171
 
378
- double linearTimeProgression = 1 -
379
- (double)(endTime - delay - now) / (double)(endTime - animation.startTime);
380
-
381
- if (mutationConfig.animationType == AnimationType::Linear) {
382
- return {linearTimeProgression, linearTimeProgression};
383
- } else if (mutationConfig.animationType == AnimationType::EaseIn) {
384
- // This is an accelerator-style interpolator.
385
- // In the future, this parameter (2.0) could be adjusted. This has been the
386
- // default for Classic RN forever.
387
- return {linearTimeProgression, pow(linearTimeProgression, 2.0)};
388
- } else if (mutationConfig.animationType == AnimationType::EaseOut) {
389
- // This is an decelerator-style interpolator.
390
- // In the future, this parameter (2.0) could be adjusted. This has been the
391
- // default for Classic RN forever.
392
- return {linearTimeProgression, 1.0 - pow(1 - linearTimeProgression, 2.0)};
393
- } else if (mutationConfig.animationType == AnimationType::EaseInEaseOut) {
394
- // This is a combination of accelerate+decelerate.
395
- // The animation starts and ends slowly, and speeds up in the middle.
396
- return {
397
- linearTimeProgression,
398
- cos((linearTimeProgression + 1.0) * PI) / 2 + 0.5};
399
- } else if (mutationConfig.animationType == AnimationType::Spring) {
400
- // Using mSpringDamping in this equation is not really the exact
401
- // mathematical springDamping, but a good approximation We need to replace
402
- // this equation with the right Factor that accounts for damping and
403
- // friction
404
- double damping = mutationConfig.springDamping;
405
- return {
406
- linearTimeProgression,
407
- (1 +
408
- pow(2, -10 * linearTimeProgression) *
409
- sin((linearTimeProgression - damping / 4) * PI * 2 / damping))};
410
- } else {
411
- return {linearTimeProgression, linearTimeProgression};
412
- }
172
+ bool LayoutAnimationKeyFrameManager::shouldOverridePullTransaction() const {
173
+ return shouldAnimateFrame();
413
174
  }
414
175
 
415
- void LayoutAnimationKeyFrameManager::
416
- adjustImmediateMutationIndicesForDelayedMutations(
417
- SurfaceId surfaceId,
418
- ShadowViewMutation &mutation,
419
- bool skipLastAnimation,
420
- bool lastAnimationOnly) const {
421
- bool isRemoveMutation = mutation.type == ShadowViewMutation::Type::Remove;
422
- react_native_assert(
423
- isRemoveMutation || mutation.type == ShadowViewMutation::Type::Insert);
424
-
425
- // TODO: turn all of this into a lambda and share code?
426
- if (mutation.mutatedViewIsVirtual()) {
427
- PrintMutationInstruction(
428
- "[IndexAdjustment] Not calling adjustImmediateMutationIndicesForDelayedMutations, is virtual, for:",
429
- mutation);
430
- return;
431
- }
176
+ butter::optional<MountingTransaction>
177
+ LayoutAnimationKeyFrameManager::pullTransaction(
178
+ SurfaceId surfaceId,
179
+ MountingTransaction::Number transactionNumber,
180
+ TransactionTelemetry const &telemetry,
181
+ ShadowViewMutationList mutations) const {
182
+ simulateImagePropsMemoryAccess(mutations);
183
+ // Current time in milliseconds
184
+ uint64_t now = now_();
432
185
 
433
- PrintMutationInstruction(
434
- "[IndexAdjustment] Calling adjustImmediateMutationIndicesForDelayedMutations for:",
435
- mutation);
186
+ bool inflightAnimationsExistInitially = !inflightAnimations_.empty();
187
+ deleteAnimationsForStoppedSurfaces();
436
188
 
437
- // First, collect all final mutations that could impact this immediate
438
- // mutation.
439
- std::vector<ShadowViewMutation *> candidateMutations{};
189
+ if (!mutations.empty()) {
190
+ #ifdef RN_SHADOW_TREE_INTROSPECTION
191
+ {
192
+ std::stringstream ss(getDebugDescription(mutations, {}));
193
+ std::string to;
194
+ while (std::getline(ss, to, '\n')) {
195
+ LOG(ERROR)
196
+ << "LayoutAnimationKeyFrameManager.cpp: got mutation list: Line: "
197
+ << to;
198
+ }
199
+ };
200
+ #endif
440
201
 
441
- for (auto inflightAnimationIt =
442
- inflightAnimations_.rbegin() + (skipLastAnimation ? 1 : 0);
443
- inflightAnimationIt != inflightAnimations_.rend();
444
- inflightAnimationIt++) {
445
- auto &inflightAnimation = *inflightAnimationIt;
446
- if (inflightAnimation.surfaceId != surfaceId) {
447
- continue;
448
- }
449
- if (inflightAnimation.completed) {
450
- continue;
202
+ // DEBUG ONLY: list existing inflight animations
203
+ #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
204
+ LOG(ERROR) << "BEGINNING DISPLAYING ONGOING inflightAnimations_!";
205
+ int i = 0;
206
+ int j = 0;
207
+ for (auto const &inflightAnimation : inflightAnimations_) {
208
+ i++;
209
+ j = 0;
210
+ if (inflightAnimation.completed) {
211
+ continue;
212
+ }
213
+ for (auto &keyframe : inflightAnimation.keyFrames) {
214
+ j++;
215
+ if (keyframe.invalidated) {
216
+ continue;
217
+ }
218
+ for (const auto &finalMutationForKeyFrame :
219
+ keyframe.finalMutationsForKeyFrame) {
220
+ if (finalMutationForKeyFrame.mutatedViewIsVirtual()) {
221
+ std::string msg = "Animation " + std::to_string(i) + " keyframe " +
222
+ std::to_string(j) + ": Final Animation";
223
+ PrintMutationInstruction(msg, finalMutationForKeyFrame);
224
+ } else {
225
+ LOG(ERROR) << "Animation " << i << " keyframe " << j
226
+ << ": on tag: [" << keyframe.viewStart.tag << "]";
227
+ }
228
+ }
229
+ }
451
230
  }
231
+ LOG(ERROR) << "BEGINNING DONE DISPLAYING ONGOING inflightAnimations_!";
232
+ #endif
452
233
 
453
- for (auto it = inflightAnimation.keyFrames.begin();
454
- it != inflightAnimation.keyFrames.end();
455
- it++) {
456
- auto &animatedKeyFrame = *it;
234
+ PropsParserContext propsParserContext{surfaceId, *contextContainer_};
457
235
 
458
- if (animatedKeyFrame.invalidated) {
459
- continue;
460
- }
236
+ // What to do if we detect a conflict? Get current value and make
237
+ // that the baseline of the next animation. Scale the remaining time
238
+ // in the animation
239
+ // Types of conflicts and how we handle them:
240
+ // Update -> update: remove the previous update, make it the baseline of the
241
+ // next update (with current progress) Update -> remove: same, with final
242
+ // mutation being a remove Insert -> update: treat as update->update Insert
243
+ // -> remove: same, as update->remove Remove -> update/insert: not possible
244
+ // We just collect pairs here of <Mutation, AnimationConfig> and delete them
245
+ // from active animations. If another animation is queued up from the
246
+ // current mutations then these deleted mutations will serve as the baseline
247
+ // for the next animation. If not, the current mutations are executed
248
+ // immediately without issues.
249
+ std::vector<AnimationKeyFrame> conflictingAnimations{};
250
+ getAndEraseConflictingAnimations(
251
+ surfaceId, mutations, conflictingAnimations);
461
252
 
462
- // Detect if they're in the same view hierarchy, but not equivalent
463
- // We've already detected direct conflicts and removed them.
464
- if (animatedKeyFrame.parentView.tag != mutation.parentShadowView.tag) {
465
- continue;
253
+ // Are we animating this list of mutations?
254
+ butter::optional<LayoutAnimation> currentAnimation{};
255
+ {
256
+ std::lock_guard<std::mutex> lock(currentAnimationMutex_);
257
+ if (currentAnimation_) {
258
+ currentAnimation = std::move(currentAnimation_);
259
+ currentAnimation_.reset();
466
260
  }
261
+ }
467
262
 
468
- for (auto &delayedMutation : animatedKeyFrame.finalMutationsForKeyFrame) {
469
- if (delayedMutation.type != ShadowViewMutation::Type::Remove) {
470
- continue;
263
+ if (currentAnimation.hasValue()) {
264
+ LayoutAnimation animation = std::move(currentAnimation).value();
265
+ animation.surfaceId = surfaceId;
266
+ animation.startTime = now;
267
+
268
+ // Pre-process list to:
269
+ // Catch remove+reinsert (reorders)
270
+ // Catch delete+create (reparenting) (this should be optimized away at
271
+ // the diffing level eventually?)
272
+ // TODO: to prevent this step we could tag Remove/Insert mutations as
273
+ // being moves on the Differ level, since we know that there? We could use
274
+ // TinyMap here, but it's not exposed by Differentiator (yet).
275
+ butter::set<Tag> insertedTags;
276
+ butter::set<Tag> deletedTags;
277
+ butter::set<Tag> reparentedTags; // tags that are deleted and recreated
278
+ std::unordered_map<Tag, ShadowViewMutation> movedTags;
279
+ for (const auto &mutation : mutations) {
280
+ if (mutation.type == ShadowViewMutation::Type::Insert) {
281
+ insertedTags.insert(mutation.newChildShadowView.tag);
471
282
  }
472
- if (delayedMutation.mutatedViewIsVirtual()) {
473
- continue;
283
+ if (mutation.type == ShadowViewMutation::Type::Delete) {
284
+ deletedTags.insert(mutation.oldChildShadowView.tag);
474
285
  }
475
- if (delayedMutation.oldChildShadowView.tag ==
476
- (isRemoveMutation ? mutation.oldChildShadowView.tag
477
- : mutation.newChildShadowView.tag)) {
478
- continue;
286
+ if (mutation.type == ShadowViewMutation::Type::Create) {
287
+ if (deletedTags.find(mutation.newChildShadowView.tag) !=
288
+ deletedTags.end()) {
289
+ reparentedTags.insert(mutation.newChildShadowView.tag);
290
+ }
479
291
  }
480
-
481
- PrintMutationInstructionRelative(
482
- "[IndexAdjustment] adjustImmediateMutationIndicesForDelayedMutations CANDIDATE for:",
483
- mutation,
484
- delayedMutation);
485
- candidateMutations.push_back(&delayedMutation);
486
292
  }
487
- }
488
293
 
489
- if (lastAnimationOnly) {
490
- break;
491
- }
492
- }
294
+ // Process mutations list into operations that can be sent to platform
295
+ // immediately, and those that need to be animated Deletions, removals,
296
+ // updates are delayed and animated. Creations and insertions are sent to
297
+ // platform and then "animated in" with opacity updates. Upon completion,
298
+ // removals and deletions are sent to platform
299
+ ShadowViewMutation::List immediateMutations;
493
300
 
494
- // While the mutation keeps being affected, keep checking. We use the vector
495
- // so we only perform one adjustment per delayed mutation. See comments at
496
- // bottom of adjustDelayedMutationIndicesForMutation for further explanation.
497
- bool changed = true;
498
- int adjustedDelta = 0;
499
- while (changed) {
500
- changed = false;
501
- candidateMutations.erase(
502
- std::remove_if(
503
- candidateMutations.begin(),
504
- candidateMutations.end(),
505
- [&changed, &mutation, &adjustedDelta, &isRemoveMutation](
506
- ShadowViewMutation *candidateMutation) {
507
- bool indexConflicts =
508
- (candidateMutation->index < mutation.index ||
509
- (isRemoveMutation &&
510
- candidateMutation->index == mutation.index));
511
- if (indexConflicts) {
512
- mutation.index++;
513
- adjustedDelta++;
514
- changed = true;
515
- PrintMutationInstructionRelative(
516
- "[IndexAdjustment] adjustImmediateMutationIndicesForDelayedMutations: Adjusting mutation UPWARD",
517
- mutation,
518
- *candidateMutation);
519
- return true;
520
- }
521
- return false;
522
- }),
523
- candidateMutations.end());
524
- }
525
- }
526
-
527
- void LayoutAnimationKeyFrameManager::adjustDelayedMutationIndicesForMutation(
528
- SurfaceId surfaceId,
529
- ShadowViewMutation const &mutation,
530
- bool skipLastAnimation) const {
531
- bool isRemoveMutation = mutation.type == ShadowViewMutation::Type::Remove;
532
- bool isInsertMutation = mutation.type == ShadowViewMutation::Type::Insert;
533
- auto tag = isRemoveMutation ? mutation.oldChildShadowView.tag
534
- : mutation.newChildShadowView.tag;
535
- react_native_assert(isRemoveMutation || isInsertMutation);
536
-
537
- if (mutation.mutatedViewIsVirtual()) {
538
- PrintMutationInstruction(
539
- "[IndexAdjustment] Not calling adjustDelayedMutationIndicesForMutation, is virtual, for:",
540
- mutation);
541
- return;
542
- }
543
-
544
- // First, collect all final mutations that could impact this immediate
545
- // mutation.
546
- std::vector<ShadowViewMutation *> candidateMutations{};
547
-
548
- for (auto inflightAnimationIt =
549
- inflightAnimations_.rbegin() + (skipLastAnimation ? 1 : 0);
550
- inflightAnimationIt != inflightAnimations_.rend();
551
- inflightAnimationIt++) {
552
- auto &inflightAnimation = *inflightAnimationIt;
301
+ // Remove operations that are actually moves should be copied to
302
+ // "immediate mutations". The corresponding "insert" will also be executed
303
+ // immediately and animated as an update.
304
+ std::vector<AnimationKeyFrame> keyFramesToAnimate;
305
+ auto const layoutAnimationConfig = animation.layoutAnimationConfig;
306
+ for (auto const &mutation : mutations) {
307
+ ShadowView baselineShadowView =
308
+ (mutation.type == ShadowViewMutation::Type::Delete ||
309
+ mutation.type == ShadowViewMutation::Type::Remove ||
310
+ mutation.type == ShadowViewMutation::Type::Update
311
+ ? mutation.oldChildShadowView
312
+ : mutation.newChildShadowView);
313
+ react_native_assert(baselineShadowView.tag > 0);
314
+ bool haveComponentDescriptor =
315
+ hasComponentDescriptorForShadowView(baselineShadowView);
553
316
 
554
- if (inflightAnimation.surfaceId != surfaceId) {
555
- continue;
556
- }
557
- if (inflightAnimation.completed) {
558
- continue;
559
- }
317
+ // Immediately execute any mutations on a root node
318
+ if (baselineShadowView.traits.check(
319
+ ShadowNodeTraits::Trait::RootNodeKind)) {
320
+ immediateMutations.push_back(mutation);
321
+ continue;
322
+ }
560
323
 
561
- for (auto it = inflightAnimation.keyFrames.begin();
562
- it != inflightAnimation.keyFrames.end();
563
- it++) {
564
- auto &animatedKeyFrame = *it;
324
+ butter::optional<ShadowViewMutation> executeMutationImmediately{};
565
325
 
566
- if (animatedKeyFrame.invalidated) {
567
- continue;
568
- }
326
+ bool isRemoveReinserted =
327
+ mutation.type == ShadowViewMutation::Type::Remove &&
328
+ insertedTags.find(mutation.oldChildShadowView.tag) !=
329
+ insertedTags.end();
569
330
 
570
- // Detect if they're in the same view hierarchy, but not equivalent
571
- // (We've already detected direct conflicts and handled them above)
572
- if (animatedKeyFrame.parentView.tag != mutation.parentShadowView.tag) {
573
- continue;
574
- }
331
+ // Reparenting can result in a node being removed, inserted (moved) and
332
+ // also deleted and created in the same frame, with the same props etc.
333
+ // This should eventually be optimized out of the diffing algorithm, but
334
+ // for now we detect reparenting and prevent the corresponding
335
+ // Delete/Create instructions from being animated.
336
+ bool isReparented =
337
+ reparentedTags.find(baselineShadowView.tag) != reparentedTags.end();
575
338
 
576
- for (auto &finalAnimationMutation :
577
- animatedKeyFrame.finalMutationsForKeyFrame) {
578
- if (finalAnimationMutation.oldChildShadowView.tag == tag) {
579
- continue;
339
+ if (isRemoveReinserted) {
340
+ movedTags.insert({mutation.oldChildShadowView.tag, mutation});
580
341
  }
581
342
 
582
- if (finalAnimationMutation.type != ShadowViewMutation::Type::Remove) {
583
- continue;
584
- }
585
- if (finalAnimationMutation.mutatedViewIsVirtual()) {
586
- continue;
343
+ // Inserts that follow a "remove" of the same tag should be treated as
344
+ // an update (move) animation.
345
+ bool wasInsertedTagRemoved = false;
346
+ auto movedIt = movedTags.end();
347
+ if (mutation.type == ShadowViewMutation::Type::Insert) {
348
+ // If this is a move, we actually don't want to copy this insert
349
+ // instruction to animated instructions - we want to
350
+ // generate an Update mutation for Remove+Insert pairs to animate
351
+ // the layout.
352
+ // The corresponding Remove and Insert instructions will instead
353
+ // be treated as "immediate" instructions.
354
+ movedIt = movedTags.find(mutation.newChildShadowView.tag);
355
+ wasInsertedTagRemoved = movedIt != movedTags.end();
587
356
  }
588
357
 
589
- PrintMutationInstructionRelative(
590
- "[IndexAdjustment] adjustDelayedMutationIndicesForMutation: CANDIDATE:",
591
- mutation,
592
- finalAnimationMutation);
593
- candidateMutations.push_back(&finalAnimationMutation);
594
- }
595
- }
596
- }
358
+ auto const &mutationConfig =
359
+ (mutation.type == ShadowViewMutation::Type::Delete ||
360
+ (mutation.type == ShadowViewMutation::Type::Remove &&
361
+ !wasInsertedTagRemoved)
362
+ ? layoutAnimationConfig.deleteConfig
363
+ : (mutation.type == ShadowViewMutation::Type::Insert &&
364
+ !wasInsertedTagRemoved
365
+ ? layoutAnimationConfig.createConfig
366
+ : layoutAnimationConfig.updateConfig));
367
+ bool haveConfiguration =
368
+ mutationConfig.animationType != AnimationType::None;
597
369
 
598
- // Because the finalAnimations are not sorted in any way, it is possible to
599
- // have some sequence like:
600
- // * DELAYED REMOVE 10 from {TAG}
601
- // * DELAYED REMOVE 9 from {TAG}
602
- // * ...
603
- // * DELAYED REMOVE 5 from {TAG}
604
- // with mutation: INSERT 6/REMOVE 6. This would cause the first few mutations
605
- // to *not* be adjusted, even though they would be impacted by mutation or
606
- // vice-versa after later adjustments are applied. Therefore, we just keep
607
- // recursing while there are any changes. This isn't great, but is good enough
608
- // for now until we change these data-structures.
609
- bool changed = true;
610
- while (changed) {
611
- changed = false;
612
- candidateMutations.erase(
613
- std::remove_if(
614
- candidateMutations.begin(),
615
- candidateMutations.end(),
616
- [&mutation, &isRemoveMutation, &isInsertMutation, &changed](
617
- ShadowViewMutation *candidateMutation) {
618
- if (isRemoveMutation &&
619
- mutation.index <= candidateMutation->index) {
620
- candidateMutation->index--;
621
- changed = true;
622
- PrintMutationInstructionRelative(
623
- "[IndexAdjustment] adjustDelayedMutationIndicesForMutation: Adjusting mutation DOWNWARD",
624
- mutation,
625
- *candidateMutation);
626
- return true;
627
- } else if (
628
- isInsertMutation &&
629
- mutation.index <= candidateMutation->index) {
630
- candidateMutation->index++;
631
- changed = true;
632
- PrintMutationInstructionRelative(
633
- "[IndexAdjustment] adjustDelayedMutationIndicesForMutation: Adjusting mutation UPWARD",
634
- mutation,
635
- *candidateMutation);
636
- return true;
637
- }
638
- return false;
639
- }),
640
- candidateMutations.end());
641
- }
642
- }
370
+ // Creates and inserts should also be executed immediately.
371
+ // Mutations that would otherwise be animated, but have no
372
+ // configuration, are also executed immediately.
373
+ if (isRemoveReinserted || !haveConfiguration || isReparented ||
374
+ mutation.type == ShadowViewMutation::Type::Create ||
375
+ mutation.type == ShadowViewMutation::Type::Insert) {
376
+ executeMutationImmediately = mutation;
643
377
 
644
- void LayoutAnimationKeyFrameManager::getAndEraseConflictingAnimations(
645
- SurfaceId surfaceId,
646
- ShadowViewMutationList const &mutations,
647
- std::vector<AnimationKeyFrame> &conflictingAnimations) const {
648
- ShadowViewMutationList localConflictingMutations{};
649
- for (auto const &mutation : mutations) {
650
- bool mutationIsCreateOrDelete =
651
- mutation.type == ShadowViewMutation::Type::Create ||
652
- mutation.type == ShadowViewMutation::Type::Delete;
653
- auto const &baselineShadowView =
654
- (mutation.type == ShadowViewMutation::Type::Insert ||
655
- mutation.type == ShadowViewMutation::Type::Create)
656
- ? mutation.newChildShadowView
657
- : mutation.oldChildShadowView;
658
- auto baselineTag = baselineShadowView.tag;
378
+ // It is possible, especially in the case of "moves", that we have a
379
+ // sequence of operations like:
380
+ // UPDATE X
381
+ // REMOVE X
382
+ // INSERT X
383
+ // In these cases, we will have queued up an animation for the UPDATE
384
+ // and delayed its execution; the REMOVE and INSERT will be executed
385
+ // first; and then the UPDATE will be animating to/from ShadowViews
386
+ // that are out-of-sync with what's on the mounting layer. Thus, for
387
+ // any UPDATE animations already queued up for this tag, we adjust the
388
+ // "previous" ShadowView.
389
+ if (mutation.type == ShadowViewMutation::Type::Insert) {
390
+ for (auto &keyframe : keyFramesToAnimate) {
391
+ if (keyframe.tag == baselineShadowView.tag) {
392
+ // If there's already an animation queued up, followed by this
393
+ // Insert, it *must* be an Update mutation animation. Other
394
+ // sequences should not be possible.
395
+ react_native_assert(
396
+ keyframe.type == AnimationConfigurationType::Update);
659
397
 
660
- for (auto &inflightAnimation : inflightAnimations_) {
661
- if (inflightAnimation.surfaceId != surfaceId) {
662
- continue;
663
- }
664
- if (inflightAnimation.completed) {
665
- continue;
666
- }
398
+ // The mutation is an "insert", so it must have a
399
+ // "newChildShadowView"
400
+ react_native_assert(mutation.newChildShadowView.tag > 0);
667
401
 
668
- for (auto it = inflightAnimation.keyFrames.begin();
669
- it != inflightAnimation.keyFrames.end();) {
670
- auto &animatedKeyFrame = *it;
402
+ // Those asserts don't run in prod. If there's some edge-case
403
+ // that we haven't caught yet, we'd crash in debug; make sure we
404
+ // don't mutate the prevView in prod.
405
+ if (keyframe.type == AnimationConfigurationType::Update &&
406
+ mutation.newChildShadowView.tag > 0) {
407
+ keyframe.viewPrev = mutation.newChildShadowView;
408
+ }
409
+ }
410
+ }
411
+ } else if (mutation.type == ShadowViewMutation::Type::Remove) {
412
+ for (auto &keyframe : keyFramesToAnimate) {
413
+ if (keyframe.tag == baselineShadowView.tag) {
414
+ // If there's already an animation queued up, followed by this
415
+ // Insert, it *must* be an Update mutation animation. Other
416
+ // sequences should not be possible.
417
+ react_native_assert(
418
+ keyframe.type == AnimationConfigurationType::Update);
671
419
 
672
- if (animatedKeyFrame.invalidated) {
673
- continue;
674
- }
675
-
676
- // A conflict is when either: the animated node itself is mutated
677
- // directly; or, the parent of the node is created or deleted. In cases
678
- // of reparenting - say, the parent is deleted but the node was moved to
679
- // a different parent first - the reparenting (remove/insert) conflict
680
- // will be detected before we process the parent DELETE.
681
- // Parent deletion is important because deleting a parent recursively
682
- // deletes all children. If we previously deferred deletion of a child,
683
- // we need to force deletion/removal to happen immediately.
684
- bool conflicting = animatedKeyFrame.tag == baselineTag ||
685
- (mutationIsCreateOrDelete &&
686
- animatedKeyFrame.parentView.tag == baselineTag &&
687
- animatedKeyFrame.parentView.tag != 0);
688
-
689
- // Conflicting animation detected: if we're mutating a tag under
690
- // animation, or deleting the parent of a tag under animation, or
691
- // reparenting.
692
- if (conflicting) {
693
- animatedKeyFrame.invalidated = true;
694
-
695
- // We construct a list of all conflicting animations, whether or not
696
- // they have a "final mutation" to execute. This is important with,
697
- // for example, "insert" mutations where the final update needs to set
698
- // opacity to "1", even if there's no final ShadowNode update.
699
- // TODO: don't animate virtual views in the first place?
700
- bool isVirtual = false;
701
- for (const auto &finalMutationForKeyFrame :
702
- animatedKeyFrame.finalMutationsForKeyFrame) {
703
- isVirtual =
704
- isVirtual || finalMutationForKeyFrame.mutatedViewIsVirtual();
705
-
706
- #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
707
- PrintMutationInstructionRelative(
708
- "Found mutation that conflicts with existing in-flight animation:",
709
- mutation,
710
- finalMutationForKeyFrame);
711
- #endif
712
- }
420
+ // The mutation is a "remove", so it must have a
421
+ // "oldChildShadowView"
422
+ react_native_assert(mutation.oldChildShadowView.tag > 0);
713
423
 
714
- conflictingAnimations.push_back(animatedKeyFrame);
715
- for (const auto &finalMutationForKeyFrame :
716
- animatedKeyFrame.finalMutationsForKeyFrame) {
717
- if (!isVirtual ||
718
- finalMutationForKeyFrame.type ==
719
- ShadowViewMutation::Type::Delete) {
720
- localConflictingMutations.push_back(finalMutationForKeyFrame);
424
+ // Those asserts don't run in prod. If there's some edge-case
425
+ // that we haven't caught yet, we'd crash in debug; make sure we
426
+ // don't mutate the prevView in prod.
427
+ // Since normally the UPDATE would have been executed first and
428
+ // now it's deferred, we need to change the `oldChildShadowView`
429
+ // that is being referenced by the REMOVE mutation.
430
+ if (keyframe.type == AnimationConfigurationType::Update &&
431
+ mutation.oldChildShadowView.tag > 0) {
432
+ executeMutationImmediately =
433
+ ShadowViewMutation::RemoveMutation(
434
+ mutation.parentShadowView,
435
+ keyframe.viewPrev,
436
+ mutation.index);
437
+ }
438
+ }
721
439
  }
722
440
  }
723
-
724
- // Delete from existing animation
725
- it = inflightAnimation.keyFrames.erase(it);
726
- } else {
727
- it++;
728
441
  }
729
- }
730
- }
731
- }
732
442
 
733
- // Recurse, in case conflicting mutations conflict with other existing
734
- // animations
735
- if (!localConflictingMutations.empty()) {
736
- getAndEraseConflictingAnimations(
737
- surfaceId, localConflictingMutations, conflictingAnimations);
738
- }
739
- }
443
+ // Deletes, non-move inserts, updates get animated
444
+ if (!wasInsertedTagRemoved && !isRemoveReinserted && !isReparented &&
445
+ haveConfiguration &&
446
+ mutation.type != ShadowViewMutation::Type::Create) {
447
+ ShadowView viewStart = ShadowView(
448
+ mutation.type == ShadowViewMutation::Type::Insert
449
+ ? mutation.newChildShadowView
450
+ : mutation.oldChildShadowView);
451
+ react_native_assert(viewStart.tag > 0);
452
+ ShadowView viewFinal = ShadowView(
453
+ mutation.type == ShadowViewMutation::Type::Update
454
+ ? mutation.newChildShadowView
455
+ : viewStart);
456
+ react_native_assert(viewFinal.tag > 0);
457
+ ShadowView parent = mutation.parentShadowView;
458
+ react_native_assert(
459
+ parent.tag > 0 ||
460
+ mutation.type == ShadowViewMutation::Type::Update ||
461
+ mutation.type == ShadowViewMutation::Type::Delete);
462
+ Tag tag = viewStart.tag;
740
463
 
741
- void LayoutAnimationKeyFrameManager::setClockNow(
742
- std::function<uint64_t()> now) {
743
- now_ = now;
744
- }
464
+ AnimationKeyFrame keyFrame{};
465
+ if (mutation.type == ShadowViewMutation::Type::Insert) {
466
+ if (mutationConfig.animationProperty ==
467
+ AnimationProperty::Opacity &&
468
+ haveComponentDescriptor) {
469
+ auto props =
470
+ getComponentDescriptorForShadowView(baselineShadowView)
471
+ .cloneProps(propsParserContext, viewStart.props, {});
745
472
 
746
- better::optional<MountingTransaction>
747
- LayoutAnimationKeyFrameManager::pullTransaction(
748
- SurfaceId surfaceId,
749
- MountingTransaction::Number transactionNumber,
750
- TransactionTelemetry const &telemetry,
751
- ShadowViewMutationList mutations) const {
752
- // Current time in milliseconds
753
- uint64_t now = now_();
473
+ if (baselineShadowView.traits.check(
474
+ ShadowNodeTraits::Trait::ViewKind)) {
475
+ auto const &viewProps =
476
+ *std::static_pointer_cast<ViewProps const>(props);
477
+ const_cast<ViewProps &>(viewProps).opacity = 0;
478
+ }
754
479
 
755
- bool inflightAnimationsExistInitially = !inflightAnimations_.empty();
480
+ react_native_assert(props != nullptr);
481
+ if (props != nullptr) {
482
+ viewStart.props = props;
483
+ }
484
+ }
485
+ bool isScaleX =
486
+ mutationConfig.animationProperty == AnimationProperty::ScaleX ||
487
+ mutationConfig.animationProperty == AnimationProperty::ScaleXY;
488
+ bool isScaleY =
489
+ mutationConfig.animationProperty == AnimationProperty::ScaleY ||
490
+ mutationConfig.animationProperty == AnimationProperty::ScaleXY;
491
+ if ((isScaleX || isScaleY) && haveComponentDescriptor) {
492
+ auto props =
493
+ getComponentDescriptorForShadowView(baselineShadowView)
494
+ .cloneProps(propsParserContext, viewStart.props, {});
495
+ if (baselineShadowView.traits.check(
496
+ ShadowNodeTraits::Trait::ViewKind)) {
497
+ auto const &viewProps =
498
+ *std::static_pointer_cast<ViewProps const>(props);
499
+ const_cast<ViewProps &>(viewProps).transform =
500
+ Transform::Scale(isScaleX ? 0 : 1, isScaleY ? 0 : 1, 1);
501
+ }
756
502
 
757
- // Execute stopSurface on any ongoing animations
758
- if (inflightAnimationsExistInitially) {
759
- std::vector<SurfaceId> surfaceIdsToStop{};
760
- {
761
- std::lock_guard<std::mutex> lock(surfaceIdsToStopMutex_);
762
- surfaceIdsToStop = surfaceIdsToStop_;
763
- surfaceIdsToStop_ = {};
764
- }
503
+ react_native_assert(props != nullptr);
504
+ if (props != nullptr) {
505
+ viewStart.props = props;
506
+ }
507
+ }
765
508
 
766
- for (auto it = inflightAnimations_.begin();
767
- it != inflightAnimations_.end();) {
768
- const auto &animation = *it;
509
+ PrintMutationInstruction(
510
+ "Setting up animation KeyFrame for INSERT mutation (Create animation)",
511
+ mutation);
769
512
 
770
- if (std::find(
771
- surfaceIdsToStop.begin(),
772
- surfaceIdsToStop.end(),
773
- animation.surfaceId) != surfaceIdsToStop.end()) {
774
- #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
775
- LOG(ERROR)
776
- << "LayoutAnimations: stopping animation due to stopSurface on "
777
- << surfaceId;
513
+ keyFrame = AnimationKeyFrame{
514
+ /* .finalMutationsForKeyFrame = */ {},
515
+ /* .type = */ AnimationConfigurationType::Create,
516
+ /* .tag = */ tag,
517
+ /* .parentView = */ parent,
518
+ /* .viewStart = */ viewStart,
519
+ /* .viewEnd = */ viewFinal,
520
+ /* .viewPrev = */ baselineShadowView,
521
+ /* .initialProgress = */ 0};
522
+ } else if (mutation.type == ShadowViewMutation::Type::Delete) {
523
+ // This is just for assertion purposes.
524
+ // The NDEBUG check here is to satisfy the compiler in certain environments
525
+ // complaining about correspondingRemoveIt being unused.
526
+ #ifdef REACT_NATIVE_DEBUG
527
+ #ifndef NDEBUG
528
+ // This block is temporarily disabled to fix some internal builds.
529
+ // In some build configurations, we get a compiler error that
530
+ // `correspondingRemoveIt` is unused.
531
+ /* Tag deleteTag = mutation.oldChildShadowView.tag;
532
+ auto correspondingRemoveIt = std::find_if(
533
+ mutations.begin(),
534
+ mutations.end(),
535
+ [&deleteTag](auto &mutation) {
536
+ return mutation.type == ShadowViewMutation::Type::Remove &&
537
+ mutation.oldChildShadowView.tag == deleteTag;
538
+ });
539
+ react_native_assert(correspondingRemoveIt != mutations.end());
540
+ */
778
541
  #endif
779
- it = inflightAnimations_.erase(it);
780
- } else {
781
- it++;
782
- }
783
- }
784
- }
785
-
786
- if (!mutations.empty()) {
787
- #ifdef RN_SHADOW_TREE_INTROSPECTION
788
- {
789
- std::stringstream ss(getDebugDescription(mutations, {}));
790
- std::string to;
791
- while (std::getline(ss, to, '\n')) {
792
- LOG(ERROR)
793
- << "LayoutAnimationKeyFrameManager.cpp: got mutation list: Line: "
794
- << to;
795
- }
796
- };
797
542
  #endif
543
+ continue;
544
+ } else if (mutation.type == ShadowViewMutation::Type::Update) {
545
+ viewFinal = ShadowView(mutation.newChildShadowView);
798
546
 
799
- // DEBUG ONLY: list existing inflight animations
800
- #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
801
- LOG(ERROR) << "BEGINNING DISPLAYING ONGOING inflightAnimations_!";
802
- int i = 0;
803
- int j = 0;
804
- for (auto const &inflightAnimation : inflightAnimations_) {
805
- i++;
806
- j = 0;
807
- if (inflightAnimation.completed) {
808
- continue;
809
- }
810
- for (auto &keyframe : inflightAnimation.keyFrames) {
811
- j++;
812
- if (keyframe.invalidated) {
813
- continue;
814
- }
815
- for (const auto &finalMutationForKeyFrame :
816
- keyframe.finalMutationsForKeyFrame) {
817
- if (finalMutationForKeyFrame.mutatedViewIsVirtual()) {
818
- std::string msg = "Animation " + std::to_string(i) + " keyframe " +
819
- std::to_string(j) + ": Final Animation";
820
- PrintMutationInstruction(msg, finalMutationForKeyFrame);
547
+ PrintMutationInstruction(
548
+ "Setting up animation KeyFrame for UPDATE mutation (Update animation)",
549
+ mutation);
550
+
551
+ keyFrame = AnimationKeyFrame{
552
+ /* .finalMutationsForKeyFrame = */ {mutation},
553
+ /* .type = */ AnimationConfigurationType::Update,
554
+ /* .tag = */ tag,
555
+ /* .parentView = */ parent,
556
+ /* .viewStart = */ viewStart,
557
+ /* .viewEnd = */ viewFinal,
558
+ /* .viewPrev = */ baselineShadowView,
559
+ /* .initialProgress = */ 0};
821
560
  } else {
822
- LOG(ERROR) << "Animation " << i << " keyframe " << j
823
- << ": on tag: [" << keyframe.viewStart.tag << "]";
824
- }
825
- }
826
- }
827
- }
828
- LOG(ERROR) << "BEGINNING DONE DISPLAYING ONGOING inflightAnimations_!";
829
- #endif
561
+ // This should just be "Remove" instructions that are not animated
562
+ // (either this is a "move", or there's a corresponding "Delete"
563
+ // that is animated).
564
+ react_native_assert(
565
+ mutation.type == ShadowViewMutation::Type::Remove);
830
566
 
831
- // Stub PropsParserContext used for cloneProps.
832
- // This is/should be safe because cloning doesn't actually need to
833
- // parse props, and just copies them; therefore there should be no
834
- // need to actually use anything in the PropsParserContext.
835
- // If this ever changes, the LayoutAnimations API will need to change
836
- // to pass in a real PropsParserContext.
837
- ContextContainer contextContainer{};
838
- PropsParserContext propsParserContext{surfaceId, contextContainer};
567
+ Tag removeTag = mutation.oldChildShadowView.tag;
568
+ auto correspondingInsertIt = std::find_if(
569
+ mutations.begin(),
570
+ mutations.end(),
571
+ [&removeTag](auto &mutation) {
572
+ return mutation.type == ShadowViewMutation::Type::Insert &&
573
+ mutation.newChildShadowView.tag == removeTag;
574
+ });
575
+ if (correspondingInsertIt == mutations.end()) {
576
+ // This is a REMOVE not paired with an INSERT (move), so it must
577
+ // be paired with a DELETE.
578
+ auto correspondingDeleteIt = std::find_if(
579
+ mutations.begin(),
580
+ mutations.end(),
581
+ [&removeTag](auto &mutation) {
582
+ return mutation.type == ShadowViewMutation::Type::Delete &&
583
+ mutation.oldChildShadowView.tag == removeTag;
584
+ });
585
+ react_native_assert(correspondingDeleteIt != mutations.end());
839
586
 
840
- // What to do if we detect a conflict? Get current value and make
841
- // that the baseline of the next animation. Scale the remaining time
842
- // in the animation
843
- // Types of conflicts and how we handle them:
844
- // Update -> update: remove the previous update, make it the baseline of the
845
- // next update (with current progress) Update -> remove: same, with final
846
- // mutation being a remove Insert -> update: treat as update->update Insert
847
- // -> remove: same, as update->remove Remove -> update/insert: not possible
848
- // We just collect pairs here of <Mutation, AnimationConfig> and delete them
849
- // from active animations. If another animation is queued up from the
850
- // current mutations then these deleted mutations will serve as the baseline
851
- // for the next animation. If not, the current mutations are executed
852
- // immediately without issues.
853
- std::vector<AnimationKeyFrame> conflictingAnimations{};
854
- getAndEraseConflictingAnimations(
855
- surfaceId, mutations, conflictingAnimations);
587
+ auto deleteMutation = *correspondingDeleteIt;
856
588
 
857
- // Are we animating this list of mutations?
858
- better::optional<LayoutAnimation> currentAnimation{};
859
- {
860
- std::lock_guard<std::mutex> lock(currentAnimationMutex_);
861
- if (currentAnimation_) {
862
- currentAnimation = std::move(currentAnimation_);
863
- currentAnimation_ = {};
864
- }
865
- }
589
+ if (mutationConfig.animationProperty ==
590
+ AnimationProperty::Opacity &&
591
+ haveComponentDescriptor) {
592
+ auto props =
593
+ getComponentDescriptorForShadowView(baselineShadowView)
594
+ .cloneProps(propsParserContext, viewFinal.props, {});
866
595
 
867
- if (currentAnimation) {
868
- LayoutAnimation animation = std::move(currentAnimation.value());
869
- currentAnimation = {};
870
- animation.surfaceId = surfaceId;
871
- animation.startTime = now;
596
+ if (baselineShadowView.traits.check(
597
+ ShadowNodeTraits::Trait::ViewKind)) {
598
+ auto const &viewProps =
599
+ *std::static_pointer_cast<ViewProps const>(props);
600
+ const_cast<ViewProps &>(viewProps).opacity = 0;
601
+ }
872
602
 
873
- // Pre-process list to:
874
- // Catch remove+reinsert (reorders)
875
- // Catch delete+create (reparenting) (this should be optimized away at
876
- // the diffing level eventually?)
877
- // TODO: to prevent this step we could tag Remove/Insert mutations as
878
- // being moves on the Differ level, since we know that there? We could use
879
- // TinyMap here, but it's not exposed by Differentiator (yet).
880
- std::vector<Tag> insertedTags;
881
- std::vector<Tag> deletedTags;
882
- std::vector<Tag> reparentedTags; // tags that are deleted and recreated
883
- std::unordered_map<Tag, ShadowViewMutation> movedTags;
884
- for (const auto &mutation : mutations) {
885
- if (mutation.type == ShadowViewMutation::Type::Insert) {
886
- insertedTags.push_back(mutation.newChildShadowView.tag);
887
- }
888
- if (mutation.type == ShadowViewMutation::Type::Delete) {
889
- deletedTags.push_back(mutation.oldChildShadowView.tag);
890
- }
891
- if (mutation.type == ShadowViewMutation::Type::Create) {
892
- if (std::find(
893
- deletedTags.begin(),
894
- deletedTags.end(),
895
- mutation.newChildShadowView.tag) != deletedTags.end()) {
896
- reparentedTags.push_back(mutation.newChildShadowView.tag);
897
- }
898
- }
899
- }
603
+ react_native_assert(props != nullptr);
604
+ if (props != nullptr) {
605
+ viewFinal.props = props;
606
+ }
607
+ }
608
+ bool isScaleX = mutationConfig.animationProperty ==
609
+ AnimationProperty::ScaleX ||
610
+ mutationConfig.animationProperty ==
611
+ AnimationProperty::ScaleXY;
612
+ bool isScaleY = mutationConfig.animationProperty ==
613
+ AnimationProperty::ScaleY ||
614
+ mutationConfig.animationProperty ==
615
+ AnimationProperty::ScaleXY;
616
+ if ((isScaleX || isScaleY) && haveComponentDescriptor) {
617
+ auto props =
618
+ getComponentDescriptorForShadowView(baselineShadowView)
619
+ .cloneProps(propsParserContext, viewFinal.props, {});
900
620
 
901
- // Process mutations list into operations that can be sent to platform
902
- // immediately, and those that need to be animated Deletions, removals,
903
- // updates are delayed and animated. Creations and insertions are sent to
904
- // platform and then "animated in" with opacity updates. Upon completion,
905
- // removals and deletions are sent to platform
906
- ShadowViewMutation::List immediateMutations;
621
+ if (baselineShadowView.traits.check(
622
+ ShadowNodeTraits::Trait::ViewKind)) {
623
+ auto const &viewProps =
624
+ *std::static_pointer_cast<ViewProps const>(props);
625
+ const_cast<ViewProps &>(viewProps).transform =
626
+ Transform::Scale(isScaleX ? 0 : 1, isScaleY ? 0 : 1, 1);
627
+ }
907
628
 
908
- // Remove operations that are actually moves should be copied to
909
- // "immediate mutations". The corresponding "insert" will also be executed
910
- // immediately and animated as an update.
911
- std::vector<AnimationKeyFrame> keyFramesToAnimate;
912
- std::vector<AnimationKeyFrame> movesToAnimate;
913
- auto const layoutAnimationConfig = animation.layoutAnimationConfig;
914
- for (auto const &mutation : mutations) {
915
- ShadowView baselineShadowView =
916
- (mutation.type == ShadowViewMutation::Type::Delete ||
917
- mutation.type == ShadowViewMutation::Type::Remove ||
918
- mutation.type == ShadowViewMutation::Type::Update
919
- ? mutation.oldChildShadowView
920
- : mutation.newChildShadowView);
921
- react_native_assert(baselineShadowView.tag > 0);
922
- bool haveComponentDescriptor =
923
- hasComponentDescriptorForShadowView(baselineShadowView);
629
+ react_native_assert(props != nullptr);
630
+ if (props != nullptr) {
631
+ viewFinal.props = props;
632
+ }
633
+ }
924
634
 
925
- // Immediately execute any mutations on a root node
926
- if (baselineShadowView.traits.check(
927
- ShadowNodeTraits::Trait::RootNodeKind)) {
928
- immediateMutations.push_back(mutation);
929
- continue;
930
- }
635
+ PrintMutationInstruction(
636
+ "Setting up animation KeyFrame for REMOVE mutation (Delete animation)",
637
+ mutation);
931
638
 
932
- better::optional<ShadowViewMutation> executeMutationImmediately{};
639
+ keyFrame = AnimationKeyFrame{
640
+ /* .finalMutationsForKeyFrame */ {mutation, deleteMutation},
641
+ /* .type */ AnimationConfigurationType::Delete,
642
+ /* .tag */ tag,
643
+ /* .parentView */ parent,
644
+ /* .viewStart */ viewStart,
645
+ /* .viewEnd */ viewFinal,
646
+ /* .viewPrev */ baselineShadowView,
647
+ /* .initialProgress */ 0};
648
+ } else {
649
+ PrintMutationInstruction(
650
+ "Executing Remove Immediately, due to reordering operation",
651
+ mutation);
652
+ immediateMutations.push_back(mutation);
653
+ continue;
654
+ }
655
+ }
933
656
 
934
- bool isRemoveReinserted =
935
- mutation.type == ShadowViewMutation::Type::Remove &&
936
- std::find(
937
- insertedTags.begin(),
938
- insertedTags.end(),
939
- mutation.oldChildShadowView.tag) != insertedTags.end();
657
+ // Handle conflicting animations
658
+ for (auto &conflictingKeyFrame : conflictingAnimations) {
659
+ auto const &conflictingMutationBaselineShadowView =
660
+ conflictingKeyFrame.viewStart;
940
661
 
941
- // Reparenting can result in a node being removed, inserted (moved) and
942
- // also deleted and created in the same frame, with the same props etc.
943
- // This should eventually be optimized out of the diffing algorithm, but
944
- // for now we detect reparenting and prevent the corresponding
945
- // Delete/Create instructions from being animated.
946
- bool isReparented = std::find(
947
- reparentedTags.begin(),
948
- reparentedTags.end(),
949
- baselineShadowView.tag) != reparentedTags.end();
662
+ // We've found a conflict.
663
+ if (conflictingMutationBaselineShadowView.tag == tag) {
664
+ conflictingKeyFrame.generateFinalSyntheticMutations = false;
950
665
 
951
- if (isRemoveReinserted) {
952
- movedTags.insert({mutation.oldChildShadowView.tag, mutation});
953
- }
666
+ // Do NOT update viewStart for a CREATE animation.
667
+ if (keyFrame.type == AnimationConfigurationType::Create) {
668
+ break;
669
+ }
954
670
 
955
- // Inserts that follow a "remove" of the same tag should be treated as
956
- // an update (move) animation.
957
- bool wasInsertedTagRemoved = false;
958
- auto movedIt = movedTags.end();
959
- if (mutation.type == ShadowViewMutation::Type::Insert) {
960
- // If this is a move, we actually don't want to copy this insert
961
- // instruction to animated instructions - we want to
962
- // generate an Update mutation for Remove+Insert pairs to animate
963
- // the layout.
964
- // The corresponding Remove and Insert instructions will instead
965
- // be treated as "immediate" instructions.
966
- movedIt = movedTags.find(mutation.newChildShadowView.tag);
967
- wasInsertedTagRemoved = movedIt != movedTags.end();
968
- }
671
+ #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
672
+ LOG(ERROR)
673
+ << "Due to conflict, replacing 'viewStart' of animated keyframe: ["
674
+ << conflictingKeyFrame.viewPrev.tag << "] with ##"
675
+ << std::hash<ShadowView>{}(conflictingKeyFrame.viewPrev);
676
+ #endif
677
+ // Pick a Prop or layout property, depending on the current
678
+ // animation configuration. Figure out how much progress we've
679
+ // already made in the current animation, and start the animation
680
+ // from this point.
681
+ keyFrame.viewPrev = conflictingKeyFrame.viewPrev;
682
+ keyFrame.viewStart = conflictingKeyFrame.viewPrev;
683
+ react_native_assert(keyFrame.viewStart.tag > 0);
684
+ keyFrame.initialProgress = 0;
969
685
 
970
- auto const &mutationConfig =
971
- (mutation.type == ShadowViewMutation::Type::Delete ||
972
- (mutation.type == ShadowViewMutation::Type::Remove &&
973
- !wasInsertedTagRemoved)
974
- ? layoutAnimationConfig.deleteConfig
975
- : (mutation.type == ShadowViewMutation::Type::Insert &&
976
- !wasInsertedTagRemoved
977
- ? layoutAnimationConfig.createConfig
978
- : layoutAnimationConfig.updateConfig));
979
- bool haveConfiguration =
980
- mutationConfig.animationType != AnimationType::None;
686
+ // We're guaranteed that a tag only has one animation associated
687
+ // with it, so we can break here. If we support multiple
688
+ // animations and animation curves over the same tag in the
689
+ // future, this will need to be modified to support that.
690
+ break;
691
+ }
692
+ }
981
693
 
982
- if (wasInsertedTagRemoved && haveConfiguration) {
983
- movesToAnimate.push_back(AnimationKeyFrame{
984
- {},
985
- AnimationConfigurationType::Update,
986
- mutation.newChildShadowView.tag,
987
- mutation.parentShadowView,
988
- movedIt->second.oldChildShadowView,
989
- mutation.newChildShadowView});
694
+ #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
695
+ LOG(ERROR) << "Checking validity of keyframe: ["
696
+ << keyFrame.viewStart.tag << "] [" << keyFrame.viewEnd.tag
697
+ << "] [" << keyFrame.viewPrev.tag
698
+ << "] animation type: " << (int)keyFrame.type;
699
+ #endif
700
+ react_native_assert(keyFrame.viewStart.tag > 0);
701
+ react_native_assert(keyFrame.viewEnd.tag > 0);
702
+ react_native_assert(keyFrame.viewPrev.tag > 0);
703
+ keyFramesToAnimate.push_back(keyFrame);
990
704
  }
991
705
 
992
- // Creates and inserts should also be executed immediately.
993
- // Mutations that would otherwise be animated, but have no
994
- // configuration, are also executed immediately.
995
- if (isRemoveReinserted || !haveConfiguration || isReparented ||
996
- mutation.type == ShadowViewMutation::Type::Create ||
997
- mutation.type == ShadowViewMutation::Type::Insert) {
998
- executeMutationImmediately = mutation;
706
+ if (executeMutationImmediately.hasValue()) {
707
+ PrintMutationInstruction(
708
+ "Queue Up For Immediate Execution", *executeMutationImmediately);
709
+ immediateMutations.push_back(*executeMutationImmediately);
710
+ }
711
+ }
999
712
 
1000
- // It is possible, especially in the case of "moves", that we have a
1001
- // sequence of operations like:
1002
- // UPDATE X
1003
- // REMOVE X
1004
- // INSERT X
1005
- // In these cases, we will have queued up an animation for the UPDATE
1006
- // and delayed its execution; the REMOVE and INSERT will be executed
1007
- // first; and then the UPDATE will be animating to/from ShadowViews
1008
- // that are out-of-sync with what's on the mounting layer. Thus, for
1009
- // any UPDATE animations already queued up for this tag, we adjust the
1010
- // "previous" ShadowView.
1011
- if (mutation.type == ShadowViewMutation::Type::Insert) {
1012
- for (auto &keyframe : keyFramesToAnimate) {
1013
- if (keyframe.tag == baselineShadowView.tag) {
1014
- // If there's already an animation queued up, followed by this
1015
- // Insert, it *must* be an Update mutation animation. Other
1016
- // sequences should not be possible.
1017
- react_native_assert(
1018
- keyframe.type == AnimationConfigurationType::Update);
713
+ #ifdef RN_SHADOW_TREE_INTROSPECTION
714
+ #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
715
+ {
716
+ int idx = 0;
717
+ for (auto &mutation : immediateMutations) {
718
+ PrintMutationInstruction(
719
+ std::string("IMMEDIATE list: ") + std::to_string(idx) + "/" +
720
+ std::to_string(immediateMutations.size()),
721
+ mutation);
722
+ idx++;
723
+ }
724
+ }
1019
725
 
1020
- // The mutation is an "insert", so it must have a
1021
- // "newChildShadowView"
1022
- react_native_assert(mutation.newChildShadowView.tag > 0);
726
+ {
727
+ int idx = 0;
728
+ for (const auto &keyframe : keyFramesToAnimate) {
729
+ for (const auto &finalMutationForKeyFrame :
730
+ keyframe.finalMutationsForKeyFrame) {
731
+ PrintMutationInstruction(
732
+ std::string("FINAL list: ") + std::to_string(idx) + "/" +
733
+ std::to_string(keyFramesToAnimate.size()),
734
+ finalMutationForKeyFrame);
735
+ }
736
+ idx++;
737
+ }
738
+ }
739
+ #endif
740
+ #endif
1023
741
 
1024
- // Those asserts don't run in prod. If there's some edge-case
1025
- // that we haven't caught yet, we'd crash in debug; make sure we
1026
- // don't mutate the prevView in prod.
1027
- if (keyframe.type == AnimationConfigurationType::Update &&
1028
- mutation.newChildShadowView.tag > 0) {
1029
- keyframe.viewPrev = mutation.newChildShadowView;
1030
- }
1031
- }
1032
- }
1033
- } else if (mutation.type == ShadowViewMutation::Type::Remove) {
1034
- for (auto &keyframe : keyFramesToAnimate) {
1035
- if (keyframe.tag == baselineShadowView.tag) {
1036
- // If there's already an animation queued up, followed by this
1037
- // Insert, it *must* be an Update mutation animation. Other
1038
- // sequences should not be possible.
1039
- react_native_assert(
1040
- keyframe.type == AnimationConfigurationType::Update);
742
+ auto finalConflictingMutations = ShadowViewMutationList{};
743
+ for (auto &keyFrame : conflictingAnimations) {
744
+ // Special-case: if we have some (1) ongoing UPDATE animation,
745
+ // (2) it conflicted with a new MOVE operation (REMOVE+INSERT)
746
+ // without another corresponding UPDATE, we should re-queue the
747
+ // keyframe so that its position/props don't suddenly "jump".
748
+ if (keyFrame.type == AnimationConfigurationType::Update) {
749
+ auto movedIt = movedTags.find(keyFrame.tag);
750
+ if (movedIt != movedTags.end()) {
751
+ auto newKeyFrameForUpdate = std::find_if(
752
+ keyFramesToAnimate.begin(),
753
+ keyFramesToAnimate.end(),
754
+ [&](auto const &newKeyFrame) {
755
+ return newKeyFrame.type ==
756
+ AnimationConfigurationType::Update &&
757
+ newKeyFrame.tag == keyFrame.tag;
758
+ });
759
+ if (newKeyFrameForUpdate == keyFramesToAnimate.end()) {
760
+ keyFrame.invalidated = false;
1041
761
 
1042
- // The mutation is a "remove", so it must have a
1043
- // "oldChildShadowView"
1044
- react_native_assert(mutation.oldChildShadowView.tag > 0);
762
+ // The animation will continue from the current position - we
763
+ // restart viewStart to make sure there are no sudden jumps
764
+ keyFrame.viewStart = keyFrame.viewPrev;
1045
765
 
1046
- // Those asserts don't run in prod. If there's some edge-case
1047
- // that we haven't caught yet, we'd crash in debug; make sure we
1048
- // don't mutate the prevView in prod.
1049
- // Since normally the UPDATE would have been executed first and
1050
- // now it's deferred, we need to change the `oldChildShadowView`
1051
- // that is being referenced by the REMOVE mutation.
1052
- if (keyframe.type == AnimationConfigurationType::Update &&
1053
- mutation.oldChildShadowView.tag > 0) {
1054
- executeMutationImmediately = ShadowViewMutation{
1055
- mutation.type,
1056
- mutation.parentShadowView,
1057
- keyframe.viewPrev,
1058
- {},
1059
- mutation.index};
766
+ // Find the insert mutation that conflicted with this update
767
+ for (auto &mutation : immediateMutations) {
768
+ if (mutation.newChildShadowView.tag == keyFrame.tag &&
769
+ (mutation.type == ShadowViewMutation::Insert ||
770
+ mutation.type == ShadowViewMutation::Create)) {
771
+ keyFrame.viewPrev = mutation.newChildShadowView;
772
+ keyFrame.viewEnd = mutation.newChildShadowView;
1060
773
  }
1061
774
  }
775
+ keyFramesToAnimate.push_back(keyFrame);
776
+ continue;
1062
777
  }
1063
778
  }
1064
779
  }
1065
780
 
1066
- // Deletes, non-move inserts, updates get animated
1067
- if (!wasInsertedTagRemoved && !isRemoveReinserted && !isReparented &&
1068
- haveConfiguration &&
1069
- mutation.type != ShadowViewMutation::Type::Create) {
1070
- ShadowView viewStart = ShadowView(
1071
- mutation.type == ShadowViewMutation::Type::Insert
1072
- ? mutation.newChildShadowView
1073
- : mutation.oldChildShadowView);
1074
- react_native_assert(viewStart.tag > 0);
1075
- ShadowView viewFinal = ShadowView(
1076
- mutation.type == ShadowViewMutation::Type::Update
1077
- ? mutation.newChildShadowView
1078
- : viewStart);
1079
- react_native_assert(viewFinal.tag > 0);
1080
- ShadowView parent = mutation.parentShadowView;
1081
- react_native_assert(
1082
- parent.tag > 0 ||
1083
- mutation.type == ShadowViewMutation::Type::Update ||
1084
- mutation.type == ShadowViewMutation::Type::Delete);
1085
- Tag tag = viewStart.tag;
1086
-
1087
- AnimationKeyFrame keyFrame{};
1088
- if (mutation.type == ShadowViewMutation::Type::Insert) {
1089
- if (mutationConfig.animationProperty ==
1090
- AnimationProperty::Opacity &&
1091
- haveComponentDescriptor) {
1092
- auto props =
1093
- getComponentDescriptorForShadowView(baselineShadowView)
1094
- .cloneProps(propsParserContext, viewStart.props, {});
781
+ // If the "final" mutation is already accounted for, by previously
782
+ // setting the correct "viewPrev" of the next conflicting animation, we
783
+ // don't want to queue up any final UPDATE mutations here.
784
+ bool shouldGenerateSyntheticMutations =
785
+ keyFrame.generateFinalSyntheticMutations;
786
+ auto numFinalMutations = keyFrame.finalMutationsForKeyFrame.size();
787
+ bool onlyMutationIsUpdate =
788
+ (numFinalMutations == 1 &&
789
+ keyFrame.finalMutationsForKeyFrame[0].type ==
790
+ ShadowViewMutation::Update);
791
+ if (!shouldGenerateSyntheticMutations &&
792
+ (numFinalMutations == 0 || onlyMutationIsUpdate)) {
793
+ continue;
794
+ }
1095
795
 
1096
- // Dynamic cast, because - we don't know the type of this
1097
- // ShadowNode, it could be Image or Text or something else with
1098
- // different base props.
1099
- const auto viewProps =
1100
- dynamic_cast<const ViewProps *>(props.get());
1101
- if (viewProps != nullptr) {
1102
- const_cast<ViewProps *>(viewProps)->opacity = 0;
1103
- }
796
+ queueFinalMutationsForCompletedKeyFrame(
797
+ keyFrame,
798
+ finalConflictingMutations,
799
+ true,
800
+ "KeyFrameManager: Finished Conflicting Keyframe");
801
+ }
1104
802
 
1105
- react_native_assert(props != nullptr);
1106
- if (props != nullptr) {
1107
- viewStart.props = props;
1108
- }
1109
- }
1110
- bool isScaleX =
1111
- mutationConfig.animationProperty == AnimationProperty::ScaleX ||
1112
- mutationConfig.animationProperty == AnimationProperty::ScaleXY;
1113
- bool isScaleY =
1114
- mutationConfig.animationProperty == AnimationProperty::ScaleY ||
1115
- mutationConfig.animationProperty == AnimationProperty::ScaleXY;
1116
- if ((isScaleX || isScaleY) && haveComponentDescriptor) {
1117
- auto props =
1118
- getComponentDescriptorForShadowView(baselineShadowView)
1119
- .cloneProps(propsParserContext, viewStart.props, {});
803
+ // Make sure that all operations execute in the proper order, since
804
+ // conflicting animations are not sorted in any reasonable way.
805
+ std::stable_sort(
806
+ finalConflictingMutations.begin(),
807
+ finalConflictingMutations.end(),
808
+ &shouldFirstComeBeforeSecondMutation);
1120
809
 
1121
- // Dynamic cast, because - we don't know the type of this
1122
- // ShadowNode, it could be Image or Text or something else with
1123
- // different base props.
1124
- const auto viewProps =
1125
- dynamic_cast<const ViewProps *>(props.get());
1126
- if (viewProps != nullptr) {
1127
- const_cast<ViewProps *>(viewProps)->transform =
1128
- Transform::Scale(isScaleX ? 0 : 1, isScaleY ? 0 : 1, 1);
1129
- }
810
+ std::stable_sort(
811
+ immediateMutations.begin(),
812
+ immediateMutations.end(),
813
+ &shouldFirstComeBeforeSecondRemovesOnly);
1130
814
 
1131
- react_native_assert(props != nullptr);
1132
- if (props != nullptr) {
1133
- viewStart.props = props;
1134
- }
1135
- }
815
+ animation.keyFrames = keyFramesToAnimate;
816
+ inflightAnimations_.push_back(std::move(animation));
1136
817
 
1137
- PrintMutationInstruction(
1138
- "Setting up animation KeyFrame for INSERT mutation (Create animation)",
1139
- mutation);
818
+ // At this point, we have the following information and knowledge graph:
819
+ // Knowledge Graph:
820
+ // [ImmediateMutations] -> assumes [FinalConflicting], [FrameDelayed],
821
+ // [Delayed] already executed [FrameDelayed] -> assumes
822
+ // [FinalConflicting], [Delayed] already executed [FinalConflicting] ->
823
+ // is adjusted based on [Delayed], no dependency on [FinalConflicting],
824
+ // [FrameDelayed] [Delayed] -> assumes [FinalConflicting],
825
+ // [ImmediateMutations] not executed yet
1140
826
 
1141
- keyFrame = AnimationKeyFrame{
1142
- {},
1143
- AnimationConfigurationType::Create,
1144
- tag,
1145
- parent,
1146
- viewStart,
1147
- viewFinal,
1148
- baselineShadowView,
1149
- 0};
1150
- } else if (mutation.type == ShadowViewMutation::Type::Delete) {
1151
- // This is just for assertion purposes.
1152
- // The NDEBUG check here is to satisfy the compiler in certain environments
1153
- // complaining about correspondingRemoveIt being unused.
1154
- #ifdef REACT_NATIVE_DEBUG
1155
- #ifndef NDEBUG
1156
- // This block is temporarily disabled to fix some internal builds.
1157
- // In some build configurations, we get a compiler error that
1158
- // `correspondingRemoveIt` is unused.
1159
- /* Tag deleteTag = mutation.oldChildShadowView.tag;
1160
- auto correspondingRemoveIt = std::find_if(
1161
- mutations.begin(),
1162
- mutations.end(),
1163
- [&deleteTag](auto &mutation) {
1164
- return mutation.type == ShadowViewMutation::Type::Remove &&
1165
- mutation.oldChildShadowView.tag == deleteTag;
1166
- });
1167
- react_native_assert(correspondingRemoveIt != mutations.end());
1168
- */
827
+ // Adjust [Delayed] based on [FinalConflicting]
828
+ // Knowledge Graph:
829
+ // [ImmediateMutations] -> assumes [FinalConflicting], [FrameDelayed],
830
+ // [Delayed] already executed [FrameDelayed] -> assumes
831
+ // [FinalConflicting], [Delayed] already executed [FinalConflicting] ->
832
+ // is adjusted based on [Delayed], no dependency on [FinalConflicting],
833
+ // [FrameDelayed] [Delayed] -> adjusted for [FinalConflicting]; assumes
834
+ // [ImmediateMutations] not executed yet
835
+ #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
836
+ LOG(ERROR) << "Adjust [Delayed] based on [FinalConflicting]";
1169
837
  #endif
838
+ for (auto &mutation : finalConflictingMutations) {
839
+ if (mutation.type == ShadowViewMutation::Type::Insert ||
840
+ mutation.type == ShadowViewMutation::Type::Remove) {
841
+ adjustDelayedMutationIndicesForMutation(surfaceId, mutation, true);
842
+ }
843
+ }
844
+
845
+ // Adjust [FrameDelayed] based on [Delayed]
846
+ // Knowledge Graph:
847
+ // [ImmediateExecutions] -> assumes [FinalConflicting], [Delayed],
848
+ // [FrameDelayed] already executed [FrameDelayed] -> adjusted for
849
+ // [Delayed]; assumes [FinalConflicting] already executed
850
+ // [FinalConflicting] -> is adjusted based on [Delayed], no dependency
851
+ // on [FinalConflicting], [FrameDelayed] [Delayed] -> adjusted for
852
+ // [FinalConflicting]; assumes [ImmediateExecutions] not executed yet
853
+ #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
854
+ LOG(ERROR) << "Adjust [FrameDelayed] based on [Delayed]";
1170
855
  #endif
1171
- continue;
1172
- } else if (mutation.type == ShadowViewMutation::Type::Update) {
1173
- viewFinal = ShadowView(mutation.newChildShadowView);
856
+ for (auto &keyframe : inflightAnimations_.back().keyFrames) {
857
+ for (auto &finalMutation : keyframe.finalMutationsForKeyFrame) {
858
+ if (finalMutation.type == ShadowViewMutation::Type::Insert ||
859
+ finalMutation.type == ShadowViewMutation::Type::Remove) {
860
+ // When adjusting, skip adjusting against last animation - because
861
+ // all `mutation`s here come from the last animation, so we can't
862
+ // adjust a batch against itself.
863
+ adjustImmediateMutationIndicesForDelayedMutations(
864
+ surfaceId, finalMutation, true);
865
+ }
866
+ }
867
+ }
1174
868
 
1175
- PrintMutationInstruction(
1176
- "Setting up animation KeyFrame for UPDATE mutation (Update animation)",
1177
- mutation);
1178
-
1179
- keyFrame = AnimationKeyFrame{
1180
- {mutation},
1181
- AnimationConfigurationType::Update,
1182
- tag,
1183
- parent,
1184
- viewStart,
1185
- viewFinal,
1186
- baselineShadowView,
1187
- 0};
1188
- } else {
1189
- // This should just be "Remove" instructions that are not animated
1190
- // (either this is a "move", or there's a corresponding "Delete"
1191
- // that is animated).
1192
- react_native_assert(
1193
- mutation.type == ShadowViewMutation::Type::Remove);
1194
-
1195
- Tag removeTag = mutation.oldChildShadowView.tag;
1196
- auto correspondingInsertIt = std::find_if(
1197
- mutations.begin(),
1198
- mutations.end(),
1199
- [&removeTag](auto &mutation) {
1200
- return mutation.type == ShadowViewMutation::Type::Insert &&
1201
- mutation.newChildShadowView.tag == removeTag;
1202
- });
1203
- if (correspondingInsertIt == mutations.end()) {
1204
- // This is a REMOVE not paired with an INSERT (move), so it must
1205
- // be paired with a DELETE.
1206
- auto correspondingDeleteIt = std::find_if(
1207
- mutations.begin(),
1208
- mutations.end(),
1209
- [&removeTag](auto &mutation) {
1210
- return mutation.type == ShadowViewMutation::Type::Delete &&
1211
- mutation.oldChildShadowView.tag == removeTag;
1212
- });
1213
- react_native_assert(correspondingDeleteIt != mutations.end());
1214
-
1215
- auto deleteMutation = *correspondingDeleteIt;
1216
-
1217
- if (mutationConfig.animationProperty ==
1218
- AnimationProperty::Opacity &&
1219
- haveComponentDescriptor) {
1220
- auto props =
1221
- getComponentDescriptorForShadowView(baselineShadowView)
1222
- .cloneProps(propsParserContext, viewFinal.props, {});
1223
-
1224
- // Dynamic cast, because - we don't know the type of this
1225
- // ShadowNode, it could be Image or Text or something else with
1226
- // different base props.
1227
- const auto viewProps =
1228
- dynamic_cast<const ViewProps *>(props.get());
1229
- if (viewProps != nullptr) {
1230
- const_cast<ViewProps *>(viewProps)->opacity = 0;
1231
- }
1232
-
1233
- react_native_assert(props != nullptr);
1234
- if (props != nullptr) {
1235
- viewFinal.props = props;
1236
- }
1237
- }
1238
- bool isScaleX = mutationConfig.animationProperty ==
1239
- AnimationProperty::ScaleX ||
1240
- mutationConfig.animationProperty ==
1241
- AnimationProperty::ScaleXY;
1242
- bool isScaleY = mutationConfig.animationProperty ==
1243
- AnimationProperty::ScaleY ||
1244
- mutationConfig.animationProperty ==
1245
- AnimationProperty::ScaleXY;
1246
- if ((isScaleX || isScaleY) && haveComponentDescriptor) {
1247
- auto props =
1248
- getComponentDescriptorForShadowView(baselineShadowView)
1249
- .cloneProps(propsParserContext, viewFinal.props, {});
1250
-
1251
- // Dynamic cast, because - we don't know the type of this
1252
- // ShadowNode, it could be Image or Text or something else with
1253
- // different base props.
1254
- const auto viewProps =
1255
- dynamic_cast<const ViewProps *>(props.get());
1256
- if (viewProps != nullptr) {
1257
- const_cast<ViewProps *>(viewProps)->transform =
1258
- Transform::Scale(isScaleX ? 0 : 1, isScaleY ? 0 : 1, 1);
1259
- }
1260
-
1261
- react_native_assert(props != nullptr);
1262
- if (props != nullptr) {
1263
- viewFinal.props = props;
1264
- }
1265
- }
1266
-
1267
- PrintMutationInstruction(
1268
- "Setting up animation KeyFrame for REMOVE mutation (Delete animation)",
1269
- mutation);
1270
-
1271
- keyFrame = AnimationKeyFrame{
1272
- {mutation, deleteMutation},
1273
- AnimationConfigurationType::Delete,
1274
- tag,
1275
- parent,
1276
- viewStart,
1277
- viewFinal,
1278
- baselineShadowView,
1279
- 0};
1280
- } else {
1281
- PrintMutationInstruction(
1282
- "Executing Remove Immediately, due to reordering operation",
1283
- mutation);
1284
- immediateMutations.push_back(mutation);
1285
- continue;
1286
- }
1287
- }
1288
-
1289
- // Handle conflicting animations
1290
- for (auto &conflictingKeyFrame : conflictingAnimations) {
1291
- auto const &conflictingMutationBaselineShadowView =
1292
- conflictingKeyFrame.viewStart;
1293
-
1294
- // We've found a conflict.
1295
- if (conflictingMutationBaselineShadowView.tag == tag) {
1296
- conflictingKeyFrame.generateFinalSyntheticMutations = false;
1297
-
1298
- // Do NOT update viewStart for a CREATE animation.
1299
- if (keyFrame.type == AnimationConfigurationType::Create) {
1300
- break;
1301
- }
869
+ // Adjust [ImmediateExecutions] based on [Delayed]
870
+ // Knowledge Graph:
871
+ // [ImmediateExecutions] -> adjusted for [FrameDelayed], [Delayed];
872
+ // assumes [FinalConflicting] already executed [FrameDelayed] ->
873
+ // adjusted for [Delayed]; assumes [FinalConflicting] already executed
874
+ // [FinalConflicting] -> is adjusted based on [Delayed], no dependency
875
+ // on [FinalConflicting], [FrameDelayed] [Delayed] -> adjusted for
876
+ // [FinalConflicting]; assumes [ImmediateExecutions] not executed yet
877
+ //
878
+ // THEN,
879
+ // Adjust [Delayed] based on [ImmediateExecutions] and
880
+ // [FinalConflicting] Knowledge Graph: [ImmediateExecutions] -> adjusted
881
+ // for [FrameDelayed], [Delayed]; assumes [FinalConflicting] already
882
+ // executed [FrameDelayed] -> adjusted for [Delayed]; assumes
883
+ // [FinalConflicting] already executed [FinalConflicting] -> is adjusted
884
+ // based on [Delayed], no dependency on [FinalConflicting],
885
+ // [FrameDelayed] [Delayed] -> adjusted for [FinalConflicting],
886
+ // [ImmediateExecutions]
887
+ //
888
+ // We do these in the same loop because each immediate execution is
889
+ // impacted by each delayed mutation, and also can impact each delayed
890
+ // mutation, and these effects compound.
891
+ #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
892
+ LOG(ERROR)
893
+ << "Adjust each [ImmediateExecution] based on [Delayed] and [Delayed] based on each [ImmediateExecution]";
894
+ #endif
895
+ for (auto &mutation : immediateMutations) {
896
+ // Note: when adjusting [ImmediateExecutions] based on [FrameDelayed],
897
+ // we need only adjust Inserts. Since inserts are executed
898
+ // highest-index-first, lower indices being delayed does not impact
899
+ // the higher-index removals; and conversely, higher indices being
900
+ // delayed cannot impact lower index removal, regardless of order.
901
+ if (mutation.type == ShadowViewMutation::Type::Insert ||
902
+ mutation.type == ShadowViewMutation::Type::Remove) {
903
+ adjustImmediateMutationIndicesForDelayedMutations(
904
+ surfaceId,
905
+ mutation,
906
+ mutation.type == ShadowViewMutation::Type::Remove);
907
+ // Here we need to adjust both Delayed and FrameDelayed mutations.
908
+ // Delayed Removes can be impacted by non-delayed Inserts from the
909
+ // same frame.
910
+ adjustDelayedMutationIndicesForMutation(surfaceId, mutation);
911
+ }
912
+ }
1302
913
 
914
+ // If the knowledge graph progression above is correct, it is now safe
915
+ // to execute finalConflictingMutations and immediateMutations in that
916
+ // order, and to queue the delayed animations from this frame.
917
+ //
918
+ // Execute the conflicting, delayed operations immediately. Any UPDATE
919
+ // operations that smoothly transition into another animation will be
920
+ // overridden by generated UPDATE operations at the end of the list, and
921
+ // we want any REMOVE or DELETE operations to execute immediately.
922
+ // Additionally, this should allow us to avoid performing index
923
+ // adjustment between this list of conflicting animations and the batch
924
+ // we're about to execute.
925
+ finalConflictingMutations.insert(
926
+ finalConflictingMutations.end(),
927
+ immediateMutations.begin(),
928
+ immediateMutations.end());
929
+ mutations = finalConflictingMutations;
930
+ } /* if (currentAnimation) */
931
+ else {
932
+ // If there's no "next" animation, make sure we queue up "final"
933
+ // operations from all ongoing, conflicting animations.
1303
934
  #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
1304
- LOG(ERROR)
1305
- << "Due to conflict, replacing 'viewStart' of animated keyframe: ["
1306
- << conflictingKeyFrame.viewPrev.tag << "] with ##"
1307
- << std::hash<ShadowView>{}(conflictingKeyFrame.viewPrev);
935
+ LOG(ERROR) << "No Animation: Queue up final conflicting animations";
1308
936
  #endif
1309
- // Pick a Prop or layout property, depending on the current
1310
- // animation configuration. Figure out how much progress we've
1311
- // already made in the current animation, and start the animation
1312
- // from this point.
1313
- keyFrame.viewPrev = conflictingKeyFrame.viewPrev;
1314
- keyFrame.viewStart = conflictingKeyFrame.viewPrev;
1315
- react_native_assert(keyFrame.viewStart.tag > 0);
1316
- keyFrame.initialProgress = 0;
937
+ ShadowViewMutationList finalMutationsForConflictingAnimations{};
938
+ for (auto const &keyFrame : conflictingAnimations) {
939
+ queueFinalMutationsForCompletedKeyFrame(
940
+ keyFrame,
941
+ finalMutationsForConflictingAnimations,
942
+ true,
943
+ "Conflict with non-animated mutation");
944
+ }
1317
945
 
1318
- // We're guaranteed that a tag only has one animation associated
1319
- // with it, so we can break here. If we support multiple
1320
- // animations and animation curves over the same tag in the
1321
- // future, this will need to be modified to support that.
1322
- break;
1323
- }
1324
- }
946
+ // Make sure that all operations execute in the proper order.
947
+ // REMOVE operations with highest indices must operate first.
948
+ std::stable_sort(
949
+ finalMutationsForConflictingAnimations.begin(),
950
+ finalMutationsForConflictingAnimations.end(),
951
+ &shouldFirstComeBeforeSecondMutation);
1325
952
 
1326
953
  #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
1327
- LOG(ERROR) << "Checking validity of keyframe: ["
1328
- << keyFrame.viewStart.tag << "] [" << keyFrame.viewEnd.tag
1329
- << "] [" << keyFrame.viewPrev.tag
1330
- << "] animation type: " << (int)keyFrame.type;
954
+ LOG(ERROR)
955
+ << "No Animation: Adjust delayed mutations based on all finalMutationsForConflictingAnimations";
1331
956
  #endif
1332
- react_native_assert(keyFrame.viewStart.tag > 0);
1333
- react_native_assert(keyFrame.viewEnd.tag > 0);
1334
- react_native_assert(keyFrame.viewPrev.tag > 0);
1335
- keyFramesToAnimate.push_back(keyFrame);
1336
- }
1337
-
1338
- if (executeMutationImmediately.hasValue()) {
1339
- PrintMutationInstruction(
1340
- "Queue Up For Immediate Execution", *executeMutationImmediately);
1341
- immediateMutations.push_back(*executeMutationImmediately);
957
+ for (auto const &mutation : finalMutationsForConflictingAnimations) {
958
+ if (mutation.type == ShadowViewMutation::Type::Remove ||
959
+ mutation.type == ShadowViewMutation::Type::Insert) {
960
+ adjustDelayedMutationIndicesForMutation(surfaceId, mutation);
1342
961
  }
1343
962
  }
1344
963
 
1345
- #ifdef RN_SHADOW_TREE_INTROSPECTION
964
+ // The ShadowTree layer doesn't realize that certain operations have
965
+ // been delayed, so we must adjust all Remove and Insert operations
966
+ // based on what else has been deferred, whether we are executing this
967
+ // immediately or later.
1346
968
  #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
1347
- {
1348
- int idx = 0;
1349
- for (auto &mutation : immediateMutations) {
1350
- PrintMutationInstruction(
1351
- std::string("IMMEDIATE list: ") + std::to_string(idx) + "/" +
1352
- std::to_string(immediateMutations.size()),
1353
- mutation);
1354
- idx++;
969
+ LOG(ERROR)
970
+ << "No Animation: Adjust mutations based on remaining delayed mutations / adjust delayed, based on each";
971
+ #endif
972
+ for (auto &mutation : mutations) {
973
+ if (mutation.type == ShadowViewMutation::Type::Remove ||
974
+ mutation.type == ShadowViewMutation::Type::Insert) {
975
+ adjustImmediateMutationIndicesForDelayedMutations(
976
+ surfaceId, mutation);
977
+ adjustDelayedMutationIndicesForMutation(surfaceId, mutation);
1355
978
  }
1356
979
  }
1357
980
 
1358
- {
1359
- int idx = 0;
1360
- for (const auto &keyframe : keyFramesToAnimate) {
1361
- for (const auto &finalMutationForKeyFrame :
1362
- keyframe.finalMutationsForKeyFrame) {
1363
- PrintMutationInstruction(
1364
- std::string("FINAL list: ") + std::to_string(idx) + "/" +
1365
- std::to_string(keyFramesToAnimate.size()),
1366
- finalMutationForKeyFrame);
1367
- }
1368
- idx++;
1369
- }
1370
- }
1371
- #endif
1372
- #endif
981
+ // Append mutations to this list and swap - so that the final
982
+ // conflicting mutations happen before any other mutations
983
+ finalMutationsForConflictingAnimations.insert(
984
+ finalMutationsForConflictingAnimations.end(),
985
+ mutations.begin(),
986
+ mutations.end());
987
+ mutations = finalMutationsForConflictingAnimations;
988
+ }
989
+ } // if (mutations)
1373
990
 
1374
- auto finalConflictingMutations = ShadowViewMutationList{};
1375
- for (auto &keyFrame : conflictingAnimations) {
1376
- // Special-case: if we have some (1) ongoing UPDATE animation,
1377
- // (2) it conflicted with a new MOVE operation (REMOVE+INSERT)
1378
- // without another corresponding UPDATE, we should re-queue the
1379
- // keyframe so that its position/props don't suddenly "jump".
1380
- if (keyFrame.type == AnimationConfigurationType::Update) {
1381
- auto movedIt = movedTags.find(keyFrame.tag);
1382
- if (movedIt != movedTags.end()) {
1383
- auto newKeyFrameForUpdate = std::find_if(
1384
- keyFramesToAnimate.begin(),
1385
- keyFramesToAnimate.end(),
1386
- [&](auto const &newKeyFrame) {
1387
- return newKeyFrame.type ==
1388
- AnimationConfigurationType::Update &&
1389
- newKeyFrame.tag == keyFrame.tag;
1390
- });
1391
- if (newKeyFrameForUpdate == keyFramesToAnimate.end()) {
1392
- keyFrame.invalidated = false;
991
+ // We never commit a different root or modify anything -
992
+ // we just send additional mutations to the mounting layer until the
993
+ // animations are finished and the mounting layer (view) represents exactly
994
+ // what is in the most recent shadow tree
995
+ // Add animation mutations to the end of our existing mutations list in this
996
+ // function.
997
+ ShadowViewMutationList mutationsForAnimation{};
998
+ animationMutationsForFrame(surfaceId, mutationsForAnimation, now);
1393
999
 
1394
- // The animation will continue from the current position - we
1395
- // restart viewStart to make sure there are no sudden jumps
1396
- keyFrame.viewStart = keyFrame.viewPrev;
1000
+ // If any delayed removes were executed, update remaining delayed keyframes
1001
+ #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
1002
+ LOG(ERROR)
1003
+ << "Adjust all delayed mutations based on final mutations generated by animation driver";
1004
+ #endif
1005
+ for (auto const &mutation : mutationsForAnimation) {
1006
+ if (mutation.type == ShadowViewMutation::Type::Remove) {
1007
+ adjustDelayedMutationIndicesForMutation(surfaceId, mutation);
1008
+ }
1009
+ }
1397
1010
 
1398
- // Find the insert mutation that conflicted with this update
1399
- for (auto &mutation : immediateMutations) {
1400
- if (mutation.newChildShadowView.tag == keyFrame.tag &&
1401
- (mutation.type == ShadowViewMutation::Insert ||
1402
- mutation.type == ShadowViewMutation::Create)) {
1403
- keyFrame.viewPrev = mutation.newChildShadowView;
1404
- keyFrame.viewEnd = mutation.newChildShadowView;
1405
- }
1406
- }
1407
- keyFramesToAnimate.push_back(keyFrame);
1408
- continue;
1409
- }
1410
- }
1411
- }
1011
+ mutations.insert(
1012
+ mutations.end(),
1013
+ mutationsForAnimation.begin(),
1014
+ mutationsForAnimation.end());
1412
1015
 
1413
- // If the "final" mutation is already accounted for, by previously
1414
- // setting the correct "viewPrev" of the next conflicting animation, we
1415
- // don't want to queue up any final UPDATE mutations here.
1416
- bool shouldGenerateSyntheticMutations =
1417
- keyFrame.generateFinalSyntheticMutations;
1418
- bool numFinalMutations = keyFrame.finalMutationsForKeyFrame.size();
1419
- bool onlyMutationIsUpdate =
1420
- (numFinalMutations == 1 &&
1421
- keyFrame.finalMutationsForKeyFrame[0].type ==
1422
- ShadowViewMutation::Update);
1423
- if (!shouldGenerateSyntheticMutations &&
1424
- (numFinalMutations == 0 || onlyMutationIsUpdate)) {
1425
- continue;
1016
+ // DEBUG ONLY: list existing inflight animations
1017
+ #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
1018
+ LOG(ERROR) << "FINISHING DISPLAYING ONGOING inflightAnimations_!";
1019
+ int i = 0;
1020
+ int j = 0;
1021
+ for (auto const &inflightAnimation : inflightAnimations_) {
1022
+ i++;
1023
+ j = 0;
1024
+ if (inflightAnimation.completed) {
1025
+ continue;
1026
+ }
1027
+ for (auto &keyframe : inflightAnimation.keyFrames) {
1028
+ j++;
1029
+ if (keyframe.invalidated) {
1030
+ continue;
1031
+ }
1032
+ for (auto const &finalMutation : keyframe.finalMutationsForKeyFrame) {
1033
+ if (!finalMutation.mutatedViewIsVirtual()) {
1034
+ std::string msg = "Animation " + std::to_string(i) + " keyframe " +
1035
+ std::to_string(j) + ": Final Animation";
1036
+ PrintMutationInstruction(msg, finalMutation);
1426
1037
  }
1427
-
1428
- queueFinalMutationsForCompletedKeyFrame(
1429
- keyFrame,
1430
- finalConflictingMutations,
1431
- true,
1432
- "KeyFrameManager: Finished Conflicting Keyframe");
1433
1038
  }
1039
+ }
1040
+ }
1041
+ LOG(ERROR) << "FINISHING DONE DISPLAYING ONGOING inflightAnimations_!";
1042
+ #endif
1434
1043
 
1435
- // Make sure that all operations execute in the proper order, since
1436
- // conflicting animations are not sorted in any reasonable way.
1437
- std::stable_sort(
1438
- finalConflictingMutations.begin(),
1439
- finalConflictingMutations.end(),
1440
- &shouldFirstComeBeforeSecondMutation);
1044
+ // Signal to delegate if all animations are complete, or if we were not
1045
+ // animating anything and now some animation exists.
1046
+ if (inflightAnimationsExistInitially && inflightAnimations_.empty()) {
1047
+ std::lock_guard<std::mutex> lock(layoutAnimationStatusDelegateMutex_);
1048
+ if (layoutAnimationStatusDelegate_ != nullptr) {
1049
+ layoutAnimationStatusDelegate_->onAllAnimationsComplete();
1050
+ }
1051
+ } else if (
1052
+ !inflightAnimationsExistInitially && !inflightAnimations_.empty()) {
1053
+ std::lock_guard<std::mutex> lock(layoutAnimationStatusDelegateMutex_);
1054
+ if (layoutAnimationStatusDelegate_ != nullptr) {
1055
+ layoutAnimationStatusDelegate_->onAnimationStarted();
1056
+ }
1057
+ }
1441
1058
 
1442
- std::stable_sort(
1443
- immediateMutations.begin(),
1444
- immediateMutations.end(),
1445
- &shouldFirstComeBeforeSecondRemovesOnly);
1059
+ simulateImagePropsMemoryAccess(mutations);
1446
1060
 
1447
- animation.keyFrames = keyFramesToAnimate;
1448
- inflightAnimations_.push_back(std::move(animation));
1061
+ return MountingTransaction{
1062
+ surfaceId, transactionNumber, std::move(mutations), telemetry};
1063
+ }
1449
1064
 
1450
- // At this point, we have the following information and knowledge graph:
1451
- // Knowledge Graph:
1452
- // [ImmediateMutations] -> assumes [FinalConflicting], [FrameDelayed],
1453
- // [Delayed] already executed [FrameDelayed] -> assumes
1454
- // [FinalConflicting], [Delayed] already executed [FinalConflicting] ->
1455
- // is adjusted based on [Delayed], no dependency on [FinalConflicting],
1456
- // [FrameDelayed] [Delayed] -> assumes [FinalConflicting],
1457
- // [ImmediateMutations] not executed yet
1065
+ void LayoutAnimationKeyFrameManager::uiManagerDidConfigureNextLayoutAnimation(
1066
+ LayoutAnimation layoutAnimation) const {
1067
+ currentAnimation_ = butter::optional<LayoutAnimation>{layoutAnimation};
1068
+ }
1458
1069
 
1459
- // Adjust [Delayed] based on [FinalConflicting]
1460
- // Knowledge Graph:
1461
- // [ImmediateMutations] -> assumes [FinalConflicting], [FrameDelayed],
1462
- // [Delayed] already executed [FrameDelayed] -> assumes
1463
- // [FinalConflicting], [Delayed] already executed [FinalConflicting] ->
1464
- // is adjusted based on [Delayed], no dependency on [FinalConflicting],
1465
- // [FrameDelayed] [Delayed] -> adjusted for [FinalConflicting]; assumes
1466
- // [ImmediateMutations] not executed yet
1467
- #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
1468
- LOG(ERROR) << "Adjust [Delayed] based on [FinalConflicting]";
1469
- #endif
1470
- for (auto &mutation : finalConflictingMutations) {
1471
- if (mutation.type == ShadowViewMutation::Type::Insert ||
1472
- mutation.type == ShadowViewMutation::Type::Remove) {
1473
- adjustDelayedMutationIndicesForMutation(surfaceId, mutation, true);
1474
- }
1475
- }
1070
+ void LayoutAnimationKeyFrameManager::setLayoutAnimationStatusDelegate(
1071
+ LayoutAnimationStatusDelegate *delegate) const {
1072
+ std::lock_guard<std::mutex> lock(layoutAnimationStatusDelegateMutex_);
1073
+ layoutAnimationStatusDelegate_ = delegate;
1074
+ }
1476
1075
 
1477
- // Adjust [FrameDelayed] based on [Delayed]
1478
- // Knowledge Graph:
1479
- // [ImmediateExecutions] -> assumes [FinalConflicting], [Delayed],
1480
- // [FrameDelayed] already executed [FrameDelayed] -> adjusted for
1481
- // [Delayed]; assumes [FinalConflicting] already executed
1482
- // [FinalConflicting] -> is adjusted based on [Delayed], no dependency
1483
- // on [FinalConflicting], [FrameDelayed] [Delayed] -> adjusted for
1484
- // [FinalConflicting]; assumes [ImmediateExecutions] not executed yet
1485
- #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
1486
- LOG(ERROR) << "Adjust [FrameDelayed] based on [Delayed]";
1487
- #endif
1488
- for (auto &keyframe : inflightAnimations_.back().keyFrames) {
1489
- for (auto &finalMutation : keyframe.finalMutationsForKeyFrame) {
1490
- if (finalMutation.type == ShadowViewMutation::Type::Insert ||
1491
- finalMutation.type == ShadowViewMutation::Type::Remove) {
1492
- // When adjusting, skip adjusting against last animation - because
1493
- // all `mutation`s here come from the last animation, so we can't
1494
- // adjust a batch against itself.
1495
- adjustImmediateMutationIndicesForDelayedMutations(
1496
- surfaceId, finalMutation, true);
1497
- }
1498
- }
1499
- }
1076
+ void LayoutAnimationKeyFrameManager::setClockNow(
1077
+ std::function<uint64_t()> now) {
1078
+ now_ = std::move(now);
1079
+ }
1500
1080
 
1501
- // Adjust [ImmediateExecutions] based on [Delayed]
1502
- // Knowledge Graph:
1503
- // [ImmediateExecutions] -> adjusted for [FrameDelayed], [Delayed];
1504
- // assumes [FinalConflicting] already executed [FrameDelayed] ->
1505
- // adjusted for [Delayed]; assumes [FinalConflicting] already executed
1506
- // [FinalConflicting] -> is adjusted based on [Delayed], no dependency
1507
- // on [FinalConflicting], [FrameDelayed] [Delayed] -> adjusted for
1508
- // [FinalConflicting]; assumes [ImmediateExecutions] not executed yet
1509
- //
1510
- // THEN,
1511
- // Adjust [Delayed] based on [ImmediateExecutions] and
1512
- // [FinalConflicting] Knowledge Graph: [ImmediateExecutions] -> adjusted
1513
- // for [FrameDelayed], [Delayed]; assumes [FinalConflicting] already
1514
- // executed [FrameDelayed] -> adjusted for [Delayed]; assumes
1515
- // [FinalConflicting] already executed [FinalConflicting] -> is adjusted
1516
- // based on [Delayed], no dependency on [FinalConflicting],
1517
- // [FrameDelayed] [Delayed] -> adjusted for [FinalConflicting],
1518
- // [ImmediateExecutions]
1519
- //
1520
- // We do these in the same loop because each immediate execution is
1521
- // impacted by each delayed mutation, and also can impact each delayed
1522
- // mutation, and these effects compound.
1523
- #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
1524
- LOG(ERROR)
1525
- << "Adjust each [ImmediateExecution] based on [Delayed] and [Delayed] based on each [ImmediateExecution]";
1526
- #endif
1527
- for (auto &mutation : immediateMutations) {
1528
- // Note: when adjusting [ImmediateExecutions] based on [FrameDelayed],
1529
- // we need only adjust Inserts. Since inserts are executed
1530
- // highest-index-first, lower indices being delayed does not impact
1531
- // the higher-index removals; and conversely, higher indices being
1532
- // delayed cannot impact lower index removal, regardless of order.
1533
- if (mutation.type == ShadowViewMutation::Type::Insert ||
1534
- mutation.type == ShadowViewMutation::Type::Remove) {
1535
- adjustImmediateMutationIndicesForDelayedMutations(
1536
- surfaceId,
1537
- mutation,
1538
- mutation.type == ShadowViewMutation::Type::Remove);
1539
- // Here we need to adjust both Delayed and FrameDelayed mutations.
1540
- // Delayed Removes can be impacted by non-delayed Inserts from the
1541
- // same frame.
1542
- adjustDelayedMutationIndicesForMutation(surfaceId, mutation);
1543
- }
1544
- }
1081
+ void LayoutAnimationKeyFrameManager::enableSkipInvalidatedKeyFrames() {
1082
+ skipInvalidatedKeyFrames_ = true;
1083
+ }
1545
1084
 
1546
- // If the knowledge graph progression above is correct, it is now safe
1547
- // to execute finalConflictingMutations and immediateMutations in that
1548
- // order, and to queue the delayed animations from this frame.
1549
- //
1550
- // Execute the conflicting, delayed operations immediately. Any UPDATE
1551
- // operations that smoothly transition into another animation will be
1552
- // overridden by generated UPDATE operations at the end of the list, and
1553
- // we want any REMOVE or DELETE operations to execute immediately.
1554
- // Additionally, this should allow us to avoid performing index
1555
- // adjustment between this list of conflicting animations and the batch
1556
- // we're about to execute.
1557
- finalConflictingMutations.insert(
1558
- finalConflictingMutations.end(),
1559
- immediateMutations.begin(),
1560
- immediateMutations.end());
1561
- mutations = finalConflictingMutations;
1562
- } /* if (currentAnimation) */
1563
- else {
1564
- // If there's no "next" animation, make sure we queue up "final"
1565
- // operations from all ongoing, conflicting animations.
1566
- #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
1567
- LOG(ERROR) << "No Animation: Queue up final conflicting animations";
1568
- #endif
1569
- ShadowViewMutationList finalMutationsForConflictingAnimations{};
1570
- for (auto const &keyFrame : conflictingAnimations) {
1571
- queueFinalMutationsForCompletedKeyFrame(
1572
- keyFrame,
1573
- finalMutationsForConflictingAnimations,
1574
- true,
1575
- "Conflict with non-animated mutation");
1085
+ void LayoutAnimationKeyFrameManager::enableCrashOnMissingComponentDescriptor() {
1086
+ crashOnMissingComponentDescriptor_ = true;
1087
+ }
1088
+
1089
+ void LayoutAnimationKeyFrameManager::enableSimulateImagePropsMemoryAccess() {
1090
+ simulateImagePropsMemoryAccess_ = true;
1091
+ }
1092
+
1093
+ #pragma mark - Protected
1094
+
1095
+ bool LayoutAnimationKeyFrameManager::hasComponentDescriptorForShadowView(
1096
+ ShadowView const &shadowView) const {
1097
+ auto hasComponentDescriptor =
1098
+ componentDescriptorRegistry_->hasComponentDescriptorAt(
1099
+ shadowView.componentHandle);
1100
+
1101
+ if (crashOnMissingComponentDescriptor_ && !hasComponentDescriptor) {
1102
+ LOG(FATAL) << "Component descriptor with handle: "
1103
+ << shadowView.componentHandle
1104
+ << " doesn't exist. The component name: "
1105
+ << shadowView.componentName;
1106
+ }
1107
+
1108
+ return hasComponentDescriptor;
1109
+ }
1110
+
1111
+ ComponentDescriptor const &
1112
+ LayoutAnimationKeyFrameManager::getComponentDescriptorForShadowView(
1113
+ ShadowView const &shadowView) const {
1114
+ return componentDescriptorRegistry_->at(shadowView.componentHandle);
1115
+ }
1116
+
1117
+ ShadowView LayoutAnimationKeyFrameManager::createInterpolatedShadowView(
1118
+ Float progress,
1119
+ ShadowView const &startingView,
1120
+ ShadowView const &finalView) const {
1121
+ react_native_assert(startingView.tag > 0);
1122
+ react_native_assert(finalView.tag > 0);
1123
+ if (!hasComponentDescriptorForShadowView(startingView)) {
1124
+ LOG(ERROR) << "No ComponentDescriptor for ShadowView being animated: ["
1125
+ << startingView.tag << "]";
1126
+ react_native_assert(false);
1127
+ return finalView;
1128
+ }
1129
+
1130
+ ComponentDescriptor const &componentDescriptor =
1131
+ getComponentDescriptorForShadowView(startingView);
1132
+
1133
+ // Base the mutated view on the finalView, so that the following stay
1134
+ // consistent:
1135
+ // - state
1136
+ // - eventEmitter
1137
+ // For now, we do not allow interpolation of state. And we probably never
1138
+ // will, so make sure we always keep the mounting layer consistent with the
1139
+ // "final" state.
1140
+ auto mutatedShadowView = ShadowView(finalView);
1141
+ react_native_assert(mutatedShadowView.tag > 0);
1142
+
1143
+ react_native_assert(startingView.props != nullptr);
1144
+ react_native_assert(finalView.props != nullptr);
1145
+ if (startingView.props == nullptr || finalView.props == nullptr) {
1146
+ return finalView;
1147
+ }
1148
+
1149
+ // Animate opacity or scale/transform
1150
+ PropsParserContext propsParserContext{
1151
+ finalView.surfaceId, *contextContainer_};
1152
+ mutatedShadowView.props = componentDescriptor.interpolateProps(
1153
+ propsParserContext, progress, startingView.props, finalView.props);
1154
+ react_native_assert(mutatedShadowView.props != nullptr);
1155
+ if (mutatedShadowView.props == nullptr) {
1156
+ return finalView;
1157
+ }
1158
+
1159
+ // Interpolate LayoutMetrics
1160
+ LayoutMetrics const &finalLayoutMetrics = finalView.layoutMetrics;
1161
+ LayoutMetrics const &baselineLayoutMetrics = startingView.layoutMetrics;
1162
+ LayoutMetrics interpolatedLayoutMetrics = finalLayoutMetrics;
1163
+ interpolatedLayoutMetrics.frame.origin.x = interpolateFloats(
1164
+ progress,
1165
+ baselineLayoutMetrics.frame.origin.x,
1166
+ finalLayoutMetrics.frame.origin.x);
1167
+ interpolatedLayoutMetrics.frame.origin.y = interpolateFloats(
1168
+ progress,
1169
+ baselineLayoutMetrics.frame.origin.y,
1170
+ finalLayoutMetrics.frame.origin.y);
1171
+ interpolatedLayoutMetrics.frame.size.width = interpolateFloats(
1172
+ progress,
1173
+ baselineLayoutMetrics.frame.size.width,
1174
+ finalLayoutMetrics.frame.size.width);
1175
+ interpolatedLayoutMetrics.frame.size.height = interpolateFloats(
1176
+ progress,
1177
+ baselineLayoutMetrics.frame.size.height,
1178
+ finalLayoutMetrics.frame.size.height);
1179
+ mutatedShadowView.layoutMetrics = interpolatedLayoutMetrics;
1180
+
1181
+ return mutatedShadowView;
1182
+ }
1183
+
1184
+ void LayoutAnimationKeyFrameManager::callCallback(
1185
+ LayoutAnimationCallbackWrapper const &callback) const {
1186
+ runtimeExecutor_(
1187
+ [callback](jsi::Runtime &runtime) { callback.call(runtime); });
1188
+ }
1189
+
1190
+ void LayoutAnimationKeyFrameManager::queueFinalMutationsForCompletedKeyFrame(
1191
+ AnimationKeyFrame const &keyframe,
1192
+ ShadowViewMutation::List &mutationsList,
1193
+ bool interrupted,
1194
+ const std::string &logPrefix) const {
1195
+ if (skipInvalidatedKeyFrames_ && keyframe.invalidated) {
1196
+ return;
1197
+ }
1198
+ if (keyframe.finalMutationsForKeyFrame.size() > 0) {
1199
+ // TODO: modularize this segment, it is repeated 2x in KeyFrameManager
1200
+ // as well.
1201
+ ShadowView prev = keyframe.viewPrev;
1202
+ for (auto const &finalMutation : keyframe.finalMutationsForKeyFrame) {
1203
+ PrintMutationInstruction(
1204
+ logPrefix + ": Queuing up Final Mutation:", finalMutation);
1205
+ // Copy so that if something else mutates the inflight animations,
1206
+ // it won't change this mutation after this point.
1207
+ switch (finalMutation.type) {
1208
+ // For CREATE/INSERT this will contain CREATE, INSERT in that order.
1209
+ // For REMOVE/DELETE, same.
1210
+ case ShadowViewMutation::Type::Create:
1211
+ mutationsList.push_back(ShadowViewMutation::CreateMutation(
1212
+ finalMutation.newChildShadowView));
1213
+ break;
1214
+ case ShadowViewMutation::Type::Delete:
1215
+ mutationsList.push_back(ShadowViewMutation::DeleteMutation(prev));
1216
+ break;
1217
+ case ShadowViewMutation::Type::Insert:
1218
+ mutationsList.push_back(ShadowViewMutation::InsertMutation(
1219
+ finalMutation.parentShadowView,
1220
+ finalMutation.newChildShadowView,
1221
+ finalMutation.index));
1222
+ break;
1223
+ case ShadowViewMutation::Type::Remove:
1224
+ mutationsList.push_back(ShadowViewMutation::RemoveMutation(
1225
+ finalMutation.parentShadowView, prev, finalMutation.index));
1226
+ break;
1227
+ case ShadowViewMutation::Type::Update:
1228
+ mutationsList.push_back(ShadowViewMutation::UpdateMutation(
1229
+ prev, finalMutation.newChildShadowView));
1230
+ break;
1576
1231
  }
1232
+ if (finalMutation.newChildShadowView.tag > 0) {
1233
+ prev = finalMutation.newChildShadowView;
1234
+ }
1235
+ }
1236
+ } else {
1237
+ // If there's no final mutation associated, create a mutation that
1238
+ // corresponds to the animation being 100% complete. This is
1239
+ // important for, for example, INSERT mutations being animated from
1240
+ // opacity 0 to 1. If the animation is interrupted we must force the
1241
+ // View to be at opacity 1. For Android - since it passes along only
1242
+ // deltas, not an entire bag of props - generate an "animation"
1243
+ // frame corresponding to a final update for this view. Only then,
1244
+ // generate an update that will cause the ShadowTree to be
1245
+ // consistent with the Mounting layer by passing viewEnd,
1246
+ // unmodified, to the mounting layer. This helps with, for example,
1247
+ // opacity animations.
1248
+ // This is necessary for INSERT (create) and UPDATE (update) mutations, but
1249
+ // not REMOVE/DELETE mutations ("delete" animations).
1250
+ if (interrupted) {
1251
+ auto mutatedShadowView =
1252
+ createInterpolatedShadowView(1, keyframe.viewStart, keyframe.viewEnd);
1253
+ auto generatedPenultimateMutation = ShadowViewMutation::UpdateMutation(
1254
+ keyframe.viewPrev, mutatedShadowView);
1255
+ react_native_assert(
1256
+ generatedPenultimateMutation.oldChildShadowView.tag > 0);
1257
+ react_native_assert(
1258
+ generatedPenultimateMutation.newChildShadowView.tag > 0);
1259
+ PrintMutationInstruction(
1260
+ "Queueing up penultimate mutation instruction - synthetic",
1261
+ generatedPenultimateMutation);
1262
+ mutationsList.push_back(generatedPenultimateMutation);
1263
+
1264
+ auto generatedMutation = ShadowViewMutation::UpdateMutation(
1265
+ mutatedShadowView, keyframe.viewEnd);
1266
+ react_native_assert(generatedMutation.oldChildShadowView.tag > 0);
1267
+ react_native_assert(generatedMutation.newChildShadowView.tag > 0);
1268
+ PrintMutationInstruction(
1269
+ "Queueing up final mutation instruction - synthetic",
1270
+ generatedMutation);
1271
+ mutationsList.push_back(generatedMutation);
1272
+ } else {
1273
+ auto mutation = ShadowViewMutation::UpdateMutation(
1274
+ keyframe.viewPrev, keyframe.viewEnd);
1275
+ PrintMutationInstruction(
1276
+ logPrefix +
1277
+ "Animation Complete: Queuing up Final Synthetic Mutation:",
1278
+ mutation);
1279
+ react_native_assert(mutation.oldChildShadowView.tag > 0);
1280
+ react_native_assert(mutation.newChildShadowView.tag > 0);
1281
+ mutationsList.push_back(std::move(mutation));
1282
+ }
1283
+ }
1284
+ }
1285
+
1286
+ #pragma mark - Private
1287
+
1288
+ void LayoutAnimationKeyFrameManager::
1289
+ adjustImmediateMutationIndicesForDelayedMutations(
1290
+ SurfaceId surfaceId,
1291
+ ShadowViewMutation &mutation,
1292
+ bool skipLastAnimation,
1293
+ bool lastAnimationOnly) const {
1294
+ bool isRemoveMutation = mutation.type == ShadowViewMutation::Type::Remove;
1295
+ react_native_assert(
1296
+ isRemoveMutation || mutation.type == ShadowViewMutation::Type::Insert);
1297
+
1298
+ // TODO: turn all of this into a lambda and share code?
1299
+ if (mutation.mutatedViewIsVirtual()) {
1300
+ PrintMutationInstruction(
1301
+ "[IndexAdjustment] Not calling adjustImmediateMutationIndicesForDelayedMutations, is virtual, for:",
1302
+ mutation);
1303
+ return;
1304
+ }
1305
+
1306
+ PrintMutationInstruction(
1307
+ "[IndexAdjustment] Calling adjustImmediateMutationIndicesForDelayedMutations for:",
1308
+ mutation);
1309
+
1310
+ // First, collect all final mutations that could impact this immediate
1311
+ // mutation.
1312
+ std::vector<ShadowViewMutation const *> candidateMutations{};
1313
+
1314
+ for (auto inflightAnimationIt =
1315
+ inflightAnimations_.rbegin() + (skipLastAnimation ? 1 : 0);
1316
+ inflightAnimationIt != inflightAnimations_.rend();
1317
+ inflightAnimationIt++) {
1318
+ auto &inflightAnimation = *inflightAnimationIt;
1319
+ if (inflightAnimation.surfaceId != surfaceId) {
1320
+ continue;
1321
+ }
1322
+ if (inflightAnimation.completed) {
1323
+ continue;
1324
+ }
1577
1325
 
1578
- // Make sure that all operations execute in the proper order.
1579
- // REMOVE operations with highest indices must operate first.
1580
- std::stable_sort(
1581
- finalMutationsForConflictingAnimations.begin(),
1582
- finalMutationsForConflictingAnimations.end(),
1583
- &shouldFirstComeBeforeSecondMutation);
1326
+ for (auto const &animatedKeyFrame : inflightAnimation.keyFrames) {
1327
+ if (animatedKeyFrame.invalidated) {
1328
+ continue;
1329
+ }
1584
1330
 
1585
- #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
1586
- LOG(ERROR)
1587
- << "No Animation: Adjust delayed mutations based on all finalMutationsForConflictingAnimations";
1588
- #endif
1589
- for (auto const &mutation : finalMutationsForConflictingAnimations) {
1590
- if (mutation.type == ShadowViewMutation::Type::Remove ||
1591
- mutation.type == ShadowViewMutation::Type::Insert) {
1592
- adjustDelayedMutationIndicesForMutation(surfaceId, mutation);
1593
- }
1331
+ // Detect if they're in the same view hierarchy, but not equivalent
1332
+ // We've already detected direct conflicts and removed them.
1333
+ if (animatedKeyFrame.parentView.tag != mutation.parentShadowView.tag) {
1334
+ continue;
1594
1335
  }
1595
1336
 
1596
- // The ShadowTree layer doesn't realize that certain operations have
1597
- // been delayed, so we must adjust all Remove and Insert operations
1598
- // based on what else has been deferred, whether we are executing this
1599
- // immediately or later.
1600
- #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
1601
- LOG(ERROR)
1602
- << "No Animation: Adjust mutations based on remaining delayed mutations / adjust delayed, based on each";
1603
- #endif
1604
- for (auto &mutation : mutations) {
1605
- if (mutation.type == ShadowViewMutation::Type::Remove ||
1606
- mutation.type == ShadowViewMutation::Type::Insert) {
1607
- adjustImmediateMutationIndicesForDelayedMutations(
1608
- surfaceId, mutation);
1609
- adjustDelayedMutationIndicesForMutation(surfaceId, mutation);
1337
+ for (auto const &delayedMutation :
1338
+ animatedKeyFrame.finalMutationsForKeyFrame) {
1339
+ if (delayedMutation.type != ShadowViewMutation::Type::Remove) {
1340
+ continue;
1341
+ }
1342
+ if (delayedMutation.mutatedViewIsVirtual()) {
1343
+ continue;
1344
+ }
1345
+ if (delayedMutation.oldChildShadowView.tag ==
1346
+ (isRemoveMutation ? mutation.oldChildShadowView.tag
1347
+ : mutation.newChildShadowView.tag)) {
1348
+ continue;
1610
1349
  }
1350
+
1351
+ PrintMutationInstructionRelative(
1352
+ "[IndexAdjustment] adjustImmediateMutationIndicesForDelayedMutations CANDIDATE for:",
1353
+ mutation,
1354
+ delayedMutation);
1355
+ candidateMutations.push_back(&delayedMutation);
1611
1356
  }
1357
+ }
1612
1358
 
1613
- // Append mutations to this list and swap - so that the final
1614
- // conflicting mutations happen before any other mutations
1615
- finalMutationsForConflictingAnimations.insert(
1616
- finalMutationsForConflictingAnimations.end(),
1617
- mutations.begin(),
1618
- mutations.end());
1619
- mutations = finalMutationsForConflictingAnimations;
1359
+ if (lastAnimationOnly) {
1360
+ break;
1620
1361
  }
1621
- } // if (mutations)
1362
+ }
1622
1363
 
1623
- // We never commit a different root or modify anything -
1624
- // we just send additional mutations to the mounting layer until the
1625
- // animations are finished and the mounting layer (view) represents exactly
1626
- // what is in the most recent shadow tree
1627
- // Add animation mutations to the end of our existing mutations list in this
1628
- // function.
1629
- ShadowViewMutationList mutationsForAnimation{};
1630
- animationMutationsForFrame(surfaceId, mutationsForAnimation, now);
1364
+ // While the mutation keeps being affected, keep checking. We use the vector
1365
+ // so we only perform one adjustment per delayed mutation. See comments at
1366
+ // bottom of adjustDelayedMutationIndicesForMutation for further explanation.
1367
+ bool changed = true;
1368
+ int adjustedDelta = 0;
1369
+ while (changed) {
1370
+ changed = false;
1371
+ candidateMutations.erase(
1372
+ std::remove_if(
1373
+ candidateMutations.begin(),
1374
+ candidateMutations.end(),
1375
+ [&changed, &mutation, &adjustedDelta, &isRemoveMutation](
1376
+ ShadowViewMutation const *candidateMutation) {
1377
+ bool indexConflicts =
1378
+ (candidateMutation->index < mutation.index ||
1379
+ (isRemoveMutation &&
1380
+ candidateMutation->index == mutation.index));
1381
+ if (indexConflicts) {
1382
+ mutation.index++;
1383
+ adjustedDelta++;
1384
+ changed = true;
1385
+ PrintMutationInstructionRelative(
1386
+ "[IndexAdjustment] adjustImmediateMutationIndicesForDelayedMutations: Adjusting mutation UPWARD",
1387
+ mutation,
1388
+ *candidateMutation);
1389
+ return true;
1390
+ }
1391
+ return false;
1392
+ }),
1393
+ candidateMutations.end());
1394
+ }
1395
+ }
1631
1396
 
1632
- // If any delayed removes were executed, update remaining delayed keyframes
1633
- #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
1634
- LOG(ERROR)
1635
- << "Adjust all delayed mutations based on final mutations generated by animation driver";
1636
- #endif
1637
- for (auto const &mutation : mutationsForAnimation) {
1638
- if (mutation.type == ShadowViewMutation::Type::Remove) {
1639
- adjustDelayedMutationIndicesForMutation(surfaceId, mutation);
1640
- }
1397
+ void LayoutAnimationKeyFrameManager::adjustDelayedMutationIndicesForMutation(
1398
+ SurfaceId surfaceId,
1399
+ ShadowViewMutation const &mutation,
1400
+ bool skipLastAnimation) const {
1401
+ bool isRemoveMutation = mutation.type == ShadowViewMutation::Type::Remove;
1402
+ bool isInsertMutation = mutation.type == ShadowViewMutation::Type::Insert;
1403
+ auto tag = isRemoveMutation ? mutation.oldChildShadowView.tag
1404
+ : mutation.newChildShadowView.tag;
1405
+ react_native_assert(isRemoveMutation || isInsertMutation);
1406
+
1407
+ if (mutation.mutatedViewIsVirtual()) {
1408
+ PrintMutationInstruction(
1409
+ "[IndexAdjustment] Not calling adjustDelayedMutationIndicesForMutation, is virtual, for:",
1410
+ mutation);
1411
+ return;
1641
1412
  }
1642
1413
 
1643
- mutations.insert(
1644
- mutations.end(),
1645
- mutationsForAnimation.begin(),
1646
- mutationsForAnimation.end());
1414
+ // First, collect all final mutations that could impact this immediate
1415
+ // mutation.
1416
+ std::vector<ShadowViewMutation *> candidateMutations{};
1647
1417
 
1648
- // DEBUG ONLY: list existing inflight animations
1649
- #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
1650
- LOG(ERROR) << "FINISHING DISPLAYING ONGOING inflightAnimations_!";
1651
- int i = 0;
1652
- int j = 0;
1653
- for (auto const &inflightAnimation : inflightAnimations_) {
1654
- i++;
1655
- j = 0;
1418
+ for (auto inflightAnimationIt =
1419
+ inflightAnimations_.rbegin() + (skipLastAnimation ? 1 : 0);
1420
+ inflightAnimationIt != inflightAnimations_.rend();
1421
+ inflightAnimationIt++) {
1422
+ auto &inflightAnimation = *inflightAnimationIt;
1423
+
1424
+ if (inflightAnimation.surfaceId != surfaceId) {
1425
+ continue;
1426
+ }
1656
1427
  if (inflightAnimation.completed) {
1657
1428
  continue;
1658
1429
  }
1659
- for (auto &keyframe : inflightAnimation.keyFrames) {
1660
- j++;
1661
- if (keyframe.invalidated) {
1430
+
1431
+ for (auto &animatedKeyFrame : inflightAnimation.keyFrames) {
1432
+ if (animatedKeyFrame.invalidated) {
1433
+ continue;
1434
+ }
1435
+
1436
+ // Detect if they're in the same view hierarchy, but not equivalent
1437
+ // (We've already detected direct conflicts and handled them above)
1438
+ if (animatedKeyFrame.parentView.tag != mutation.parentShadowView.tag) {
1439
+ continue;
1440
+ }
1441
+
1442
+ for (auto &finalAnimationMutation :
1443
+ animatedKeyFrame.finalMutationsForKeyFrame) {
1444
+ if (finalAnimationMutation.oldChildShadowView.tag == tag) {
1445
+ continue;
1446
+ }
1447
+
1448
+ if (finalAnimationMutation.type != ShadowViewMutation::Type::Remove) {
1449
+ continue;
1450
+ }
1451
+ if (finalAnimationMutation.mutatedViewIsVirtual()) {
1452
+ continue;
1453
+ }
1454
+
1455
+ PrintMutationInstructionRelative(
1456
+ "[IndexAdjustment] adjustDelayedMutationIndicesForMutation: CANDIDATE:",
1457
+ mutation,
1458
+ finalAnimationMutation);
1459
+ candidateMutations.push_back(&finalAnimationMutation);
1460
+ }
1461
+ }
1462
+ }
1463
+
1464
+ // Because the finalAnimations are not sorted in any way, it is possible to
1465
+ // have some sequence like:
1466
+ // * DELAYED REMOVE 10 from {TAG}
1467
+ // * DELAYED REMOVE 9 from {TAG}
1468
+ // * ...
1469
+ // * DELAYED REMOVE 5 from {TAG}
1470
+ // with mutation: INSERT 6/REMOVE 6. This would cause the first few mutations
1471
+ // to *not* be adjusted, even though they would be impacted by mutation or
1472
+ // vice-versa after later adjustments are applied. Therefore, we just keep
1473
+ // recursing while there are any changes. This isn't great, but is good enough
1474
+ // for now until we change these data-structures.
1475
+ bool changed = true;
1476
+ while (changed) {
1477
+ changed = false;
1478
+ candidateMutations.erase(
1479
+ std::remove_if(
1480
+ candidateMutations.begin(),
1481
+ candidateMutations.end(),
1482
+ [&mutation, &isRemoveMutation, &isInsertMutation, &changed](
1483
+ ShadowViewMutation *candidateMutation) {
1484
+ if (isRemoveMutation &&
1485
+ mutation.index <= candidateMutation->index) {
1486
+ candidateMutation->index--;
1487
+ changed = true;
1488
+ PrintMutationInstructionRelative(
1489
+ "[IndexAdjustment] adjustDelayedMutationIndicesForMutation: Adjusting mutation DOWNWARD",
1490
+ mutation,
1491
+ *candidateMutation);
1492
+ return true;
1493
+ } else if (
1494
+ isInsertMutation &&
1495
+ mutation.index <= candidateMutation->index) {
1496
+ candidateMutation->index++;
1497
+ changed = true;
1498
+ PrintMutationInstructionRelative(
1499
+ "[IndexAdjustment] adjustDelayedMutationIndicesForMutation: Adjusting mutation UPWARD",
1500
+ mutation,
1501
+ *candidateMutation);
1502
+ return true;
1503
+ }
1504
+ return false;
1505
+ }),
1506
+ candidateMutations.end());
1507
+ }
1508
+ }
1509
+
1510
+ void LayoutAnimationKeyFrameManager::getAndEraseConflictingAnimations(
1511
+ SurfaceId surfaceId,
1512
+ ShadowViewMutationList const &mutations,
1513
+ std::vector<AnimationKeyFrame> &conflictingAnimations) const {
1514
+ ShadowViewMutationList localConflictingMutations{};
1515
+ for (auto const &mutation : mutations) {
1516
+ bool mutationIsCreateOrDelete =
1517
+ mutation.type == ShadowViewMutation::Type::Create ||
1518
+ mutation.type == ShadowViewMutation::Type::Delete;
1519
+ auto const &baselineShadowView =
1520
+ (mutation.type == ShadowViewMutation::Type::Insert ||
1521
+ mutation.type == ShadowViewMutation::Type::Create)
1522
+ ? mutation.newChildShadowView
1523
+ : mutation.oldChildShadowView;
1524
+ auto baselineTag = baselineShadowView.tag;
1525
+
1526
+ for (auto &inflightAnimation : inflightAnimations_) {
1527
+ if (inflightAnimation.surfaceId != surfaceId) {
1662
1528
  continue;
1663
1529
  }
1664
- for (auto const &finalMutation : keyframe.finalMutationsForKeyFrame) {
1665
- if (!finalMutation.mutatedViewIsVirtual()) {
1666
- std::string msg = "Animation " + std::to_string(i) + " keyframe " +
1667
- std::to_string(j) + ": Final Animation";
1668
- PrintMutationInstruction(msg, finalMutation);
1669
- }
1530
+ if (inflightAnimation.completed) {
1531
+ continue;
1670
1532
  }
1671
- }
1672
- }
1673
- LOG(ERROR) << "FINISHING DONE DISPLAYING ONGOING inflightAnimations_!";
1674
- #endif
1675
-
1676
- // Signal to delegate if all animations are complete, or if we were not
1677
- // animating anything and now some animation exists.
1678
- if (inflightAnimationsExistInitially && inflightAnimations_.empty()) {
1679
- std::lock_guard<std::mutex> lock(layoutAnimationStatusDelegateMutex_);
1680
- if (layoutAnimationStatusDelegate_ != nullptr) {
1681
- layoutAnimationStatusDelegate_->onAllAnimationsComplete();
1682
- }
1683
- } else if (
1684
- !inflightAnimationsExistInitially && !inflightAnimations_.empty()) {
1685
- std::lock_guard<std::mutex> lock(layoutAnimationStatusDelegateMutex_);
1686
- if (layoutAnimationStatusDelegate_ != nullptr) {
1687
- layoutAnimationStatusDelegate_->onAnimationStarted();
1688
- }
1689
- }
1690
-
1691
- return MountingTransaction{
1692
- surfaceId, transactionNumber, std::move(mutations), telemetry};
1693
- }
1694
1533
 
1695
- bool LayoutAnimationKeyFrameManager::hasComponentDescriptorForShadowView(
1696
- ShadowView const &shadowView) const {
1697
- return componentDescriptorRegistry_->hasComponentDescriptorAt(
1698
- shadowView.componentHandle);
1699
- }
1534
+ for (auto it = inflightAnimation.keyFrames.begin();
1535
+ it != inflightAnimation.keyFrames.end();) {
1536
+ auto &animatedKeyFrame = *it;
1700
1537
 
1701
- ComponentDescriptor const &
1702
- LayoutAnimationKeyFrameManager::getComponentDescriptorForShadowView(
1703
- ShadowView const &shadowView) const {
1704
- return componentDescriptorRegistry_->at(shadowView.componentHandle);
1705
- }
1538
+ if (animatedKeyFrame.invalidated) {
1539
+ continue;
1540
+ }
1706
1541
 
1707
- void LayoutAnimationKeyFrameManager::setComponentDescriptorRegistry(
1708
- const SharedComponentDescriptorRegistry &componentDescriptorRegistry) {
1709
- componentDescriptorRegistry_ = componentDescriptorRegistry;
1710
- }
1542
+ // A conflict is when either: the animated node itself is mutated
1543
+ // directly; or, the parent of the node is created or deleted. In cases
1544
+ // of reparenting - say, the parent is deleted but the node was moved to
1545
+ // a different parent first - the reparenting (remove/insert) conflict
1546
+ // will be detected before we process the parent DELETE.
1547
+ // Parent deletion is important because deleting a parent recursively
1548
+ // deletes all children. If we previously deferred deletion of a child,
1549
+ // we need to force deletion/removal to happen immediately.
1550
+ bool conflicting = animatedKeyFrame.tag == baselineTag ||
1551
+ (mutationIsCreateOrDelete &&
1552
+ animatedKeyFrame.parentView.tag == baselineTag &&
1553
+ animatedKeyFrame.parentView.tag != 0);
1711
1554
 
1712
- /**
1713
- * Given a `progress` between 0 and 1, a mutation and LayoutAnimation config,
1714
- * return a ShadowView with mutated props and/or LayoutMetrics.
1715
- *
1716
- * @param progress
1717
- * @param layoutAnimation
1718
- * @param animatedMutation
1719
- * @return
1720
- */
1721
- ShadowView LayoutAnimationKeyFrameManager::createInterpolatedShadowView(
1722
- double progress,
1723
- ShadowView startingView,
1724
- ShadowView finalView) const {
1725
- react_native_assert(startingView.tag > 0);
1726
- react_native_assert(finalView.tag > 0);
1727
- if (!hasComponentDescriptorForShadowView(startingView)) {
1728
- LOG(ERROR) << "No ComponentDescriptor for ShadowView being animated: ["
1729
- << startingView.tag << "]";
1730
- react_native_assert(false);
1731
- return finalView;
1732
- }
1555
+ // Conflicting animation detected: if we're mutating a tag under
1556
+ // animation, or deleting the parent of a tag under animation, or
1557
+ // reparenting.
1558
+ if (conflicting) {
1559
+ animatedKeyFrame.invalidated = true;
1733
1560
 
1734
- // Stub PropsParserContext used for interpolateProps.
1735
- // This is/should be safe because interpolating doesn't actually need to
1736
- // parse props, and just copies them; therefore there should be no
1737
- // need to actually use anything in the PropsParserContext.
1738
- // If this ever changes, the LayoutAnimations API will need to change
1739
- // to pass in a real PropsParserContext.
1740
- ContextContainer contextContainer{};
1741
- PropsParserContext propsParserContext{-1, contextContainer};
1561
+ // We construct a list of all conflicting animations, whether or not
1562
+ // they have a "final mutation" to execute. This is important with,
1563
+ // for example, "insert" mutations where the final update needs to set
1564
+ // opacity to "1", even if there's no final ShadowNode update.
1565
+ // TODO: don't animate virtual views in the first place?
1566
+ bool isVirtual = false;
1567
+ for (const auto &finalMutationForKeyFrame :
1568
+ animatedKeyFrame.finalMutationsForKeyFrame) {
1569
+ isVirtual =
1570
+ isVirtual || finalMutationForKeyFrame.mutatedViewIsVirtual();
1742
1571
 
1743
- ComponentDescriptor const &componentDescriptor =
1744
- getComponentDescriptorForShadowView(startingView);
1572
+ #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
1573
+ PrintMutationInstructionRelative(
1574
+ "Found mutation that conflicts with existing in-flight animation:",
1575
+ mutation,
1576
+ finalMutationForKeyFrame);
1577
+ #endif
1578
+ }
1745
1579
 
1746
- // Base the mutated view on the finalView, so that the following stay
1747
- // consistent:
1748
- // - state
1749
- // - eventEmitter
1750
- // For now, we do not allow interpolation of state. And we probably never
1751
- // will, so make sure we always keep the mounting layer consistent with the
1752
- // "final" state.
1753
- auto mutatedShadowView = ShadowView(finalView);
1754
- react_native_assert(mutatedShadowView.tag > 0);
1580
+ conflictingAnimations.push_back(animatedKeyFrame);
1581
+ for (const auto &finalMutationForKeyFrame :
1582
+ animatedKeyFrame.finalMutationsForKeyFrame) {
1583
+ if (!isVirtual ||
1584
+ finalMutationForKeyFrame.type ==
1585
+ ShadowViewMutation::Type::Delete) {
1586
+ localConflictingMutations.push_back(finalMutationForKeyFrame);
1587
+ }
1588
+ }
1755
1589
 
1756
- react_native_assert(startingView.props != nullptr);
1757
- react_native_assert(finalView.props != nullptr);
1758
- if (startingView.props == nullptr || finalView.props == nullptr) {
1759
- return finalView;
1590
+ // Delete from existing animation
1591
+ it = inflightAnimation.keyFrames.erase(it);
1592
+ } else {
1593
+ it++;
1594
+ }
1595
+ }
1596
+ }
1760
1597
  }
1761
1598
 
1762
- // Animate opacity or scale/transform
1763
- mutatedShadowView.props = componentDescriptor.interpolateProps(
1764
- propsParserContext, progress, startingView.props, finalView.props);
1765
- react_native_assert(mutatedShadowView.props != nullptr);
1766
- if (mutatedShadowView.props == nullptr) {
1767
- return finalView;
1599
+ // Recurse, in case conflicting mutations conflict with other existing
1600
+ // animations
1601
+ if (!localConflictingMutations.empty()) {
1602
+ getAndEraseConflictingAnimations(
1603
+ surfaceId, localConflictingMutations, conflictingAnimations);
1768
1604
  }
1769
-
1770
- // Interpolate LayoutMetrics
1771
- LayoutMetrics const &finalLayoutMetrics = finalView.layoutMetrics;
1772
- LayoutMetrics const &baselineLayoutMetrics = startingView.layoutMetrics;
1773
- LayoutMetrics interpolatedLayoutMetrics = finalLayoutMetrics;
1774
- interpolatedLayoutMetrics.frame.origin.x = interpolateFloats(
1775
- progress,
1776
- baselineLayoutMetrics.frame.origin.x,
1777
- finalLayoutMetrics.frame.origin.x);
1778
- interpolatedLayoutMetrics.frame.origin.y = interpolateFloats(
1779
- progress,
1780
- baselineLayoutMetrics.frame.origin.y,
1781
- finalLayoutMetrics.frame.origin.y);
1782
- interpolatedLayoutMetrics.frame.size.width = interpolateFloats(
1783
- progress,
1784
- baselineLayoutMetrics.frame.size.width,
1785
- finalLayoutMetrics.frame.size.width);
1786
- interpolatedLayoutMetrics.frame.size.height = interpolateFloats(
1787
- progress,
1788
- baselineLayoutMetrics.frame.size.height,
1789
- finalLayoutMetrics.frame.size.height);
1790
- mutatedShadowView.layoutMetrics = interpolatedLayoutMetrics;
1791
-
1792
- return mutatedShadowView;
1793
1605
  }
1794
1606
 
1795
- void LayoutAnimationKeyFrameManager::queueFinalMutationsForCompletedKeyFrame(
1796
- AnimationKeyFrame const &keyframe,
1797
- ShadowViewMutation::List &mutationsList,
1798
- bool interrupted,
1799
- std::string logPrefix) const {
1800
- if (keyframe.finalMutationsForKeyFrame.size() > 0) {
1801
- // TODO: modularize this segment, it is repeated 2x in KeyFrameManager
1802
- // as well.
1803
- ShadowView prev = keyframe.viewPrev;
1804
- for (auto const &finalMutation : keyframe.finalMutationsForKeyFrame) {
1805
- PrintMutationInstruction(
1806
- logPrefix + ": Queuing up Final Mutation:", finalMutation);
1807
- // Copy so that if something else mutates the inflight animations,
1808
- // it won't change this mutation after this point.
1809
- auto mutation = ShadowViewMutation{
1810
- finalMutation.type,
1811
- finalMutation.parentShadowView,
1812
- prev,
1813
- finalMutation.newChildShadowView,
1814
- finalMutation.index};
1815
- react_native_assert(mutation.oldChildShadowView.tag > 0);
1816
- react_native_assert(
1817
- mutation.newChildShadowView.tag > 0 ||
1818
- finalMutation.type == ShadowViewMutation::Remove ||
1819
- finalMutation.type == ShadowViewMutation::Delete);
1820
- mutationsList.push_back(mutation);
1821
- if (finalMutation.newChildShadowView.tag > 0) {
1822
- prev = finalMutation.newChildShadowView;
1823
- }
1607
+ void LayoutAnimationKeyFrameManager::deleteAnimationsForStoppedSurfaces()
1608
+ const {
1609
+ bool inflightAnimationsExistInitially = !inflightAnimations_.empty();
1610
+
1611
+ // Execute stopSurface on any ongoing animations
1612
+ if (inflightAnimationsExistInitially) {
1613
+ butter::set<SurfaceId> surfaceIdsToStop{};
1614
+ {
1615
+ std::lock_guard<std::mutex> lock(surfaceIdsToStopMutex_);
1616
+ surfaceIdsToStop = surfaceIdsToStop_;
1617
+ surfaceIdsToStop_.clear();
1824
1618
  }
1825
- } else {
1826
- // If there's no final mutation associated, create a mutation that
1827
- // corresponds to the animation being 100% complete. This is
1828
- // important for, for example, INSERT mutations being animated from
1829
- // opacity 0 to 1. If the animation is interrupted we must force the
1830
- // View to be at opacity 1. For Android - since it passes along only
1831
- // deltas, not an entire bag of props - generate an "animation"
1832
- // frame corresponding to a final update for this view. Only then,
1833
- // generate an update that will cause the ShadowTree to be
1834
- // consistent with the Mounting layer by passing viewEnd,
1835
- // unmodified, to the mounting layer. This helps with, for example,
1836
- // opacity animations.
1837
- // This is necessary for INSERT (create) and UPDATE (update) mutations, but
1838
- // not REMOVE/DELETE mutations ("delete" animations).
1839
- if (interrupted) {
1840
- auto mutatedShadowView =
1841
- createInterpolatedShadowView(1, keyframe.viewStart, keyframe.viewEnd);
1842
- auto generatedPenultimateMutation = ShadowViewMutation::UpdateMutation(
1843
- keyframe.viewPrev, mutatedShadowView);
1844
- react_native_assert(
1845
- generatedPenultimateMutation.oldChildShadowView.tag > 0);
1846
- react_native_assert(
1847
- generatedPenultimateMutation.newChildShadowView.tag > 0);
1848
- PrintMutationInstruction(
1849
- "Queueing up penultimate mutation instruction - synthetic",
1850
- generatedPenultimateMutation);
1851
- mutationsList.push_back(generatedPenultimateMutation);
1852
1619
 
1853
- auto generatedMutation = ShadowViewMutation::UpdateMutation(
1854
- mutatedShadowView, keyframe.viewEnd);
1855
- react_native_assert(generatedMutation.oldChildShadowView.tag > 0);
1856
- react_native_assert(generatedMutation.newChildShadowView.tag > 0);
1857
- PrintMutationInstruction(
1858
- "Queueing up final mutation instruction - synthetic",
1859
- generatedMutation);
1860
- mutationsList.push_back(generatedMutation);
1861
- } else {
1862
- auto mutation = ShadowViewMutation{
1863
- ShadowViewMutation::Type::Update,
1864
- keyframe.parentView,
1865
- keyframe.viewPrev,
1866
- keyframe.viewEnd,
1867
- -1};
1868
- PrintMutationInstruction(
1869
- logPrefix +
1870
- "Animation Complete: Queuing up Final Synthetic Mutation:",
1871
- mutation);
1872
- react_native_assert(mutation.oldChildShadowView.tag > 0);
1873
- react_native_assert(mutation.newChildShadowView.tag > 0);
1874
- mutationsList.push_back(mutation);
1620
+ for (auto it = inflightAnimations_.begin();
1621
+ it != inflightAnimations_.end();) {
1622
+ const auto &animation = *it;
1623
+
1624
+ #ifdef LAYOUT_ANIMATION_VERBOSE_LOGGING
1625
+ LOG(ERROR)
1626
+ << "LayoutAnimations: stopping animation due to stopSurface on "
1627
+ << surfaceId;
1628
+ #endif
1629
+ if (surfaceIdsToStop.find(animation.surfaceId) !=
1630
+ surfaceIdsToStop.end()) {
1631
+ it = inflightAnimations_.erase(it);
1632
+ } else {
1633
+ it++;
1634
+ }
1875
1635
  }
1876
1636
  }
1877
1637
  }
1878
1638
 
1879
- void LayoutAnimationKeyFrameManager::callCallback(
1880
- const LayoutAnimationCallbackWrapper &callback) const {
1881
- if (callback.readyForCleanup()) {
1639
+ void LayoutAnimationKeyFrameManager::simulateImagePropsMemoryAccess(
1640
+ ShadowViewMutationList const &mutations) const {
1641
+ if (!simulateImagePropsMemoryAccess_) {
1882
1642
  return;
1883
1643
  }
1884
-
1885
- // Callbacks can only be called once. Replace the callsite with an empty
1886
- // CallbackWrapper. We use a unique_ptr to avoid copying into the vector.
1887
- std::unique_ptr<LayoutAnimationCallbackWrapper> copiedCallback(
1888
- std::make_unique<LayoutAnimationCallbackWrapper>(callback));
1889
-
1890
- // Call the callback that is being retained in the vector
1891
- copiedCallback->call(runtimeExecutor_);
1892
-
1893
- // Protect with a mutex: this can be called on failure callbacks in the JS
1894
- // thread and success callbacks on the UI thread
1895
- {
1896
- std::lock_guard<std::mutex> lock(callbackWrappersPendingMutex_);
1897
-
1898
- // Clean any stale data in the retention vector
1899
- callbackWrappersPending_.erase(
1900
- std::remove_if(
1901
- callbackWrappersPending_.begin(),
1902
- callbackWrappersPending_.end(),
1903
- [](const std::unique_ptr<LayoutAnimationCallbackWrapper> &wrapper) {
1904
- return wrapper->readyForCleanup();
1905
- }),
1906
- callbackWrappersPending_.end());
1907
-
1908
- // Hold onto a reference to the callback, only while
1909
- // LayoutAnimationKeyFrameManager is alive and the callback hasn't
1910
- // completed yet.
1911
- callbackWrappersPending_.push_back(std::move(copiedCallback));
1644
+ for (auto const &mutation : mutations) {
1645
+ if (mutation.type != ShadowViewMutation::Type::Insert) {
1646
+ continue;
1647
+ }
1648
+ if (strcmp(mutation.newChildShadowView.componentName, "Image") == 0) {
1649
+ auto const &imageProps = *std::static_pointer_cast<ImageProps const>(
1650
+ mutation.newChildShadowView.props);
1651
+ int temp = 0;
1652
+ switch (imageProps.resizeMode) {
1653
+ case ImageResizeMode::Cover:
1654
+ temp = 1;
1655
+ break;
1656
+ case ImageResizeMode::Contain:
1657
+ temp = 2;
1658
+ break;
1659
+ case ImageResizeMode::Stretch:
1660
+ temp = 3;
1661
+ break;
1662
+ case ImageResizeMode::Center:
1663
+ temp = 4;
1664
+ break;
1665
+ case ImageResizeMode::Repeat:
1666
+ temp = 5;
1667
+ break;
1668
+ }
1669
+ (void)temp;
1670
+ }
1912
1671
  }
1913
1672
  }
1914
1673