react-native-tvos 0.84.1-0 → 0.85.0-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 (873) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
  2. package/Libraries/Animated/Animated.d.ts +8 -1
  3. package/Libraries/Animated/AnimatedEvent.js +4 -4
  4. package/Libraries/Animated/AnimatedImplementation.js +2 -2
  5. package/Libraries/Animated/animations/Animation.js +3 -3
  6. package/Libraries/Animated/animations/DecayAnimation.js +4 -4
  7. package/Libraries/Animated/animations/SpringAnimation.js +5 -5
  8. package/Libraries/Animated/animations/TimingAnimation.js +5 -5
  9. package/Libraries/Animated/createAnimatedComponent.js +7 -7
  10. package/Libraries/Animated/nodes/AnimatedColor.js +2 -2
  11. package/Libraries/Animated/nodes/AnimatedInterpolation.js +12 -12
  12. package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
  13. package/Libraries/Animated/nodes/AnimatedObject.js +3 -3
  14. package/Libraries/Animated/nodes/AnimatedProps.js +6 -6
  15. package/Libraries/Animated/nodes/AnimatedStyle.js +7 -7
  16. package/Libraries/Animated/nodes/AnimatedTransform.js +13 -13
  17. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  18. package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
  19. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  20. package/{jest/mocks/Vibration.js → Libraries/Animated/useAnimatedColor.d.ts} +5 -6
  21. package/Libraries/Animated/useAnimatedColor.js +25 -0
  22. package/{jest/mocks/Clipboard.js → Libraries/Animated/useAnimatedValueXY.d.ts} +5 -6
  23. package/Libraries/Animated/useAnimatedValueXY.js +26 -0
  24. package/Libraries/AppDelegate/RCTAppDelegate.mm +0 -8
  25. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +1 -3
  26. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +1 -0
  27. package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -6
  28. package/Libraries/AppState/AppState.js +1 -1
  29. package/Libraries/BatchedBridge/MessageQueue.js +3 -3
  30. package/Libraries/BatchedBridge/NativeModules.js +12 -10
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -26
  32. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +2 -2
  33. package/Libraries/Components/Button.js +2 -2
  34. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +2 -2
  35. package/Libraries/Components/Keyboard/Keyboard.js +6 -6
  36. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  37. package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
  38. package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
  39. package/Libraries/Components/Pressable/Pressable.d.ts +5 -0
  40. package/Libraries/Components/Pressable/Pressable.js +3 -3
  41. package/Libraries/Components/Pressable/useAndroidRippleForView.js +4 -4
  42. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  43. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +3 -3
  44. package/Libraries/Components/RefreshControl/RefreshControl.js +5 -5
  45. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +10 -12
  46. package/Libraries/Components/ScrollView/ScrollView.d.ts +18 -1
  47. package/Libraries/Components/ScrollView/ScrollView.js +33 -10
  48. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +12 -18
  49. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +7 -4
  50. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  51. package/Libraries/Components/StaticRenderer.js +1 -1
  52. package/Libraries/Components/StatusBar/StatusBar.js +8 -8
  53. package/Libraries/Components/Switch/Switch.js +3 -3
  54. package/Libraries/Components/TV/TVViewPropTypes.js +7 -0
  55. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -48
  56. package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
  57. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +6 -11
  58. package/Libraries/Components/TextInput/TextInput.flow.js +21 -20
  59. package/Libraries/Components/TextInput/TextInput.js +8 -4
  60. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  61. package/Libraries/Components/Touchable/Touchable.js +2 -2
  62. package/Libraries/Components/Touchable/TouchableBounce.js +4 -4
  63. package/Libraries/Components/Touchable/TouchableHighlight.js +6 -6
  64. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +7 -7
  65. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -3
  66. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
  67. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  68. package/Libraries/Components/View/ReactNativeStyleAttributes.js +68 -31
  69. package/Libraries/Components/View/View.js +6 -0
  70. package/Libraries/Components/View/ViewAccessibility.js +7 -7
  71. package/Libraries/Components/View/ViewPropTypes.js +15 -15
  72. package/Libraries/Core/Devtools/parseHermesStack.js +8 -8
  73. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
  74. package/Libraries/Core/ExceptionsManager.js +2 -2
  75. package/Libraries/Core/ExtendedError.js +3 -3
  76. package/Libraries/Core/RawEventEmitter.js +1 -1
  77. package/Libraries/Core/ReactNativeVersion.js +2 -2
  78. package/Libraries/Core/Timers/JSTimers.js +3 -2
  79. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  80. package/Libraries/Core/setUpErrorHandling.js +4 -2
  81. package/Libraries/Core/setUpReactDevTools.js +23 -6
  82. package/Libraries/Core/setUpSegmentFetcher.js +1 -1
  83. package/Libraries/Debugging/DebuggingOverlay.js +2 -2
  84. package/Libraries/EventEmitter/NativeEventEmitter.js +7 -9
  85. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
  86. package/Libraries/FBLazyVector/FBLazyVector/FBLazyIterator.h +0 -6
  87. package/Libraries/Image/AssetSourceResolver.js +1 -1
  88. package/Libraries/Image/Image.android.js +172 -306
  89. package/Libraries/Image/ImageProps.js +9 -11
  90. package/Libraries/Image/ImageSource.js +2 -2
  91. package/Libraries/Image/ImageSourceUtils.js +8 -4
  92. package/Libraries/Image/ImageTypes.flow.js +2 -2
  93. package/Libraries/Image/ImageViewNativeComponent.js +7 -16
  94. package/Libraries/Image/RCTImageUtils.mm +37 -1
  95. package/Libraries/Image/nativeImageSource.js +1 -1
  96. package/Libraries/Interaction/InteractionManager.js +5 -4
  97. package/Libraries/Interaction/PanResponder.js +1 -1
  98. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  99. package/Libraries/Linking/Linking.js +1 -1
  100. package/Libraries/Lists/FlatList.js +3 -3
  101. package/Libraries/Lists/SectionList.js +1 -1
  102. package/Libraries/Lists/SectionListModern.js +2 -2
  103. package/Libraries/LogBox/Data/LogBoxData.js +38 -24
  104. package/Libraries/LogBox/Data/LogBoxLog.js +43 -112
  105. package/Libraries/LogBox/Data/parseLogBoxLog.js +21 -117
  106. package/Libraries/LogBox/LogBox.js +42 -19
  107. package/Libraries/LogBox/LogBoxInspectorContainer.js +2 -2
  108. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  109. package/Libraries/LogBox/UI/LogBoxButton.js +28 -30
  110. package/Libraries/LogBox/UI/LogBoxInspector.js +2 -2
  111. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -9
  112. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
  113. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +1 -1
  114. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  115. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +1 -1
  116. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +10 -15
  117. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +25 -18
  118. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +5 -7
  119. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +8 -10
  120. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -6
  121. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +17 -29
  122. package/Libraries/LogBox/UI/LogBoxMessage.js +28 -37
  123. package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
  124. package/Libraries/Modal/Modal.js +3 -3
  125. package/Libraries/NativeComponent/BaseViewConfig.android.js +28 -52
  126. package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -21
  127. package/Libraries/NativeComponent/TVViewConfig.js +1 -0
  128. package/Libraries/Network/RCTHTTPRequestHandler.h +9 -0
  129. package/Libraries/Network/RCTHTTPRequestHandler.mm +15 -1
  130. package/Libraries/Network/RCTNetworking.android.js +1 -1
  131. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  132. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  133. package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +1 -1
  134. package/Libraries/Network/XMLHttpRequest.js +1 -1
  135. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  136. package/Libraries/Pressability/Pressability.js +12 -5
  137. package/Libraries/Pressability/PressabilityDebug.js +1 -1
  138. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
  139. package/Libraries/Pressability/usePressability.js +3 -14
  140. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  141. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +11 -21
  142. package/Libraries/ReactNative/AppContainer-dev.js +18 -1
  143. package/Libraries/ReactNative/AppContainer.js +1 -1
  144. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  145. package/Libraries/ReactNative/AppRegistryImpl.js +2 -2
  146. package/Libraries/ReactNative/FabricUIManager.js +1 -1
  147. package/Libraries/ReactNative/RendererImplementation.js +4 -4
  148. package/Libraries/ReactNative/UIManagerProperties.js +1 -1
  149. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +3 -2
  150. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -2
  151. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -2
  152. package/Libraries/Renderer/shims/ReactFabric.js +1 -3
  153. package/Libraries/Renderer/shims/ReactFeatureFlags.js +1 -3
  154. package/Libraries/Renderer/shims/ReactNative.js +3 -2
  155. package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -3
  156. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
  157. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +1 -3
  158. package/Libraries/StyleSheet/PointPropType.js +1 -1
  159. package/Libraries/StyleSheet/Rect.js +1 -1
  160. package/Libraries/StyleSheet/StyleSheet.d.ts +0 -5
  161. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  162. package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
  163. package/Libraries/StyleSheet/StyleSheetExports.js +16 -25
  164. package/Libraries/StyleSheet/StyleSheetExports.js.flow +2 -7
  165. package/Libraries/StyleSheet/StyleSheetTypes.js +33 -36
  166. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +5 -5
  167. package/Libraries/StyleSheet/private/_TransformStyle.js +7 -7
  168. package/Libraries/StyleSheet/processBackgroundImage.js +7 -7
  169. package/Libraries/StyleSheet/processBackgroundPosition.js +4 -4
  170. package/Libraries/StyleSheet/processBackgroundRepeat.js +4 -4
  171. package/Libraries/StyleSheet/processBackgroundSize.js +4 -4
  172. package/Libraries/StyleSheet/processBoxShadow.js +44 -4
  173. package/Libraries/StyleSheet/processColorArray.js +2 -2
  174. package/Libraries/StyleSheet/processFilter.js +2 -2
  175. package/Libraries/Text/Text/RCTDynamicTypeRamp.mm +5 -4
  176. package/Libraries/Text/Text.js +295 -627
  177. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +7 -1
  178. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +14 -12
  179. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +1 -1
  180. package/Libraries/Text/TextNativeComponent.js +14 -7
  181. package/Libraries/Text/TextProps.js +4 -4
  182. package/Libraries/Types/CodegenTypes.js +1 -1
  183. package/Libraries/Types/CoreEventTypes.js +21 -21
  184. package/Libraries/Types/ReactDevToolsTypes.js +2 -2
  185. package/Libraries/Utilities/Appearance.js +6 -1
  186. package/Libraries/Utilities/Dimensions.js +1 -1
  187. package/Libraries/Utilities/HMRClient.js +4 -4
  188. package/Libraries/Utilities/IPerformanceLogger.js +4 -4
  189. package/Libraries/Utilities/codegenNativeCommands.js +4 -4
  190. package/Libraries/Utilities/codegenNativeComponent.d.ts +2 -0
  191. package/Libraries/Utilities/codegenNativeComponent.js +2 -2
  192. package/Libraries/Utilities/logError.js +1 -1
  193. package/Libraries/Utilities/stringifySafe.js +3 -3
  194. package/Libraries/Utilities/useMergeRefs.js +2 -2
  195. package/Libraries/WebSocket/RCTReconnectingWebSocket.m +4 -1
  196. package/Libraries/vendor/core/ErrorUtils.js +4 -4
  197. package/Libraries/vendor/emitter/EventEmitter.js +16 -20
  198. package/README.md +52 -0
  199. package/React/Base/RCTBridge.mm +1 -1
  200. package/React/Base/RCTBundleURLProvider.mm +29 -8
  201. package/React/Base/RCTConvert.mm +3 -18
  202. package/React/Base/RCTDefines.h +7 -8
  203. package/React/Base/RCTDevSupportHttpHeaders.h +24 -0
  204. package/React/Base/RCTDevSupportHttpHeaders.m +65 -0
  205. package/React/Base/RCTJavaScriptLoader.h +1 -0
  206. package/React/Base/RCTJavaScriptLoader.mm +6 -2
  207. package/React/Base/RCTMultipartDataTask.h +9 -0
  208. package/React/Base/RCTMultipartDataTask.m +19 -1
  209. package/React/Base/RCTTVColorSupport.h +17 -0
  210. package/React/Base/RCTTVColorSupport.mm +23 -0
  211. package/React/Base/RCTUtils.mm +15 -6
  212. package/React/Base/RCTVersion.m +2 -2
  213. package/React/CoreModules/RCTActionSheetManager.mm +28 -3
  214. package/React/CoreModules/RCTClipboard.mm +5 -5
  215. package/React/CoreModules/RCTDevLoadingView.mm +1 -1
  216. package/React/CoreModules/RCTDevSettings.mm +8 -0
  217. package/React/CoreModules/RCTDeviceInfo.mm +4 -3
  218. package/React/CoreModules/RCTKeyboardObserver.mm +9 -2
  219. package/React/CoreModules/RCTLogBoxView.mm +4 -8
  220. package/React/CoreModules/RCTPerfMonitor.mm +5 -0
  221. package/React/CoreModules/RCTStatusBarManager.h +2 -0
  222. package/React/CoreModules/RCTWebSocketModule.h +6 -0
  223. package/React/CoreModules/RCTWebSocketModule.mm +14 -1
  224. package/React/DevSupport/RCTInspectorDevServerHelper.mm +33 -22
  225. package/React/DevSupport/RCTInspectorNetworkHelper.mm +2 -0
  226. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +66 -79
  227. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.cpp +8 -8
  228. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +1 -1
  229. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +2 -2
  230. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm +4 -0
  231. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +6 -0
  232. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +8 -4
  233. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.h +2 -0
  234. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +81 -0
  235. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +16 -4
  236. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +145 -8
  237. package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +10 -5
  238. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +13 -0
  239. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +9 -13
  240. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.h +2 -0
  241. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +2 -0
  242. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +2 -0
  243. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +42 -4
  244. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.h +2 -1
  245. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +92 -163
  246. package/React/Fabric/Mounting/RCTMountingManager.mm +8 -3
  247. package/React/Fabric/RCTScheduler.h +2 -0
  248. package/React/Fabric/RCTScheduler.mm +57 -0
  249. package/React/Fabric/RCTSurfacePointerHandler.mm +15 -9
  250. package/React/Fabric/RCTSurfacePresenter.mm +9 -0
  251. package/React/Fabric/RCTSurfaceTouchHandler.mm +4 -2
  252. package/React/Fabric/Surface/RCTFabricSurface.mm +4 -0
  253. package/React/Fabric/Utils/RCTLinearGradient.mm +4 -9
  254. package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +5 -1
  255. package/React/Modules/RCTLayoutAnimation.m +10 -0
  256. package/React/Modules/RCTUIManager.mm +2 -4
  257. package/React/Profiler/RCTProfile.m +2 -0
  258. package/React/React-RCTFabric.podspec +3 -0
  259. package/React/Views/RCTView.m +6 -1
  260. package/React/Views/ScrollView/RCTScrollViewManager.m +1 -0
  261. package/React-Core-prebuilt.podspec +1 -1
  262. package/ReactAndroid/api/ReactAndroid.api +120 -298
  263. package/ReactAndroid/build.gradle.kts +9 -0
  264. package/ReactAndroid/gradle.properties +1 -1
  265. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +11 -101
  266. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.kt +2 -2
  267. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +10 -10
  268. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimationDriver.kt +1 -3
  269. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +11 -11
  270. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +11 -11
  271. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +0 -26
  272. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +12 -0
  273. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +11 -1
  274. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +5 -5
  275. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +5 -5
  276. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.kt +19 -19
  277. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +5 -1
  278. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.kt +9 -4
  279. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +15 -15
  280. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.kt +8 -6
  281. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +3 -1
  282. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +10 -0
  283. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ScrollEndedListener.kt +70 -0
  284. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.kt +4 -0
  285. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +4 -4
  286. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +36 -34
  287. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +14 -9
  288. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +2 -8
  289. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +3 -2
  290. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +17 -13
  291. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +5 -5
  292. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.kt +10 -19
  293. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxContentView.kt +2 -2
  294. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/DevSupportHttpClient.kt +74 -0
  295. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +2 -3
  296. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +110 -80
  297. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +1 -12
  298. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.kt +1 -1
  299. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevLoadingViewManager.kt +1 -1
  300. package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +87 -0
  301. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +36 -7
  302. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +16 -2
  303. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +3 -0
  304. package/ReactAndroid/src/main/java/com/facebook/react/fabric/LongStreamingStats.kt +2 -2
  305. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.kt +6 -6
  306. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +2 -2
  307. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +0 -29
  308. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +2 -8
  309. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +1258 -0
  310. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/FabricNameComponentMapping.kt +1 -0
  311. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.kt +2 -2
  312. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +1 -1
  313. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +1 -1
  314. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +37 -55
  315. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +66 -96
  316. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +14 -20
  317. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +15 -21
  318. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +74 -107
  319. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +5 -1
  320. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +14 -20
  321. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +1 -15
  322. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +2 -2
  323. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +4 -10
  324. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +1 -1
  325. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +4 -2
  326. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +4 -1
  327. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +45 -74
  328. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +17 -13
  329. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressRequestBody.kt +2 -5
  330. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +1 -1
  331. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  332. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +3 -4
  333. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.kt +2 -1
  334. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.kt +2 -8
  335. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.kt +2 -0
  336. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +9 -3
  337. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +8 -8
  338. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +12 -12
  339. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +2 -2
  340. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +13 -7
  341. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +14 -14
  342. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +14 -6
  343. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +42 -28
  344. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +8 -49
  345. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +11 -8
  346. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.kt +17 -0
  347. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +13 -8
  348. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.kt +751 -0
  349. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +104 -781
  350. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.kt +18 -0
  351. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +7 -9
  352. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +7 -31
  353. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactZIndexedViewGroup.kt +11 -1
  354. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +4 -0
  355. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +1 -4
  356. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +103 -759
  357. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +14 -38
  358. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +41 -170
  359. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +33 -962
  360. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +2 -0
  361. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt +22 -0
  362. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +15 -0
  363. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +1 -6
  364. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +2 -9
  365. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +12 -1
  366. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +1 -16
  367. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +0 -33
  368. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +27 -0
  369. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundPosition.kt +20 -0
  370. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundRepeat.kt +27 -0
  371. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundSize.kt +50 -0
  372. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderColors.kt +33 -0
  373. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +25 -1
  374. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +46 -2
  375. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderStyle.kt +14 -0
  376. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +23 -1
  377. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +45 -7
  378. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +40 -2
  379. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +21 -1
  380. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +16 -0
  381. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +34 -0
  382. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LogicalEdge.kt +33 -1
  383. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/OutlineStyle.kt +17 -0
  384. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Overflow.kt +15 -0
  385. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/RadialGradient.kt +42 -0
  386. package/ReactAndroid/src/main/java/com/facebook/react/views/common/UiModeUtils.kt +20 -0
  387. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +1 -2
  388. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +9 -10
  389. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +1 -1
  390. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +6 -5
  391. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +132 -16
  392. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +17 -0
  393. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +1647 -0
  394. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollViewManager.kt +466 -0
  395. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +104 -10
  396. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +71 -9
  397. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +17 -0
  398. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainer.kt +2 -35
  399. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateClassic.kt +7 -30
  400. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +20 -41
  401. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/generate-nested-scroll-view.js +270 -0
  402. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +1 -1
  403. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +1 -1
  404. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt +7 -7
  405. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayout.kt +2 -0
  406. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +39 -17
  407. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextViewManager.kt +4 -3
  408. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.kt +4 -65
  409. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +86 -111
  410. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +6 -0
  411. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +243 -20
  412. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +1 -2
  413. package/ReactAndroid/src/main/java/com/facebook/react/views/text/SelectableTextViewManager.kt +29 -0
  414. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.kt +1 -2
  415. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +54 -77
  416. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/DrawCommandSpan.kt +27 -0
  417. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.kt +1 -1
  418. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactLinkSpan.kt +10 -3
  419. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +2 -75
  420. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.kt +8 -0
  421. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextContentSizeWatcher.kt +1 -1
  422. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +5 -38
  423. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputTextWatcher.kt +3 -2
  424. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextScrollWatcher.kt +1 -1
  425. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
  426. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ImportantForInteractionHelper.kt +55 -0
  427. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +19 -60
  428. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +7 -4
  429. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +150 -296
  430. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualViewManager.kt +11 -13
  431. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.kt +2 -2
  432. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.kt +64 -0
  433. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +4 -4
  434. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDirection.kt +29 -0
  435. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.kt +1 -1
  436. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.kt +244 -0
  437. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +1 -1
  438. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.kt +183 -0
  439. package/ReactAndroid/src/main/jni/CMakeLists.txt +6 -0
  440. package/ReactAndroid/src/main/jni/react/fabric/AndroidAnimationChoreographer.h +38 -0
  441. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +4 -4
  442. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +7 -0
  443. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +2 -0
  444. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +50 -2
  445. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +11 -0
  446. package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.cpp +23 -0
  447. package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.h +37 -0
  448. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +2 -1
  449. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +89 -131
  450. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +19 -28
  451. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +0 -1
  452. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +1 -1
  453. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -7
  454. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +24 -60
  455. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +12 -28
  456. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +13 -6
  457. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +2 -1
  458. package/{ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.cpp → ReactAndroid/src/main/jni/react/uimanager/StateWrapper.h} +7 -2
  459. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
  460. package/ReactAndroid/src/main/res/views/uimanager/values-ne/strings.xml +2 -0
  461. package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.mm +8 -1
  462. package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +1 -1
  463. package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -2
  464. package/ReactCommon/React-Fabric.podspec +5 -6
  465. package/ReactCommon/React-FabricComponents.podspec +6 -8
  466. package/ReactCommon/cxxreact/ReactNativeVersion.h +8 -6
  467. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +1 -1
  468. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.cpp +25 -16
  469. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.h +1 -1
  470. package/ReactCommon/jsinspector-modern/HostAgent.cpp +10 -30
  471. package/ReactCommon/jsinspector-modern/HostAgent.h +4 -11
  472. package/ReactCommon/jsinspector-modern/HostTarget.cpp +33 -33
  473. package/ReactCommon/jsinspector-modern/HostTarget.h +23 -24
  474. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +1 -2
  475. package/ReactCommon/jsinspector-modern/HostTargetTracing.h +89 -0
  476. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +4 -9
  477. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +0 -1
  478. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +164 -54
  479. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +39 -4
  480. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +12 -3
  481. package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +13 -0
  482. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +6 -0
  483. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +34 -18
  484. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +19 -0
  485. package/ReactCommon/jsinspector-modern/RuntimeTargetDebuggerSessionObserver.cpp +6 -95
  486. package/ReactCommon/jsinspector-modern/RuntimeTargetGlobalStateObserver.cpp +122 -0
  487. package/ReactCommon/jsinspector-modern/RuntimeTargetGlobalStateObserver.h +42 -0
  488. package/ReactCommon/jsinspector-modern/RuntimeTargetTracingStateObserver.cpp +27 -0
  489. package/ReactCommon/jsinspector-modern/RuntimeTargetTracingStateObserver.h +27 -0
  490. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +7 -45
  491. package/ReactCommon/jsinspector-modern/TracingAgent.h +0 -11
  492. package/ReactCommon/jsinspector-modern/UniqueMonostate.h +0 -4
  493. package/ReactCommon/jsinspector-modern/WeakList.h +60 -1
  494. package/ReactCommon/jsinspector-modern/network/NetworkHandler.cpp +25 -21
  495. package/ReactCommon/jsinspector-modern/network/NetworkHandler.h +21 -15
  496. package/ReactCommon/jsinspector-modern/tests/GmockHelpers.h +1 -1
  497. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +3 -3
  498. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionMultiSessionTest.cpp +692 -0
  499. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +10 -123
  500. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.h +140 -0
  501. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +158 -6
  502. package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +34 -0
  503. package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +223 -4
  504. package/ReactCommon/jsinspector-modern/tests/WeakListTest.cpp +31 -1
  505. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestHermesEngineAdapter.cpp +1 -1
  506. package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +6 -9
  507. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +4 -6
  508. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +6 -17
  509. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +4 -5
  510. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +27 -39
  511. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +32 -47
  512. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +153 -207
  513. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +18 -24
  514. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +26 -38
  515. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +56 -83
  516. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +9 -1
  517. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +9 -12
  518. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +3 -1
  519. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
  520. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +10 -4
  521. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -0
  522. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +32 -0
  523. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.h +2 -0
  524. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +32 -47
  525. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +14 -20
  526. package/ReactCommon/react/renderer/animated/AnimatedModule.h +1 -1
  527. package/ReactCommon/react/renderer/animated/CMakeLists.txt +0 -1
  528. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +108 -151
  529. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +16 -11
  530. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +80 -86
  531. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.h +0 -1
  532. package/ReactCommon/react/renderer/animated/event_drivers/EventAnimationDriver.h +0 -1
  533. package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.h +0 -2
  534. package/ReactCommon/react/renderer/animated/internal/NativeAnimatedAllowlist.h +2 -2
  535. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +32 -4
  536. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +6 -0
  537. package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +14 -21
  538. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +3 -1
  539. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +6 -3
  540. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +125 -63
  541. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +33 -33
  542. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.cpp +18 -8
  543. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +1 -1
  544. package/ReactCommon/react/renderer/animationbackend/AnimationChoreographer.h +39 -0
  545. package/ReactCommon/react/renderer/animationbackend/CMakeLists.txt +0 -1
  546. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1 -2
  547. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
  548. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.cpp +0 -6
  549. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +0 -1
  550. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +0 -4
  551. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +0 -1
  552. package/ReactCommon/react/renderer/attributedstring/conversions.h +60 -0
  553. package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +3 -5
  554. package/ReactCommon/react/renderer/components/image/ImageProps.h +1 -1
  555. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{LegacyViewManagerInteropComponentDescriptor.mm → platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm} +1 -1
  556. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{LegacyViewManagerInteropState.mm → platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.mm} +1 -1
  557. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +1 -1
  558. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.cpp +20 -0
  559. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.h +2 -0
  560. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +1 -1
  561. package/ReactCommon/react/renderer/components/scrollview/conversions.h +6 -0
  562. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.cpp +18 -1
  563. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.h +2 -0
  564. package/ReactCommon/react/renderer/components/scrollview/primitives.h +2 -11
  565. package/ReactCommon/react/renderer/components/scrollview/tests/ScrollViewTest.cpp +83 -3
  566. package/ReactCommon/react/renderer/components/text/BaseParagraphComponentDescriptor.h +49 -0
  567. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +14 -14
  568. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +3 -28
  569. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +10 -10
  570. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +4 -4
  571. package/ReactCommon/react/renderer/components/text/SelectableParagraphComponentDescriptor.h +24 -0
  572. package/ReactCommon/react/renderer/components/text/SelectableParagraphShadowNode.h +32 -0
  573. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.cpp +1 -1
  574. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.cpp +1 -1
  575. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +2 -2
  576. package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +13 -1
  577. package/ReactCommon/react/renderer/components/textinput/TextInputEventEmitter.cpp +2 -1
  578. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +2 -21
  579. package/ReactCommon/react/renderer/components/view/BackgroundImagePropsConversions.cpp +15 -24
  580. package/ReactCommon/react/renderer/components/view/BaseTouch.h +7 -7
  581. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +11 -1
  582. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +4 -0
  583. package/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h +0 -3
  584. package/ReactCommon/react/renderer/components/view/FilterPropsConversions.h +57 -53
  585. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +1 -0
  586. package/ReactCommon/react/renderer/components/view/conversions.h +250 -2
  587. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +19 -63
  588. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +1 -0
  589. package/ReactCommon/react/renderer/components/view/primitives.h +3 -86
  590. package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +215 -0
  591. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +1 -1
  592. package/ReactCommon/react/renderer/components/virtualview/VirtualViewComponentDescriptor.h +1 -1
  593. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +1 -1
  594. package/ReactCommon/react/renderer/core/EventEmitter.cpp +2 -2
  595. package/ReactCommon/react/renderer/core/EventEmitter.h +8 -8
  596. package/ReactCommon/react/renderer/core/EventPipe.h +1 -1
  597. package/ReactCommon/react/renderer/core/EventTarget.cpp +3 -3
  598. package/ReactCommon/react/renderer/core/EventTarget.h +7 -7
  599. package/ReactCommon/react/renderer/core/LayoutConstraints.h +0 -5
  600. package/ReactCommon/react/renderer/core/LayoutContext.h +0 -5
  601. package/ReactCommon/react/renderer/core/LayoutMetrics.h +0 -2
  602. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +11 -21
  603. package/ReactCommon/react/renderer/core/RawPropsKey.h +0 -1
  604. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +4 -1
  605. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +1 -7
  606. package/ReactCommon/react/renderer/core/RawPropsParser.h +2 -6
  607. package/ReactCommon/react/renderer/core/RawValue.h +1 -2
  608. package/ReactCommon/react/renderer/core/ShadowNode.cpp +33 -31
  609. package/ReactCommon/react/renderer/core/ShadowNode.h +19 -29
  610. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +6 -6
  611. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +14 -14
  612. package/ReactCommon/react/renderer/core/ShadowNodeFragment.cpp +4 -2
  613. package/ReactCommon/react/renderer/core/ShadowNodeFragment.h +2 -2
  614. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +57 -2
  615. package/ReactCommon/react/renderer/css/CSSBackgroundImage.h +112 -140
  616. package/ReactCommon/react/renderer/css/CSSColor.h +7 -8
  617. package/ReactCommon/react/renderer/css/CSSColorFunction.h +38 -39
  618. package/ReactCommon/react/renderer/css/CSSCompoundDataType.h +23 -17
  619. package/ReactCommon/react/renderer/css/CSSDataType.h +15 -10
  620. package/ReactCommon/react/renderer/css/CSSFilter.h +12 -17
  621. package/ReactCommon/react/renderer/css/CSSKeyword.h +8 -0
  622. package/ReactCommon/react/renderer/css/CSSList.h +11 -11
  623. package/ReactCommon/react/renderer/css/CSSRatio.h +4 -4
  624. package/ReactCommon/react/renderer/css/CSSShadow.h +7 -7
  625. package/ReactCommon/react/renderer/css/CSSSyntaxParser.h +10 -6
  626. package/ReactCommon/react/renderer/css/CSSTokenizer.h +2 -0
  627. package/ReactCommon/react/renderer/css/CSSTransform.h +20 -20
  628. package/ReactCommon/react/renderer/css/CSSTransformOrigin.h +4 -5
  629. package/ReactCommon/react/renderer/css/CSSValueParser.h +71 -67
  630. package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +11 -10
  631. package/ReactCommon/react/renderer/graphics/BackgroundPosition.h +0 -1
  632. package/ReactCommon/react/renderer/graphics/BackgroundRepeat.h +0 -1
  633. package/ReactCommon/react/renderer/graphics/BackgroundSize.h +0 -1
  634. package/ReactCommon/react/renderer/graphics/Filter.h +3 -2
  635. package/ReactCommon/react/renderer/graphics/LinearGradient.cpp +9 -15
  636. package/ReactCommon/react/renderer/graphics/LinearGradient.h +7 -19
  637. package/ReactCommon/react/renderer/graphics/Point.h +0 -2
  638. package/ReactCommon/react/renderer/graphics/RadialGradient.h +4 -35
  639. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
  640. package/ReactCommon/react/renderer/graphics/Rect.h +1 -9
  641. package/ReactCommon/react/renderer/graphics/RectangleCorners.h +1 -10
  642. package/ReactCommon/react/renderer/graphics/RectangleEdges.h +1 -10
  643. package/ReactCommon/react/renderer/graphics/Size.h +0 -5
  644. package/ReactCommon/react/renderer/graphics/Transform.cpp +0 -4
  645. package/ReactCommon/react/renderer/graphics/Transform.h +1 -13
  646. package/ReactCommon/react/renderer/graphics/TransformUtils.h +95 -0
  647. package/ReactCommon/react/renderer/graphics/ValueUnit.h +3 -11
  648. package/ReactCommon/react/renderer/graphics/fromRawValueShared.h +13 -1
  649. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +0 -4
  650. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +11 -12
  651. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.h +4 -3
  652. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +1 -36
  653. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequestParams.h +1 -9
  654. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageRequestParams.h +1 -9
  655. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +1 -1
  656. package/ReactCommon/react/renderer/imagemanager/primitives.h +0 -5
  657. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +51 -30
  658. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +2 -0
  659. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +21 -38
  660. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +153 -18
  661. package/ReactCommon/react/renderer/mounting/ShadowTree.h +30 -6
  662. package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +11 -0
  663. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +0 -4
  664. package/ReactCommon/react/renderer/mounting/ShadowView.h +0 -1
  665. package/ReactCommon/react/renderer/mounting/internal/DiffMap.h +170 -0
  666. package/ReactCommon/react/renderer/mounting/internal/ShadowViewNodePair.h +0 -5
  667. package/ReactCommon/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.h +3 -3
  668. package/ReactCommon/react/renderer/mounting/stubs/StubView.cpp +0 -4
  669. package/ReactCommon/react/renderer/mounting/stubs/StubView.h +0 -1
  670. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +0 -4
  671. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.h +0 -2
  672. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +6 -0
  673. package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +12 -4
  674. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +2 -1
  675. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.cpp +0 -5
  676. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.h +0 -1
  677. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +1 -1
  678. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
  679. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +28 -1
  680. package/ReactCommon/react/renderer/scheduler/Scheduler.h +2 -2
  681. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +6 -0
  682. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +7 -0
  683. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +2 -2
  684. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManagerExtended.h +18 -18
  685. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +8 -7
  686. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +5 -5
  687. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +3 -3
  688. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +4 -3
  689. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.h +1 -1
  690. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +15 -5
  691. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +2 -2
  692. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +10 -1
  693. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.cpp +1 -1
  694. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.h +1 -3
  695. package/ReactCommon/react/renderer/uimanager/PointerHoverTracker.cpp +1 -1
  696. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +68 -38
  697. package/ReactCommon/react/renderer/uimanager/UIManager.h +17 -8
  698. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +17 -5
  699. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +2 -2
  700. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +2 -2
  701. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +10 -0
  702. package/ReactCommon/react/renderer/uimanager/consistency/LazyShadowTreeRevisionConsistencyManager.cpp +19 -23
  703. package/ReactCommon/react/renderer/uimanager/consistency/LazyShadowTreeRevisionConsistencyManager.h +2 -3
  704. package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +13 -5
  705. package/ReactCommon/react/renderer/uimanager/primitives.h +16 -7
  706. package/ReactCommon/react/renderer/uimanager/tests/FindShadowNodeByTagTest.cpp +287 -0
  707. package/ReactCommon/react/runtime/TimerManager.cpp +16 -2
  708. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +11 -6
  709. package/ReactCommon/react/runtime/iostests/RCTHostTests.mm +11 -0
  710. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +17 -3
  711. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +8 -1
  712. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +8 -5
  713. package/ReactCommon/react/utils/ContextContainer.h +0 -2
  714. package/ReactCommon/yoga/yoga/YGNode.cpp +14 -0
  715. package/ReactCommon/yoga/yoga/YGValue.h +0 -4
  716. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +7 -7
  717. package/ReactCommon/yoga/yoga/enums/YogaEnums.h +0 -1
  718. package/ReactCommon/yoga/yoga/node/LayoutResults.h +0 -3
  719. package/ReactCommon/yoga/yoga/numeric/FloatOptional.h +0 -9
  720. package/ReactCommon/yoga/yoga/style/Style.h +0 -4
  721. package/flow/bom.js.flow +18 -17
  722. package/flow/dom.js.flow +12 -5
  723. package/flow/global.js +1 -1
  724. package/gradle/libs.versions.toml +1 -1
  725. package/index.js +9 -0
  726. package/index.js.flow +8 -1
  727. package/jest-preset.js +14 -18
  728. package/package.json +17 -17
  729. package/scripts/cocoapods/rncore.rb +111 -2
  730. package/scripts/cocoapods/utils.rb +2 -0
  731. package/scripts/codegen/templates/Package.swift.template +7 -0
  732. package/scripts/react_native_pods.rb +13 -6
  733. package/scripts/replace-rncore-version.js +12 -3
  734. package/sdks/.hermesv1version +1 -1
  735. package/sdks/.hermesversion +1 -1
  736. package/sdks/hermes-engine/version.properties +2 -2
  737. package/src/private/animated/NativeAnimatedHelper.js +2 -2
  738. package/src/private/animated/createAnimatedPropsMemoHook.js +19 -19
  739. package/src/private/components/virtualview/VirtualView.js +14 -21
  740. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +11 -10
  741. package/src/private/components/virtualview/VirtualViewNativeComponent.js +4 -4
  742. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +2 -2
  743. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +3 -3
  744. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +4 -4
  745. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  746. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +39 -17
  747. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +15 -3
  748. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +2 -2
  749. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -8
  750. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  751. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  752. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +102 -0
  753. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +12 -25
  754. package/src/private/devsupport/rndevtools/GlobalStateObserver.js +56 -0
  755. package/src/private/devsupport/rndevtools/TracingStateObserver.js +28 -0
  756. package/src/private/featureflags/ReactNativeFeatureFlags.js +49 -82
  757. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -2
  758. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +9 -12
  759. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
  760. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +3 -3
  761. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
  762. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  763. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
  764. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +3 -3
  765. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +1 -1
  766. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
  767. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +1 -1
  768. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +3 -3
  769. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
  770. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
  771. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
  772. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
  773. package/src/private/styles/composeStyles.js +1 -1
  774. package/src/private/utilities/toError.js +27 -0
  775. package/src/private/utilities/toExtendedError.js +30 -0
  776. package/src/private/webapis/dom/events/Event.js +1 -1
  777. package/src/private/webapis/dom/events/EventHandlerAttributes.js +2 -2
  778. package/src/private/webapis/dom/events/EventTarget.js +3 -3
  779. package/src/private/webapis/dom/events/internals/EventInternals.js +2 -2
  780. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  781. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +2 -2
  782. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +14 -14
  783. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
  784. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +1 -1
  785. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  786. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +1 -1
  787. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  788. package/src/private/webapis/geometry/DOMRectList.js.flow +1 -1
  789. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +8 -8
  790. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +6 -6
  791. package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
  792. package/src/private/webapis/mutationobserver/MutationRecord.js +2 -2
  793. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  794. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +3 -3
  795. package/src/private/webapis/performance/LongTasks.js +3 -3
  796. package/src/private/webapis/performance/Performance.js +4 -4
  797. package/src/private/webapis/performance/PerformanceEntry.js +1 -1
  798. package/src/private/webapis/performance/PerformanceObserver.js +2 -2
  799. package/src/private/webapis/performance/specs/NativePerformance.js +8 -8
  800. package/src/private/webapis/structuredClone/structuredClone.js +2 -2
  801. package/src/types/globals.d.ts +4 -4
  802. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  803. package/third-party-podspecs/fmt.podspec +2 -2
  804. package/types/index.d.ts +2 -0
  805. package/types/public/ReactNativeTVTypes.d.ts +27 -2
  806. package/Libraries/Components/View/ReactNativeViewAttributes.js +0 -60
  807. package/Libraries/Image/TextInlineImageNativeComponent.js +0 -49
  808. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.h +0 -25
  809. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.mm +0 -321
  810. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +0 -620
  811. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +0 -1411
  812. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +0 -985
  813. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +0 -403
  814. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.kt +0 -336
  815. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventEmitterImpl.kt +0 -135
  816. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +0 -81
  817. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +0 -72
  818. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.kt +0 -677
  819. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt +0 -218
  820. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.kt +0 -369
  821. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +0 -156
  822. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.kt +0 -174
  823. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +0 -54
  824. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.kt +0 -30
  825. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineImageSpan.kt +0 -58
  826. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt +0 -228
  827. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimental.kt +0 -305
  828. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimentalManager.kt +0 -110
  829. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.java +0 -62
  830. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDirection.java +0 -35
  831. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +0 -279
  832. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +0 -197
  833. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +0 -410
  834. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +0 -113
  835. package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalComponentDescriptor.h +0 -19
  836. package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalShadowNode.h +0 -38
  837. package/jest/MockNativeMethods.js +0 -27
  838. package/jest/RefreshControlMock.js +0 -32
  839. package/jest/assetFileTransformer.js +0 -33
  840. package/jest/local-setup.js +0 -29
  841. package/jest/mock.js +0 -39
  842. package/jest/mockComponent.js +0 -104
  843. package/jest/mockNativeComponent.js +0 -52
  844. package/jest/mocks/AccessibilityInfo.js +0 -62
  845. package/jest/mocks/ActivityIndicator.js +0 -23
  846. package/jest/mocks/AppState.js +0 -19
  847. package/jest/mocks/Image.js +0 -23
  848. package/jest/mocks/InitializeCore.js +0 -9
  849. package/jest/mocks/Linking.js +0 -28
  850. package/jest/mocks/Modal.js +0 -33
  851. package/jest/mocks/NativeComponentRegistry.js +0 -30
  852. package/jest/mocks/NativeModules.js +0 -239
  853. package/jest/mocks/RefreshControl.js +0 -31
  854. package/jest/mocks/RendererProxy.js +0 -45
  855. package/jest/mocks/ScrollView.js +0 -58
  856. package/jest/mocks/Text.js +0 -27
  857. package/jest/mocks/TextInput.js +0 -32
  858. package/jest/mocks/UIManager.js +0 -60
  859. package/jest/mocks/View.js +0 -27
  860. package/jest/mocks/ViewNativeComponent.js +0 -23
  861. package/jest/mocks/requireNativeComponent.js +0 -22
  862. package/jest/mocks/useColorScheme.js +0 -18
  863. package/jest/react-native-env.js +0 -17
  864. package/jest/renderer.js +0 -40
  865. package/jest/resolver.js +0 -32
  866. package/jest/setup.js +0 -140
  867. /package/React/Fabric/Mounting/ComponentViews/{VirtualViewExperimental → VirtualView}/RCTVirtualViewMode.h +0 -0
  868. /package/React/Fabric/Mounting/ComponentViews/{VirtualViewExperimental → VirtualView}/RCTVirtualViewRenderState.h +0 -0
  869. /package/ReactAndroid/src/main/java/com/facebook/react/fabric/internal/interop/{InteropUiBlockListener.kt → InteropUIBlockListener.kt} +0 -0
  870. /package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{LegacyViewManagerInteropComponentDescriptor.h → platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h} +0 -0
  871. /package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{RCTLegacyViewManagerInteropCoordinator.h → platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h} +0 -0
  872. /package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{RCTLegacyViewManagerInteropCoordinator.mm → platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm} +0 -0
  873. /package/ReactCommon/react/renderer/components/scrollview/{RCTComponentViewHelpers.h → platform/ios/react/renderer/components/scrollview/RCTComponentViewHelpers.h} +0 -0
@@ -7,38 +7,25 @@
7
7
 
8
8
  package com.facebook.react.uimanager;
9
9
 
10
- import android.os.SystemClock;
11
10
  import android.view.View;
12
- import android.view.View.MeasureSpec;
13
11
  import androidx.annotation.Nullable;
14
- import com.facebook.common.logging.FLog;
15
- import com.facebook.infer.annotation.Assertions;
16
- import com.facebook.react.bridge.Arguments;
17
12
  import com.facebook.react.bridge.Callback;
18
13
  import com.facebook.react.bridge.ReactApplicationContext;
19
14
  import com.facebook.react.bridge.ReadableArray;
20
15
  import com.facebook.react.bridge.ReadableMap;
21
- import com.facebook.react.bridge.UiThreadUtil;
22
- import com.facebook.react.bridge.WritableArray;
23
- import com.facebook.react.common.ReactConstants;
24
16
  import com.facebook.react.common.annotations.internal.LegacyArchitecture;
25
17
  import com.facebook.react.common.annotations.internal.LegacyArchitectureLogLevel;
26
18
  import com.facebook.react.common.annotations.internal.LegacyArchitectureLogger;
27
- import com.facebook.react.common.build.ReactBuildConfig;
28
- import com.facebook.react.modules.i18nmanager.I18nUtil;
29
19
  import com.facebook.react.uimanager.events.EventDispatcher;
30
- import com.facebook.systrace.Systrace;
31
- import com.facebook.systrace.SystraceMessage;
32
- import com.facebook.yoga.YogaConstants;
33
- import com.facebook.yoga.YogaDirection;
34
- import java.util.ArrayList;
35
- import java.util.Arrays;
36
- import java.util.List;
20
+ import java.util.HashMap;
37
21
  import java.util.Map;
38
22
 
39
23
  /**
40
24
  * A class that is used to receive React commands from JS and translate them into a shadow node
41
25
  * hierarchy that is then mapped to a native view hierarchy.
26
+ *
27
+ * @deprecated This class is a stub retained for backward compatibility. It is part of the Legacy
28
+ * Architecture and will be removed in a future release.
42
29
  */
43
30
  @LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR)
44
31
  @Deprecated(
@@ -49,26 +36,6 @@ public class UIImplementation {
49
36
  "UIImplementation", LegacyArchitectureLogLevel.ERROR);
50
37
  }
51
38
 
52
- protected Object uiImplementationThreadLock = new Object();
53
-
54
- protected final EventDispatcher mEventDispatcher;
55
- protected final ReactApplicationContext mReactContext;
56
- protected final ShadowNodeRegistry mShadowNodeRegistry = new ShadowNodeRegistry();
57
- private final ViewManagerRegistry mViewManagers;
58
- private final UIViewOperationQueue mOperationsQueue;
59
- private final NativeViewHierarchyOptimizer mNativeViewHierarchyOptimizer;
60
- private final int[] mMeasureBuffer = new int[4];
61
-
62
- private long mLastCalculateLayoutTime = 0;
63
- protected @Nullable LayoutUpdateListener mLayoutUpdateListener;
64
-
65
- /**
66
- * When react instance is being shutdown, there could be some pending operations queued in the JS
67
- * thread. This flag ensures view related operations are not triggered if the Catalyst instance
68
- * was destroyed.
69
- */
70
- private volatile boolean mViewOperationsEnabled = true;
71
-
72
39
  /** Interface definition for a callback to be invoked when the layout has been updated */
73
40
  public interface LayoutUpdateListener {
74
41
 
@@ -80,107 +47,67 @@ public class UIImplementation {
80
47
  ReactApplicationContext reactContext,
81
48
  ViewManagerRegistry viewManagers,
82
49
  EventDispatcher eventDispatcher,
83
- int minTimeLeftInFrameForNonBatchedOperationMs) {
84
- this(
85
- reactContext,
86
- viewManagers,
87
- new UIViewOperationQueue(
88
- reactContext,
89
- new NativeViewHierarchyManager(viewManagers),
90
- minTimeLeftInFrameForNonBatchedOperationMs),
91
- eventDispatcher);
92
- }
50
+ int minTimeLeftInFrameForNonBatchedOperationMs) {}
93
51
 
94
52
  protected UIImplementation(
95
53
  ReactApplicationContext reactContext,
96
54
  ViewManagerRegistry viewManagers,
97
55
  UIViewOperationQueue operationsQueue,
98
- EventDispatcher eventDispatcher) {
99
- mReactContext = reactContext;
100
- mViewManagers = viewManagers;
101
- mOperationsQueue = operationsQueue;
102
- mNativeViewHierarchyOptimizer =
103
- new NativeViewHierarchyOptimizer(mOperationsQueue, mShadowNodeRegistry);
104
- mEventDispatcher = eventDispatcher;
105
- }
56
+ EventDispatcher eventDispatcher) {}
106
57
 
58
+ /**
59
+ * @deprecated This method is a stub and always returns null.
60
+ */
107
61
  protected ReactShadowNode createRootShadowNode() {
108
- ReactShadowNode rootCSSNode = new ReactShadowNodeImpl();
109
- I18nUtil sharedI18nUtilInstance = I18nUtil.getInstance();
110
- if (sharedI18nUtilInstance.isRTL(mReactContext)) {
111
- rootCSSNode.setLayoutDirection(YogaDirection.RTL);
112
- }
113
- rootCSSNode.setViewClassName("Root");
114
- return rootCSSNode;
62
+ return null;
115
63
  }
116
64
 
65
+ /**
66
+ * @deprecated This method is a stub and always returns null.
67
+ */
117
68
  protected ReactShadowNode createShadowNode(String className) {
118
- ViewManager viewManager = mViewManagers.get(className);
119
- return viewManager.createShadowNodeInstance(mReactContext);
69
+ return null;
120
70
  }
121
71
 
72
+ /**
73
+ * @deprecated This method is a stub and always returns null.
74
+ */
122
75
  public final ReactShadowNode resolveShadowNode(int reactTag) {
123
- return mShadowNodeRegistry.getNode(reactTag);
76
+ return null;
124
77
  }
125
78
 
79
+ /**
80
+ * @deprecated This method is a stub and always returns null.
81
+ */
126
82
  protected final @Nullable ViewManager resolveViewManager(String className) {
127
- return mViewManagers.getViewManagerIfExists(className);
83
+ return null;
128
84
  }
129
85
 
130
86
  /*package*/ UIViewOperationQueue getUIViewOperationQueue() {
131
- return mOperationsQueue;
87
+ return null;
132
88
  }
133
89
 
134
90
  /**
135
91
  * Updates the styles of the {@link ReactShadowNode} based on the Measure specs received by
136
92
  * parameters.
137
93
  */
138
- public void updateRootView(int tag, int widthMeasureSpec, int heightMeasureSpec) {
139
- ReactShadowNode rootCSSNode = mShadowNodeRegistry.getNode(tag);
140
- if (rootCSSNode == null) {
141
- FLog.w(ReactConstants.TAG, "Tried to update non-existent root tag: " + tag);
142
- return;
143
- }
144
- updateRootView(rootCSSNode, widthMeasureSpec, heightMeasureSpec);
145
- }
94
+ public void updateRootView(int tag, int widthMeasureSpec, int heightMeasureSpec) {}
146
95
 
147
96
  /**
148
97
  * Updates the styles of the {@link ReactShadowNode} based on the Measure specs received by
149
98
  * parameters.
150
99
  */
151
100
  public void updateRootView(
152
- ReactShadowNode rootCSSNode, int widthMeasureSpec, int heightMeasureSpec) {
153
- rootCSSNode.setMeasureSpecs(widthMeasureSpec, heightMeasureSpec);
154
- }
101
+ ReactShadowNode rootCSSNode, int widthMeasureSpec, int heightMeasureSpec) {}
155
102
 
156
103
  /**
157
104
  * Registers a root node with a given tag, size and ThemedReactContext and adds it to a node
158
105
  * registry.
159
106
  */
160
- public <T extends View> void registerRootView(T rootView, int tag, ThemedReactContext context) {
161
- synchronized (uiImplementationThreadLock) {
162
- final ReactShadowNode rootCSSNode = createRootShadowNode();
163
- rootCSSNode.setReactTag(tag); // Thread safety needed here
164
- rootCSSNode.setThemedContext(context);
165
-
166
- context.runOnNativeModulesQueueThread(
167
- new Runnable() {
168
- @Override
169
- public void run() {
170
- mShadowNodeRegistry.addRootNode(rootCSSNode);
171
- }
172
- });
173
-
174
- // register it within NativeViewHierarchyManager
175
- mOperationsQueue.addRootView(tag, rootView);
176
- }
177
- }
107
+ public <T extends View> void registerRootView(T rootView, int tag, ThemedReactContext context) {}
178
108
 
179
109
  /** Unregisters a root node with a given tag. */
180
- public void removeRootView(int rootViewTag) {
181
- removeRootShadowNode(rootViewTag);
182
- mOperationsQueue.enqueueRemoveRootView(rootViewTag);
183
- }
110
+ public void removeRootView(int rootViewTag) {}
184
111
 
185
112
  /**
186
113
  * Return root view num
@@ -188,122 +115,45 @@ public class UIImplementation {
188
115
  * @return The num of root view
189
116
  */
190
117
  public int getRootViewNum() {
191
- return mOperationsQueue.getNativeViewHierarchyManager().getRootViewNum();
118
+ return 0;
192
119
  }
193
120
 
194
121
  /** Unregisters a root node with a given tag from the shadow node registry */
195
- public void removeRootShadowNode(int rootViewTag) {
196
- synchronized (uiImplementationThreadLock) {
197
- mShadowNodeRegistry.removeRootNode(rootViewTag); // Thread safety needed here
198
- }
199
- }
122
+ public void removeRootShadowNode(int rootViewTag) {}
200
123
 
201
124
  /**
202
125
  * Invoked when native view that corresponds to a root node, or acts as a root view (ie. Modals)
203
126
  * has its size changed.
204
127
  */
205
- public void updateNodeSize(int nodeViewTag, int newWidth, int newHeight) {
206
- ReactShadowNode cssNode = mShadowNodeRegistry.getNode(nodeViewTag);
207
- if (cssNode == null) {
208
- FLog.w(ReactConstants.TAG, "Tried to update size of non-existent tag: " + nodeViewTag);
209
- return;
210
- }
211
- cssNode.setStyleWidth(newWidth);
212
- cssNode.setStyleHeight(newHeight);
213
-
214
- dispatchViewUpdatesIfNeeded();
215
- }
216
-
217
- public void updateInsetsPadding(int nodeViewTag, int top, int left, int bottom, int right) {
218
- ReactShadowNode cssNode = mShadowNodeRegistry.getNode(nodeViewTag);
219
- if (cssNode == null) {
220
- FLog.w(ReactConstants.TAG, "Tried to update size of non-existent tag: " + nodeViewTag);
221
- return;
222
- }
223
- cssNode.setPadding(Spacing.START, (float) left);
224
- cssNode.setPadding(Spacing.TOP, (float) top);
225
- cssNode.setPadding(Spacing.END, (float) right);
226
- cssNode.setPadding(Spacing.BOTTOM, (float) bottom);
227
-
228
- dispatchViewUpdatesIfNeeded();
229
- }
230
-
231
- public void setViewLocalData(int tag, Object data) {
232
- ReactShadowNode shadowNode = mShadowNodeRegistry.getNode(tag);
233
-
234
- if (shadowNode == null) {
235
- FLog.w(ReactConstants.TAG, "Attempt to set local data for view with unknown tag: " + tag);
236
- return;
237
- }
128
+ public void updateNodeSize(int nodeViewTag, int newWidth, int newHeight) {}
238
129
 
239
- shadowNode.setLocalData(data);
130
+ /** Updates the insets padding for a given view. */
131
+ public void updateInsetsPadding(int nodeViewTag, int top, int left, int bottom, int right) {}
240
132
 
241
- dispatchViewUpdatesIfNeeded();
242
- }
133
+ /** Sets local data for a shadow node. */
134
+ public void setViewLocalData(int tag, Object data) {}
243
135
 
244
- public void profileNextBatch() {
245
- mOperationsQueue.profileNextBatch();
246
- }
136
+ /** Profiles the next batch of operations. */
137
+ public void profileNextBatch() {}
247
138
 
139
+ /**
140
+ * Returns profiled batch performance counters.
141
+ *
142
+ * @return an empty map (stub)
143
+ */
248
144
  public Map<String, Long> getProfiledBatchPerfCounters() {
249
- return mOperationsQueue.getProfiledBatchPerfCounters();
145
+ return new HashMap<>();
250
146
  }
251
147
 
252
148
  /** Invoked by React to create a new node with a given tag, class name and properties. */
253
- public void createView(int tag, String className, int rootViewTag, ReadableMap props) {
254
- if (!mViewOperationsEnabled) {
255
- return;
256
- }
257
-
258
- synchronized (uiImplementationThreadLock) {
259
- ReactShadowNode cssNode = createShadowNode(className);
260
- ReactShadowNode rootNode = mShadowNodeRegistry.getNode(rootViewTag);
261
- Assertions.assertNotNull(rootNode, "Root node with tag " + rootViewTag + " doesn't exist");
262
- cssNode.setReactTag(tag); // Thread safety needed here
263
- cssNode.setViewClassName(className);
264
- cssNode.setRootTag(rootNode.getReactTag());
265
- cssNode.setThemedContext(rootNode.getThemedContext());
266
-
267
- mShadowNodeRegistry.addNode(cssNode);
268
-
269
- ReactStylesDiffMap styles = null;
270
- if (props != null) {
271
- styles = new ReactStylesDiffMap(props);
272
- cssNode.updateProperties(styles);
273
- }
274
-
275
- handleCreateView(cssNode, rootViewTag, styles);
276
- }
277
- }
149
+ public void createView(int tag, String className, int rootViewTag, ReadableMap props) {}
278
150
 
151
+ /** Handles the creation of a view from a shadow node. */
279
152
  protected void handleCreateView(
280
- ReactShadowNode cssNode, int rootViewTag, @Nullable ReactStylesDiffMap styles) {
281
- if (!cssNode.isVirtual()) {
282
- mNativeViewHierarchyOptimizer.handleCreateView(cssNode, cssNode.getThemedContext(), styles);
283
- }
284
- }
153
+ ReactShadowNode cssNode, int rootViewTag, @Nullable ReactStylesDiffMap styles) {}
285
154
 
286
155
  /** Invoked by React to create a new node with a given tag has its properties changed. */
287
- public void updateView(int tag, String className, ReadableMap props) {
288
- if (!mViewOperationsEnabled) {
289
- return;
290
- }
291
-
292
- ViewManager viewManager = mViewManagers.get(className);
293
- if (viewManager == null) {
294
- throw new IllegalViewOperationException("Got unknown view type: " + className);
295
- }
296
- ReactShadowNode cssNode = mShadowNodeRegistry.getNode(tag);
297
- if (cssNode == null) {
298
- throw new IllegalViewOperationException("Trying to update non-existent view with tag " + tag);
299
- }
300
-
301
- if (props != null) {
302
- ReactStylesDiffMap styles = new ReactStylesDiffMap(props);
303
- cssNode.updateProperties(styles);
304
- handleUpdateView(cssNode, className, styles);
305
- }
306
- }
156
+ public void updateView(int tag, String className, ReadableMap props) {}
307
157
 
308
158
  /**
309
159
  * Used by native animated module to bypass the process of updating the values through the shadow
@@ -311,26 +161,21 @@ public class UIImplementation {
311
161
  * layout-related propertied won't be handled properly. Make sure you know what you're doing
312
162
  * before calling this method :)
313
163
  */
314
- public void synchronouslyUpdateViewOnUIThread(int tag, ReactStylesDiffMap props) {
315
- UiThreadUtil.assertOnUiThread();
316
- mOperationsQueue.getNativeViewHierarchyManager().updateProperties(tag, props);
317
- }
164
+ public void synchronouslyUpdateViewOnUIThread(int tag, ReactStylesDiffMap props) {}
318
165
 
166
+ /** Handles the update of a view from a shadow node. */
319
167
  protected void handleUpdateView(
320
- ReactShadowNode cssNode, String className, ReactStylesDiffMap styles) {
321
- if (!cssNode.isVirtual()) {
322
- mNativeViewHierarchyOptimizer.handleUpdateView(cssNode, className, styles);
323
- }
324
- }
168
+ ReactShadowNode cssNode, String className, ReactStylesDiffMap styles) {}
325
169
 
326
170
  /**
327
171
  * Invoked when there is a mutation in a node tree.
328
172
  *
329
- * @param tag react tag of the node we want to manage
330
- * @param indicesToRemove ordered (asc) list of indices at which view should be removed
331
- * @param viewsToAdd ordered (asc based on mIndex property) list of tag-index pairs that represent
332
- * a view which should be added at the specified index
333
- * @param tagsToDelete list of tags corresponding to views that should be removed
173
+ * @param viewTag react tag of the node we want to manage
174
+ * @param moveFrom ordered list of move-from indices
175
+ * @param moveTo ordered list of move-to indices
176
+ * @param addChildTags tags of views to add
177
+ * @param addAtIndices indices at which to add the views
178
+ * @param removeFrom indices from which to remove views
334
179
  */
335
180
  public void manageChildren(
336
181
  int viewTag,
@@ -338,108 +183,7 @@ public class UIImplementation {
338
183
  @Nullable ReadableArray moveTo,
339
184
  @Nullable ReadableArray addChildTags,
340
185
  @Nullable ReadableArray addAtIndices,
341
- @Nullable ReadableArray removeFrom) {
342
- if (!mViewOperationsEnabled) {
343
- return;
344
- }
345
-
346
- synchronized (uiImplementationThreadLock) {
347
- ReactShadowNode cssNodeToManage = mShadowNodeRegistry.getNode(viewTag);
348
-
349
- int numToMove = moveFrom == null ? 0 : moveFrom.size();
350
- int numToAdd = addChildTags == null ? 0 : addChildTags.size();
351
- int numToRemove = removeFrom == null ? 0 : removeFrom.size();
352
-
353
- if (numToMove != 0 && (moveTo == null || numToMove != moveTo.size())) {
354
- throw new IllegalViewOperationException("Size of moveFrom != size of moveTo!");
355
- }
356
-
357
- if (numToAdd != 0 && (addAtIndices == null || numToAdd != addAtIndices.size())) {
358
- throw new IllegalViewOperationException("Size of addChildTags != size of addAtIndices!");
359
- }
360
-
361
- // We treat moves as an add and a delete
362
- ViewAtIndex[] viewsToAdd = new ViewAtIndex[numToMove + numToAdd];
363
- int[] indicesToRemove = new int[numToMove + numToRemove];
364
- int[] tagsToRemove = new int[indicesToRemove.length];
365
- int[] tagsToDelete = new int[numToRemove];
366
-
367
- if (numToMove > 0) {
368
- Assertions.assertNotNull(moveFrom);
369
- Assertions.assertNotNull(moveTo);
370
- for (int i = 0; i < numToMove; i++) {
371
- int moveFromIndex = moveFrom.getInt(i);
372
- int tagToMove = cssNodeToManage.getChildAt(moveFromIndex).getReactTag();
373
- viewsToAdd[i] = new ViewAtIndex(tagToMove, moveTo.getInt(i));
374
- indicesToRemove[i] = moveFromIndex;
375
- tagsToRemove[i] = tagToMove;
376
- }
377
- }
378
-
379
- if (numToAdd > 0) {
380
- Assertions.assertNotNull(addChildTags);
381
- Assertions.assertNotNull(addAtIndices);
382
- for (int i = 0; i < numToAdd; i++) {
383
- int viewTagToAdd = addChildTags.getInt(i);
384
- int indexToAddAt = addAtIndices.getInt(i);
385
- viewsToAdd[numToMove + i] = new ViewAtIndex(viewTagToAdd, indexToAddAt);
386
- }
387
- }
388
-
389
- if (numToRemove > 0) {
390
- Assertions.assertNotNull(removeFrom);
391
- for (int i = 0; i < numToRemove; i++) {
392
- int indexToRemove = removeFrom.getInt(i);
393
- int tagToRemove = cssNodeToManage.getChildAt(indexToRemove).getReactTag();
394
- indicesToRemove[numToMove + i] = indexToRemove;
395
- tagsToRemove[numToMove + i] = tagToRemove;
396
- tagsToDelete[i] = tagToRemove;
397
- }
398
- }
399
-
400
- // NB: moveFrom and removeFrom are both relative to the starting state of the View's children.
401
- // moveTo and addAt are both relative to the final state of the View's children.
402
- //
403
- // 1) Sort the views to add and indices to remove by index
404
- // 2) Iterate the indices being removed from high to low and remove them. Going high to low
405
- // makes sure we remove the correct index when there are multiple to remove.
406
- // 3) Iterate the views being added by index low to high and add them. Like the view removal,
407
- // iteration direction is important to preserve the correct index.
408
-
409
- Arrays.sort(viewsToAdd, ViewAtIndex.COMPARATOR);
410
- Arrays.sort(indicesToRemove);
411
-
412
- // Apply changes to CSSNodeDEPRECATED hierarchy
413
- int lastIndexRemoved = -1;
414
- for (int i = indicesToRemove.length - 1; i >= 0; i--) {
415
- int indexToRemove = indicesToRemove[i];
416
- if (indexToRemove == lastIndexRemoved) {
417
- throw new IllegalViewOperationException(
418
- "Repeated indices in Removal list for view tag: " + viewTag);
419
- }
420
- cssNodeToManage.removeChildAt(indicesToRemove[i]); // Thread safety needed here
421
-
422
- lastIndexRemoved = indicesToRemove[i];
423
- }
424
-
425
- for (int i = 0; i < viewsToAdd.length; i++) {
426
- ViewAtIndex viewAtIndex = viewsToAdd[i];
427
- ReactShadowNode cssNodeToAdd = mShadowNodeRegistry.getNode(viewAtIndex.mTag);
428
- if (cssNodeToAdd == null) {
429
- throw new IllegalViewOperationException(
430
- "Trying to add unknown view tag: " + viewAtIndex.mTag);
431
- }
432
- cssNodeToManage.addChildAt(cssNodeToAdd, viewAtIndex.mIndex);
433
- }
434
-
435
- mNativeViewHierarchyOptimizer.handleManageChildren(
436
- cssNodeToManage, indicesToRemove, tagsToRemove, viewsToAdd, tagsToDelete);
437
-
438
- for (int i = 0; i < tagsToDelete.length; i++) {
439
- removeShadowNode(mShadowNodeRegistry.getNode(tagsToDelete[i]));
440
- }
441
- }
442
- }
186
+ @Nullable ReadableArray removeFrom) {}
443
187
 
444
188
  /**
445
189
  * An optimized version of manageChildren that is used for initial setting of child views. The
@@ -448,61 +192,12 @@ public class UIImplementation {
448
192
  * @param viewTag tag of the parent
449
193
  * @param childrenTags tags of the children
450
194
  */
451
- public void setChildren(int viewTag, ReadableArray childrenTags) {
452
- if (!mViewOperationsEnabled) {
453
- return;
454
- }
455
-
456
- synchronized (uiImplementationThreadLock) {
457
- ReactShadowNode cssNodeToManage = mShadowNodeRegistry.getNode(viewTag);
458
-
459
- for (int i = 0; i < childrenTags.size(); i++) {
460
- ReactShadowNode cssNodeToAdd = mShadowNodeRegistry.getNode(childrenTags.getInt(i));
461
- if (cssNodeToAdd == null) {
462
- throw new IllegalViewOperationException(
463
- "Trying to add unknown view tag: " + childrenTags.getInt(i));
464
- }
465
- cssNodeToManage.addChildAt(cssNodeToAdd, i);
466
- }
467
-
468
- mNativeViewHierarchyOptimizer.handleSetChildren(cssNodeToManage, childrenTags);
469
- }
470
- }
195
+ public void setChildren(int viewTag, ReadableArray childrenTags) {}
471
196
 
472
197
  /**
473
198
  * Replaces the View specified by oldTag with the View specified by newTag within oldTag's parent.
474
199
  */
475
- public void replaceExistingNonRootView(int oldTag, int newTag) {
476
- if (mShadowNodeRegistry.isRootNode(oldTag) || mShadowNodeRegistry.isRootNode(newTag)) {
477
- throw new IllegalViewOperationException("Trying to add or replace a root tag!");
478
- }
479
-
480
- ReactShadowNode oldNode = mShadowNodeRegistry.getNode(oldTag);
481
- if (oldNode == null) {
482
- throw new IllegalViewOperationException("Trying to replace unknown view tag: " + oldTag);
483
- }
484
-
485
- ReactShadowNode parent = oldNode.getParent();
486
- if (parent == null) {
487
- throw new IllegalViewOperationException("Node is not attached to a parent: " + oldTag);
488
- }
489
-
490
- int oldIndex = parent.indexOf(oldNode);
491
- if (oldIndex < 0) {
492
- throw new IllegalStateException("Didn't find child tag in parent");
493
- }
494
-
495
- WritableArray tagsToAdd = Arguments.createArray();
496
- tagsToAdd.pushInt(newTag);
497
-
498
- WritableArray addAtIndices = Arguments.createArray();
499
- addAtIndices.pushInt(oldIndex);
500
-
501
- WritableArray indicesToRemove = Arguments.createArray();
502
- indicesToRemove.pushInt(oldIndex);
503
-
504
- manageChildren(parent.getReactTag(), null, null, tagsToAdd, addAtIndices, indicesToRemove);
505
- }
200
+ public void replaceExistingNonRootView(int oldTag, int newTag) {}
506
201
 
507
202
  /**
508
203
  * Find the touch target child native view in the supplied root view hierarchy, given a react
@@ -516,9 +211,7 @@ public class UIImplementation {
516
211
  * @param callback will be called if with the identified child view react ID, and measurement
517
212
  * info. If no view was found, callback will be invoked with no data.
518
213
  */
519
- public void findSubviewIn(int reactTag, float targetX, float targetY, Callback callback) {
520
- mOperationsQueue.enqueueFindTargetForTouch(reactTag, targetX, targetY, callback);
521
- }
214
+ public void findSubviewIn(int reactTag, float targetX, float targetY, Callback callback) {}
522
215
 
523
216
  /**
524
217
  * Check if the first shadow node is the descendant of the second shadow node
@@ -527,44 +220,20 @@ public class UIImplementation {
527
220
  */
528
221
  @Deprecated
529
222
  public void viewIsDescendantOf(
530
- final int reactTag, final int ancestorReactTag, final Callback callback) {
531
- ReactShadowNode node = mShadowNodeRegistry.getNode(reactTag);
532
- ReactShadowNode ancestorNode = mShadowNodeRegistry.getNode(ancestorReactTag);
533
- if (node == null || ancestorNode == null) {
534
- callback.invoke(false);
535
- return;
536
- }
537
- callback.invoke(node.isDescendantOf(ancestorNode));
538
- }
223
+ final int reactTag, final int ancestorReactTag, final Callback callback) {}
539
224
 
540
225
  /**
541
226
  * Determines the location on screen, width, and height of the given view relative to the root
542
227
  * view and returns the values via an async callback.
543
228
  */
544
- public void measure(int reactTag, Callback callback) {
545
- if (!mViewOperationsEnabled) {
546
- return;
547
- }
548
-
549
- // This method is called by the implementation of JS touchable interface (see Touchable.js for
550
- // more details) at the moment of touch activation. That is after user starts the gesture from
551
- // a touchable view with a given reactTag, or when user drag finger back into the press
552
- // activation area of a touchable view that have been activated before.
553
- mOperationsQueue.enqueueMeasure(reactTag, callback);
554
- }
229
+ public void measure(int reactTag, Callback callback) {}
555
230
 
556
231
  /**
557
232
  * Determines the location on screen, width, and height of the given view relative to the device
558
233
  * screen and returns the values via an async callback. This is the absolute position including
559
234
  * things like the status bar
560
235
  */
561
- public void measureInWindow(int reactTag, Callback callback) {
562
- if (!mViewOperationsEnabled) {
563
- return;
564
- }
565
-
566
- mOperationsQueue.enqueueMeasureInWindow(reactTag, callback);
567
- }
236
+ public void measureInWindow(int reactTag, Callback callback) {}
568
237
 
569
238
  /**
570
239
  * Measures the view specified by tag relative to the given ancestorTag. This means that the
@@ -573,121 +242,19 @@ public class UIImplementation {
573
242
  * position always will be (0, 0) and method will only measure the view dimensions.
574
243
  */
575
244
  public void measureLayout(
576
- int tag, int ancestorTag, Callback errorCallback, Callback successCallback) {
577
- if (!mViewOperationsEnabled) {
578
- return;
579
- }
580
-
581
- try {
582
- measureLayout(tag, ancestorTag, mMeasureBuffer);
583
- float relativeX = PixelUtil.toDIPFromPixel(mMeasureBuffer[0]);
584
- float relativeY = PixelUtil.toDIPFromPixel(mMeasureBuffer[1]);
585
- float width = PixelUtil.toDIPFromPixel(mMeasureBuffer[2]);
586
- float height = PixelUtil.toDIPFromPixel(mMeasureBuffer[3]);
587
- successCallback.invoke(relativeX, relativeY, width, height);
588
- } catch (IllegalViewOperationException e) {
589
- errorCallback.invoke(e.getMessage());
590
- }
591
- }
245
+ int tag, int ancestorTag, Callback errorCallback, Callback successCallback) {}
592
246
 
593
247
  /**
594
248
  * Like {@link #measure} and {@link #measureLayout} but measures relative to the immediate parent.
595
249
  */
596
250
  public void measureLayoutRelativeToParent(
597
- int tag, Callback errorCallback, Callback successCallback) {
598
- if (!mViewOperationsEnabled) {
599
- return;
600
- }
601
-
602
- try {
603
- measureLayoutRelativeToParent(tag, mMeasureBuffer);
604
- float relativeX = PixelUtil.toDIPFromPixel(mMeasureBuffer[0]);
605
- float relativeY = PixelUtil.toDIPFromPixel(mMeasureBuffer[1]);
606
- float width = PixelUtil.toDIPFromPixel(mMeasureBuffer[2]);
607
- float height = PixelUtil.toDIPFromPixel(mMeasureBuffer[3]);
608
- successCallback.invoke(relativeX, relativeY, width, height);
609
- } catch (IllegalViewOperationException e) {
610
- errorCallback.invoke(e.getMessage());
611
- }
612
- }
251
+ int tag, Callback errorCallback, Callback successCallback) {}
613
252
 
614
253
  /** Invoked at the end of the transaction to commit any updates to the node hierarchy. */
615
- public void dispatchViewUpdates(int batchId) {
616
- SystraceMessage.beginSection(Systrace.TRACE_TAG_REACT, "UIImplementation.dispatchViewUpdates")
617
- .arg("batchId", batchId)
618
- .flush();
619
- final long commitStartTime = SystemClock.uptimeMillis();
620
- try {
621
- updateViewHierarchy();
622
- mNativeViewHierarchyOptimizer.onBatchComplete();
623
- mOperationsQueue.dispatchViewUpdates(batchId, commitStartTime, mLastCalculateLayoutTime);
624
- } finally {
625
- Systrace.endSection(Systrace.TRACE_TAG_REACT);
626
- }
627
- }
628
-
629
- private void dispatchViewUpdatesIfNeeded() {
630
- // If we are in the middle of a batch update, any additional changes
631
- // will automatically be dispatched at the end of the batch.
632
- // If we are not, we have to initiate new batch update.
633
- // As all batches are executed as a single runnable on the event queue
634
- // this should always be empty, but that calling architecture is an implementation detail.
635
- if (mOperationsQueue.isEmpty()) {
636
- dispatchViewUpdates(-1); // "-1" means "no associated batch id"
637
- }
638
- }
254
+ public void dispatchViewUpdates(int batchId) {}
639
255
 
640
- protected void updateViewHierarchy() {
641
- Systrace.beginSection(Systrace.TRACE_TAG_REACT, "UIImplementation.updateViewHierarchy");
642
- try {
643
- for (int i = 0; i < mShadowNodeRegistry.getRootNodeCount(); i++) {
644
- int tag = mShadowNodeRegistry.getRootTag(i);
645
- ReactShadowNode cssRoot = mShadowNodeRegistry.getNode(tag);
646
-
647
- if (cssRoot.getWidthMeasureSpec() != null && cssRoot.getHeightMeasureSpec() != null) {
648
- SystraceMessage.beginSection(
649
- Systrace.TRACE_TAG_REACT, "UIImplementation.notifyOnBeforeLayoutRecursive")
650
- .arg("rootTag", cssRoot.getReactTag())
651
- .flush();
652
- try {
653
- notifyOnBeforeLayoutRecursive(cssRoot);
654
- } finally {
655
- Systrace.endSection(Systrace.TRACE_TAG_REACT);
656
- }
657
-
658
- calculateRootLayout(cssRoot);
659
- SystraceMessage.beginSection(
660
- Systrace.TRACE_TAG_REACT, "UIImplementation.applyUpdatesRecursive")
661
- .arg("rootTag", cssRoot.getReactTag())
662
- .flush();
663
- try {
664
- List<ReactShadowNode> onLayoutNodes = new ArrayList<>();
665
- applyUpdatesRecursive(cssRoot, 0f, 0f, onLayoutNodes);
666
-
667
- for (ReactShadowNode node : onLayoutNodes) {
668
- mEventDispatcher.dispatchEvent(
669
- OnLayoutEvent.obtain(
670
- -1, /* surfaceId not used in classic renderer */
671
- node.getReactTag(),
672
- node.getScreenX(),
673
- node.getScreenY(),
674
- node.getScreenWidth(),
675
- node.getScreenHeight()));
676
- }
677
-
678
- } finally {
679
- Systrace.endSection(Systrace.TRACE_TAG_REACT);
680
- }
681
-
682
- if (mLayoutUpdateListener != null) {
683
- mOperationsQueue.enqueueLayoutUpdateFinished(cssRoot, mLayoutUpdateListener);
684
- }
685
- }
686
- }
687
- } finally {
688
- Systrace.endSection(Systrace.TRACE_TAG_REACT);
689
- }
690
- }
256
+ /** Updates the view hierarchy. */
257
+ protected void updateViewHierarchy() {}
691
258
 
692
259
  /**
693
260
  * LayoutAnimation API on Android is currently experimental. Therefore, it needs to be enabled
@@ -700,9 +267,7 @@ public class UIImplementation {
700
267
  *
701
268
  * @param enabled whether layout animation is enabled or not
702
269
  */
703
- public void setLayoutAnimationEnabledExperimental(boolean enabled) {
704
- mOperationsQueue.enqueueSetLayoutAnimationEnabled(enabled);
705
- }
270
+ public void setLayoutAnimationEnabledExperimental(boolean enabled) {}
706
271
 
707
272
  /**
708
273
  * Configure an animation to be used for the native layout changes, and native views creation. The
@@ -714,285 +279,64 @@ public class UIImplementation {
714
279
  * @param config the configuration of the animation for view addition/removal/update.
715
280
  * @param success will be called when the animation completes, or when the animation get
716
281
  * interrupted. In this case, callback parameter will be false.
717
- * @param error will be called if there was an error processing the animation
718
282
  */
719
- public void configureNextLayoutAnimation(ReadableMap config, Callback success) {
720
- mOperationsQueue.enqueueConfigureLayoutAnimation(config, success);
721
- }
283
+ public void configureNextLayoutAnimation(ReadableMap config, Callback success) {}
722
284
 
723
- public void setJSResponder(int reactTag, boolean blockNativeResponder) {
724
- ReactShadowNode node = mShadowNodeRegistry.getNode(reactTag);
285
+ /** Sets the JS responder for a given react tag. */
286
+ public void setJSResponder(int reactTag, boolean blockNativeResponder) {}
725
287
 
726
- if (node == null) {
727
- // TODO: this should only happen when using Fabric renderer. This is a temporary approach
728
- // and it will be refactored when fabric supports JS Responder.
729
- return;
730
- }
731
-
732
- // While loop removed due to NativeKind removal
733
- mOperationsQueue.enqueueSetJSResponder(node.getReactTag(), reactTag, blockNativeResponder);
734
- }
735
-
736
- public void clearJSResponder() {
737
- mOperationsQueue.enqueueClearJSResponder();
738
- }
288
+ /** Clears the JS responder. */
289
+ public void clearJSResponder() {}
739
290
 
291
+ /**
292
+ * @deprecated Use {@link #dispatchViewManagerCommand(int, String, ReadableArray)} instead.
293
+ */
740
294
  @Deprecated
741
295
  public void dispatchViewManagerCommand(
742
- int reactTag, int commandId, @Nullable ReadableArray commandArgs) {
743
- boolean viewExists =
744
- checkOrAssertViewExists(reactTag, "dispatchViewManagerCommand: " + commandId);
745
- if (!viewExists) {
746
- return;
747
- }
748
-
749
- mOperationsQueue.enqueueDispatchCommand(reactTag, commandId, commandArgs);
750
- }
296
+ int reactTag, int commandId, @Nullable ReadableArray commandArgs) {}
751
297
 
298
+ /** Dispatches a view manager command. */
752
299
  public void dispatchViewManagerCommand(
753
- int reactTag, String commandId, @Nullable ReadableArray commandArgs) {
754
- boolean viewExists =
755
- checkOrAssertViewExists(reactTag, "dispatchViewManagerCommand: " + commandId);
756
- if (!viewExists) {
757
- return;
758
- }
759
-
760
- mOperationsQueue.enqueueDispatchCommand(reactTag, commandId, commandArgs);
761
- }
300
+ int reactTag, String commandId, @Nullable ReadableArray commandArgs) {}
762
301
 
763
- public void sendAccessibilityEvent(int tag, int eventType) {
764
- mOperationsQueue.enqueueSendAccessibilityEvent(tag, eventType);
765
- }
302
+ /** Sends an accessibility event for a given tag. */
303
+ public void sendAccessibilityEvent(int tag, int eventType) {}
766
304
 
767
- public void onHostResume() {
768
- mOperationsQueue.resumeFrameCallback();
769
- }
305
+ /** Called when the host activity resumes. */
306
+ public void onHostResume() {}
770
307
 
771
- public void onHostPause() {
772
- mOperationsQueue.pauseFrameCallback();
773
- }
308
+ /** Called when the host activity pauses. */
309
+ public void onHostPause() {}
774
310
 
311
+ /** Called when the host activity is destroyed. */
775
312
  public void onHostDestroy() {}
776
313
 
777
- public void onCatalystInstanceDestroyed() {
778
- mViewOperationsEnabled = false;
779
- mViewManagers.invalidate();
780
- }
314
+ /** Called when the Catalyst instance is destroyed. */
315
+ public void onCatalystInstanceDestroyed() {}
781
316
 
782
- protected final void removeShadowNode(ReactShadowNode nodeToRemove) {
783
- removeShadowNodeRecursive(nodeToRemove);
784
- nodeToRemove.dispose();
785
- }
786
-
787
- private void removeShadowNodeRecursive(ReactShadowNode nodeToRemove) {
788
- NativeViewHierarchyOptimizer.handleRemoveNode(nodeToRemove);
789
- mShadowNodeRegistry.removeNode(nodeToRemove.getReactTag());
790
- for (int i = nodeToRemove.getChildCount() - 1; i >= 0; i--) {
791
- removeShadowNodeRecursive(nodeToRemove.getChildAt(i));
792
- }
793
- nodeToRemove.removeAndDisposeAllChildren();
794
- }
317
+ /** Removes a shadow node and all its descendants. */
318
+ protected final void removeShadowNode(ReactShadowNode nodeToRemove) {}
795
319
 
796
- private void measureLayout(int tag, int ancestorTag, int[] outputBuffer) {
797
- ReactShadowNode node = mShadowNodeRegistry.getNode(tag);
798
- ReactShadowNode ancestor = mShadowNodeRegistry.getNode(ancestorTag);
799
- if (node == null || ancestor == null) {
800
- throw new IllegalViewOperationException(
801
- "Tag " + (node == null ? tag : ancestorTag) + " does not exist");
802
- }
803
-
804
- if (node != ancestor) {
805
- ReactShadowNode currentParent = node.getParent();
806
- while (currentParent != ancestor) {
807
- if (currentParent == null) {
808
- throw new IllegalViewOperationException(
809
- "Tag " + ancestorTag + " is not an ancestor of tag " + tag);
810
- }
811
- currentParent = currentParent.getParent();
812
- }
813
- }
814
-
815
- measureLayoutRelativeToVerifiedAncestor(node, ancestor, outputBuffer);
816
- }
320
+ protected void calculateRootLayout(ReactShadowNode cssRoot) {}
817
321
 
818
- private void measureLayoutRelativeToParent(int tag, int[] outputBuffer) {
819
- ReactShadowNode node = mShadowNodeRegistry.getNode(tag);
820
- if (node == null) {
821
- throw new IllegalViewOperationException("No native view for tag " + tag + " exists!");
822
- }
823
- ReactShadowNode parent = node.getParent();
824
- if (parent == null) {
825
- throw new IllegalViewOperationException("View with tag " + tag + " doesn't have a parent!");
826
- }
827
-
828
- measureLayoutRelativeToVerifiedAncestor(node, parent, outputBuffer);
829
- }
322
+ /** Adds a UI block to be executed on the UI thread. */
323
+ public void addUIBlock(UIBlock block) {}
830
324
 
831
- private void measureLayoutRelativeToVerifiedAncestor(
832
- ReactShadowNode node, ReactShadowNode ancestor, int[] outputBuffer) {
833
- int offsetX = 0;
834
- int offsetY = 0;
835
- if (node != ancestor && !node.isVirtual()) {
836
- offsetX = Math.round(node.getLayoutX());
837
- offsetY = Math.round(node.getLayoutY());
838
- ReactShadowNode current = node.getParent();
839
- while (current != ancestor) {
840
- Assertions.assertNotNull(current);
841
- assertNodeDoesNotNeedCustomLayoutForChildren(current);
842
- offsetX += Math.round(current.getLayoutX());
843
- offsetY += Math.round(current.getLayoutY());
844
- current = current.getParent();
845
- }
846
- assertNodeDoesNotNeedCustomLayoutForChildren(ancestor);
847
- }
848
-
849
- outputBuffer[0] = offsetX;
850
- outputBuffer[1] = offsetY;
851
- outputBuffer[2] = node.getScreenWidth();
852
- outputBuffer[3] = node.getScreenHeight();
853
- }
325
+ /** Prepends a UI block to be executed on the UI thread. */
326
+ public void prependUIBlock(UIBlock block) {}
854
327
 
855
328
  /**
856
- * Returns whether a view identified by the tag exists. In debug mode, this will throw whenever
857
- * the view doesn't exist. In production, it'll log a warning. Callers should use this and just
858
- * return if the view doesn't exist to avoid crashing.
329
+ * Resolves the root tag from a given react tag.
330
+ *
331
+ * @return 0 (stub)
859
332
  */
860
- private boolean checkOrAssertViewExists(int reactTag, String operationNameForExceptionMessage) {
861
- boolean viewExists = mShadowNodeRegistry.getNode(reactTag) != null;
862
- if (viewExists) {
863
- return true;
864
- }
865
-
866
- String message =
867
- "Unable to execute operation "
868
- + operationNameForExceptionMessage
869
- + " on view with "
870
- + "tag: "
871
- + reactTag
872
- + ", since the view does not exist";
873
-
874
- if (ReactBuildConfig.DEBUG) {
875
- throw new IllegalViewOperationException(message);
876
- } else {
877
- FLog.w(ReactConstants.TAG, message);
878
- return false;
879
- }
880
- }
881
-
882
- private void assertNodeDoesNotNeedCustomLayoutForChildren(ReactShadowNode node) {
883
- ViewManager viewManager = Assertions.assertNotNull(mViewManagers.get(node.getViewClass()));
884
- IViewManagerWithChildren viewManagerWithChildren;
885
- if (viewManager instanceof IViewManagerWithChildren) {
886
- viewManagerWithChildren = (IViewManagerWithChildren) viewManager;
887
- } else {
888
- throw new IllegalViewOperationException(
889
- "Trying to use view "
890
- + node.getViewClass()
891
- + " as a parent, but its Manager doesn't extends ViewGroupManager");
892
- }
893
- if (viewManagerWithChildren != null && viewManagerWithChildren.needsCustomLayoutForChildren()) {
894
- throw new IllegalViewOperationException(
895
- "Trying to measure a view using measureLayout/measureLayoutRelativeToParent relative to"
896
- + " an ancestor that requires custom layout for it's children ("
897
- + node.getViewClass()
898
- + "). Use measure instead.");
899
- }
900
- }
901
-
902
- private void notifyOnBeforeLayoutRecursive(ReactShadowNode cssNode) {
903
- if (!cssNode.hasUpdates()) {
904
- return;
905
- }
906
- for (int i = 0; i < cssNode.getChildCount(); i++) {
907
- notifyOnBeforeLayoutRecursive(cssNode.getChildAt(i));
908
- }
909
- cssNode.onBeforeLayout(mNativeViewHierarchyOptimizer);
910
- }
911
-
912
- protected void calculateRootLayout(ReactShadowNode cssRoot) {
913
- SystraceMessage.beginSection(Systrace.TRACE_TAG_REACT, "cssRoot.calculateLayout")
914
- .arg("rootTag", cssRoot.getReactTag())
915
- .flush();
916
- long startTime = SystemClock.uptimeMillis();
917
- try {
918
- int widthSpec = cssRoot.getWidthMeasureSpec();
919
- int heightSpec = cssRoot.getHeightMeasureSpec();
920
- cssRoot.calculateLayout(
921
- MeasureSpec.getMode(widthSpec) == MeasureSpec.UNSPECIFIED
922
- ? YogaConstants.UNDEFINED
923
- : MeasureSpec.getSize(widthSpec),
924
- MeasureSpec.getMode(heightSpec) == MeasureSpec.UNSPECIFIED
925
- ? YogaConstants.UNDEFINED
926
- : MeasureSpec.getSize(heightSpec));
927
- } finally {
928
- Systrace.endSection(Systrace.TRACE_TAG_REACT);
929
- mLastCalculateLayoutTime = SystemClock.uptimeMillis() - startTime;
930
- }
931
- }
932
-
933
- protected void applyUpdatesRecursive(
934
- ReactShadowNode cssNode,
935
- float absoluteX,
936
- float absoluteY,
937
- List<ReactShadowNode> onLayoutNodes) {
938
- if (!cssNode.hasUpdates()) {
939
- return;
940
- }
941
-
942
- if (cssNode.dispatchUpdatesWillChangeLayout(absoluteX, absoluteY)
943
- && cssNode.shouldNotifyOnLayout()
944
- && !mShadowNodeRegistry.isRootNode(cssNode.getReactTag())) {
945
- onLayoutNodes.add(cssNode);
946
- }
947
-
948
- Iterable<? extends ReactShadowNode> cssChildren = cssNode.calculateLayoutOnChildren();
949
- if (cssChildren != null) {
950
- for (ReactShadowNode cssChild : cssChildren) {
951
- applyUpdatesRecursive(
952
- cssChild,
953
- absoluteX + cssNode.getLayoutX(),
954
- absoluteY + cssNode.getLayoutY(),
955
- onLayoutNodes);
956
- }
957
- }
958
-
959
- cssNode.dispatchUpdates(absoluteX, absoluteY, mOperationsQueue, mNativeViewHierarchyOptimizer);
960
-
961
- cssNode.markUpdateSeen();
962
- mNativeViewHierarchyOptimizer.onViewUpdatesCompleted(cssNode);
963
- }
964
-
965
- public void addUIBlock(UIBlock block) {
966
- mOperationsQueue.enqueueUIBlock(block);
967
- }
968
-
969
- public void prependUIBlock(UIBlock block) {
970
- mOperationsQueue.prependUIBlock(block);
971
- }
972
-
973
333
  public int resolveRootTagFromReactTag(int reactTag) {
974
- if (mShadowNodeRegistry.isRootNode(reactTag)) {
975
- return reactTag;
976
- }
977
-
978
- ReactShadowNode node = resolveShadowNode(reactTag);
979
- int rootTag = 0;
980
- if (node != null) {
981
- rootTag = node.getRootTag();
982
- } else {
983
- FLog.w(
984
- ReactConstants.TAG,
985
- "Warning : attempted to resolve a non-existent react shadow node. reactTag=" + reactTag);
986
- }
987
-
988
- return rootTag;
334
+ return 0;
989
335
  }
990
336
 
991
- public void setLayoutUpdateListener(LayoutUpdateListener listener) {
992
- mLayoutUpdateListener = listener;
993
- }
337
+ /** Sets a listener for layout updates. */
338
+ public void setLayoutUpdateListener(LayoutUpdateListener listener) {}
994
339
 
995
- public void removeLayoutUpdateListener() {
996
- mLayoutUpdateListener = null;
997
- }
340
+ /** Removes the layout update listener. */
341
+ public void removeLayoutUpdateListener() {}
998
342
  }