react-native-tvos 0.79.2-0 → 0.80.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 (1463) hide show
  1. package/Libraries/Alert/Alert.d.ts +4 -1
  2. package/Libraries/Alert/Alert.js +3 -0
  3. package/Libraries/Alert/RCTAlertManager.js +17 -0
  4. package/Libraries/Animated/Animated.js.flow +1 -3
  5. package/Libraries/Animated/AnimatedEvent.js +4 -3
  6. package/Libraries/Animated/AnimatedExports.js +2 -2
  7. package/Libraries/Animated/AnimatedExports.js.flow +140 -0
  8. package/Libraries/Animated/AnimatedImplementation.js +2 -123
  9. package/Libraries/Animated/Easing.js +13 -15
  10. package/Libraries/Animated/animations/Animation.js +8 -4
  11. package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
  12. package/Libraries/Animated/components/AnimatedScrollView.js +48 -42
  13. package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
  14. package/Libraries/Animated/createAnimatedComponent.js +105 -57
  15. package/Libraries/Animated/nodes/AnimatedNode.js +4 -3
  16. package/Libraries/Animated/nodes/AnimatedProps.js +46 -26
  17. package/Libraries/Animated/nodes/AnimatedValue.js +16 -7
  18. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -1
  19. package/Libraries/AppDelegate/RCTAppSetupUtils.h +2 -0
  20. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +6 -0
  21. package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +4 -4
  22. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +6 -5
  23. package/Libraries/AppDelegate/RCTDependencyProvider.h +2 -0
  24. package/Libraries/AppDelegate/RCTReactNativeFactory.h +4 -0
  25. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +54 -40
  26. package/Libraries/AppDelegate/RCTRootViewFactory.h +9 -0
  27. package/Libraries/AppDelegate/RCTRootViewFactory.mm +14 -6
  28. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -11
  29. package/Libraries/AppState/AppState.js +7 -2
  30. package/Libraries/BatchedBridge/MessageQueue.js +2 -2
  31. package/Libraries/BatchedBridge/NativeModules.js +2 -0
  32. package/Libraries/Blob/BlobManager.js +1 -0
  33. package/Libraries/Blob/FileReader.js +219 -8
  34. package/Libraries/Blob/RCTBlobCollector.mm +1 -1
  35. package/Libraries/Blob/RCTBlobManager.h +0 -4
  36. package/Libraries/Blob/RCTBlobManager.mm +4 -21
  37. package/Libraries/Blob/RCTFileReaderModule.mm +2 -2
  38. package/Libraries/Blob/React-RCTBlob.podspec +4 -14
  39. package/Libraries/Blob/URL.js +24 -11
  40. package/Libraries/Blob/URLSearchParams.js +106 -31
  41. package/Libraries/Blob/URLSearchParams.js.flow +12 -7
  42. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
  43. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js +17 -0
  44. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -0
  45. package/Libraries/Components/Button.js +1 -1
  46. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -3
  47. package/Libraries/{NewAppScreen/components/Colors.js → Components/DrawerAndroid/DrawerLayoutAndroid.ios.js} +6 -10
  48. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +6 -66
  49. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +18 -0
  50. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +71 -0
  51. package/Libraries/Components/Keyboard/Keyboard.js +5 -3
  52. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +6 -3
  53. package/Libraries/Components/Pressable/Pressable.js +23 -7
  54. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +25 -3
  55. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
  56. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  57. package/Libraries/Components/ScrollView/ScrollView.d.ts +3 -3
  58. package/Libraries/Components/ScrollView/ScrollView.js +132 -122
  59. package/Libraries/Components/StaticRenderer.js +1 -1
  60. package/Libraries/Components/Switch/Switch.d.ts +3 -0
  61. package/Libraries/Components/Switch/Switch.js +8 -4
  62. package/Libraries/Components/TV/TVEventControl.js +3 -1
  63. package/Libraries/Components/TV/TVEventHandler.js +21 -13
  64. package/Libraries/Components/TV/TVFocusEventHandler.js +1 -1
  65. package/Libraries/Components/TV/TVFocusGuideView.js +3 -8
  66. package/Libraries/Components/TV/tagForComponentOrHandle.js +2 -2
  67. package/Libraries/Components/TV/useTVEventHandler.js +1 -1
  68. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +2 -13
  69. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -4
  70. package/Libraries/Components/TextInput/TextInput.d.ts +76 -33
  71. package/Libraries/Components/TextInput/TextInput.flow.js +106 -55
  72. package/Libraries/Components/TextInput/TextInput.js +94 -1029
  73. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  74. package/Libraries/{Modal/ModalInjection.js → Components/ToastAndroid/ToastAndroid.ios.js} +3 -5
  75. package/Libraries/Components/ToastAndroid/ToastAndroid.js +4 -32
  76. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +109 -0
  77. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +45 -0
  78. package/Libraries/Components/Touchable/Touchable.js +5 -5
  79. package/Libraries/Components/Touchable/TouchableBounce.js +14 -7
  80. package/Libraries/Components/Touchable/TouchableHighlight.js +14 -10
  81. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -6
  82. package/Libraries/Components/Touchable/TouchableOpacity.js +14 -7
  83. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
  84. package/Libraries/Components/View/View.js +21 -23
  85. package/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
  86. package/Libraries/Components/View/ViewAccessibility.js +25 -1
  87. package/Libraries/Components/View/ViewNativeComponent.js +2 -2
  88. package/Libraries/Components/View/ViewPropTypes.d.ts +16 -0
  89. package/Libraries/Components/View/ViewPropTypes.js +49 -3
  90. package/Libraries/Core/ReactNativeVersion.js +2 -2
  91. package/Libraries/Core/setUpReactDevTools.js +5 -5
  92. package/Libraries/Debugging/DebuggingOverlayRegistry.js +3 -3
  93. package/Libraries/EventEmitter/NativeEventEmitter.js +9 -4
  94. package/Libraries/Image/AssetSourceResolver.js +17 -4
  95. package/Libraries/Image/Image.d.ts +26 -10
  96. package/Libraries/Image/Image.js +17 -0
  97. package/Libraries/Image/Image.js.flow +5 -5
  98. package/Libraries/Image/ImageBackground.js +2 -0
  99. package/Libraries/Image/ImageInjection.js +1 -1
  100. package/Libraries/Image/ImageProps.js +22 -17
  101. package/Libraries/Image/ImageSource.js +3 -1
  102. package/Libraries/Image/ImageSourceUtils.js +4 -2
  103. package/Libraries/Image/ImageTypes.flow.js +1 -1
  104. package/Libraries/Image/RCTImageLoader.mm +63 -19
  105. package/Libraries/Image/RCTImageStoreManager.mm +10 -32
  106. package/Libraries/Image/RCTImageURLLoader.h +19 -1
  107. package/Libraries/Image/RCTUIImageViewAnimated.mm +6 -23
  108. package/Libraries/Image/React-RCTImage.podspec +2 -7
  109. package/Libraries/Interaction/InteractionManager.d.ts +13 -0
  110. package/Libraries/Interaction/InteractionManager.js +1 -1
  111. package/Libraries/Interaction/PanResponder.js +3 -3
  112. package/Libraries/Interaction/TaskQueue.js +1 -0
  113. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  114. package/Libraries/Linking/Linking.js +1 -1
  115. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -6
  116. package/Libraries/Lists/FlatList.d.ts +2 -2
  117. package/Libraries/Lists/FlatList.js +8 -11
  118. package/Libraries/Lists/SectionList.js +39 -42
  119. package/Libraries/Lists/SectionListModern.js +25 -34
  120. package/Libraries/Lists/VirtualizedList.js +1 -0
  121. package/Libraries/Lists/VirtualizedSectionList.js +1 -0
  122. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  123. package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
  124. package/Libraries/Modal/Modal.js +33 -7
  125. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +118 -124
  126. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +4 -7
  127. package/Libraries/NativeComponent/BaseViewConfig.android.js +8 -6
  128. package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -0
  129. package/Libraries/NativeComponent/BaseViewConfig.js +17 -0
  130. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +2 -2
  131. package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
  132. package/Libraries/Network/RCTDataRequestHandler.mm +10 -6
  133. package/Libraries/Network/RCTFileRequestHandler.mm +11 -7
  134. package/Libraries/Network/RCTHTTPRequestHandler.mm +1 -2
  135. package/Libraries/Network/RCTInspectorNetworkReporter.h +32 -0
  136. package/Libraries/Network/RCTInspectorNetworkReporter.mm +88 -0
  137. package/Libraries/Network/RCTNetworking.android.js +1 -1
  138. package/Libraries/Network/RCTNetworking.h +0 -4
  139. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  140. package/Libraries/Network/RCTNetworking.js +17 -0
  141. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  142. package/Libraries/Network/RCTNetworking.mm +32 -33
  143. package/Libraries/Network/React-RCTNetwork.podspec +6 -7
  144. package/Libraries/Network/XMLHttpRequest.js +781 -10
  145. package/Libraries/Performance/Systrace.js +7 -7
  146. package/Libraries/Pressability/Pressability.js +1 -1
  147. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -6
  148. package/Libraries/ReactNative/AppContainer-dev.js +10 -9
  149. package/Libraries/ReactNative/AppRegistry.flow.js +49 -0
  150. package/Libraries/ReactNative/AppRegistry.js +2 -322
  151. package/Libraries/ReactNative/AppRegistry.js.flow +23 -0
  152. package/Libraries/ReactNative/AppRegistryImpl.js +316 -0
  153. package/Libraries/ReactNative/FabricUIManager.js +10 -0
  154. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -4
  155. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -4
  156. package/Libraries/ReactNative/RendererImplementation.js +10 -5
  157. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -0
  158. package/Libraries/ReactNative/renderApplication.js +9 -0
  159. package/Libraries/ReactNativeDependencies/Package.swift +2 -2
  160. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +3 -3
  161. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +51 -0
  162. package/Libraries/Renderer/implementations/ReactFabric-dev.js +4840 -4748
  163. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4947 -4829
  164. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3998 -3888
  165. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5005 -4948
  166. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2744 -2652
  167. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5020 -4933
  168. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -3
  169. package/Libraries/Settings/React-RCTSettings.podspec +3 -7
  170. package/Libraries/Settings/Settings.ios.js +1 -0
  171. package/Libraries/Settings/Settings.js +13 -19
  172. package/Libraries/Settings/SettingsFallback.js +33 -0
  173. package/Libraries/StyleSheet/PlatformColorValueTypes.js +15 -0
  174. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +6 -0
  175. package/Libraries/StyleSheet/Rect.js +1 -0
  176. package/Libraries/StyleSheet/StyleSheet.js +31 -200
  177. package/Libraries/StyleSheet/StyleSheet.js.flow +188 -0
  178. package/Libraries/StyleSheet/StyleSheetExports.js +210 -0
  179. package/Libraries/StyleSheet/StyleSheetExports.js.flow +112 -0
  180. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  181. package/Libraries/StyleSheet/StyleSheetTypes.js +130 -52
  182. package/Libraries/StyleSheet/flattenStyle.js +14 -4
  183. package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
  184. package/Libraries/StyleSheet/processBackgroundImage.js +670 -214
  185. package/Libraries/Text/Text/RCTDynamicTypeRamp.mm +1 -1
  186. package/Libraries/Text/Text.d.ts +2 -5
  187. package/Libraries/Text/Text.js +3 -3
  188. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +11 -0
  189. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +96 -0
  190. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +1 -0
  191. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +4 -4
  192. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +11 -0
  193. package/Libraries/Text/TextNativeComponent.js +0 -4
  194. package/Libraries/Text/TextProps.js +5 -33
  195. package/Libraries/Types/CodegenTypesNamespace.d.ts +45 -0
  196. package/Libraries/{Blob/__mocks__/BlobModule.js → Types/CodegenTypesNamespace.js} +4 -6
  197. package/Libraries/Types/CoreEventTypes.d.ts +10 -1
  198. package/Libraries/Types/CoreEventTypes.js +4 -6
  199. package/Libraries/Utilities/Appearance.js +2 -0
  200. package/Libraries/Utilities/BackHandler.ios.js +9 -4
  201. package/Libraries/Utilities/BackHandler.js +17 -0
  202. package/Libraries/Utilities/DeviceInfo.js +2 -0
  203. package/Libraries/Utilities/Dimensions.js +1 -1
  204. package/Libraries/Utilities/Platform.js +17 -0
  205. package/Libraries/Utilities/PlatformTypes.js +11 -3
  206. package/Libraries/Utilities/ReactNativeTestTools.js +2 -2
  207. package/Libraries/Utilities/codegenNativeCommands.d.ts +18 -0
  208. package/Libraries/Utilities/codegenNativeComponent.d.ts +26 -0
  209. package/Libraries/Utilities/setAndForwardRef.js +6 -6
  210. package/Libraries/Vibration/React-RCTVibration.podspec +3 -7
  211. package/Libraries/WebSocket/WebSocket.js +313 -8
  212. package/Libraries/vendor/core/ErrorUtils.js +28 -2
  213. package/Libraries/vendor/emitter/EventEmitter.js +6 -2
  214. package/README-core.md +0 -3
  215. package/README.md +3 -1
  216. package/React/Base/RCTBridge.h +5 -3
  217. package/React/Base/RCTBridge.mm +95 -13
  218. package/React/Base/RCTBridgeProxy.mm +1 -1
  219. package/React/Base/RCTRootView.h +7 -1
  220. package/React/Base/RCTRootView.m +38 -0
  221. package/React/Base/RCTRootViewInternal.h +1 -0
  222. package/React/Base/RCTTVRemoteSelectHandler.m +2 -1
  223. package/React/Base/RCTUtils.h +8 -5
  224. package/React/Base/{RCTUtils.m → RCTUtils.mm} +55 -28
  225. package/React/Base/RCTVersion.m +2 -2
  226. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +6 -0
  227. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +37 -0
  228. package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +3 -8
  229. package/React/CoreModules/RCTAccessibilityManager.mm +9 -11
  230. package/React/CoreModules/RCTAppState.mm +11 -9
  231. package/React/CoreModules/RCTAppearance.mm +2 -14
  232. package/React/CoreModules/RCTDevSettings.mm +0 -1
  233. package/React/CoreModules/RCTDeviceInfo.mm +50 -19
  234. package/React/CoreModules/RCTLogBox.mm +1 -1
  235. package/React/CoreModules/RCTPerfMonitor.mm +1 -1
  236. package/React/CoreModules/RCTPlatform.mm +25 -20
  237. package/React/CoreModules/RCTStatusBarManager.mm +18 -13
  238. package/React/CoreModules/RCTTVNavigationEventEmitter.mm +0 -2
  239. package/React/CoreModules/React-CoreModules.podspec +4 -18
  240. package/React/CxxBridge/RCTCxxBridge.mm +6 -18
  241. package/React/CxxModule/RCTNativeModule.mm +1 -1
  242. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +173 -133
  243. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +600 -425
  244. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +5 -0
  245. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +21 -8
  246. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.h +1 -1
  247. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +2 -2
  248. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +2 -4
  249. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +2 -2
  250. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +31 -0
  251. package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +13 -1
  252. package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.h +1 -1
  253. package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.mm +2 -2
  254. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.mm +13 -8
  255. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +62 -15
  256. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +47 -4
  257. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +1 -0
  258. package/React/Fabric/Mounting/ComponentViews/View/RCTViewAccessibilityElement.h +28 -0
  259. package/React/Fabric/Mounting/ComponentViews/View/RCTViewAccessibilityElement.mm +83 -0
  260. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +11 -0
  261. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +130 -34
  262. package/React/Fabric/Mounting/RCTComponentViewFactory.h +0 -6
  263. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +36 -31
  264. package/React/Fabric/RCTScheduler.mm +6 -0
  265. package/React/Fabric/Utils/RCTBoxShadow.h +2 -4
  266. package/React/Fabric/Utils/RCTBoxShadow.mm +92 -224
  267. package/React/Fabric/Utils/RCTGradientUtils.h +21 -0
  268. package/React/Fabric/Utils/RCTGradientUtils.mm +204 -0
  269. package/React/Fabric/Utils/RCTLinearGradient.mm +3 -192
  270. package/React/Fabric/Utils/{RCTViewFinder.h → RCTRadialGradient.h} +3 -2
  271. package/React/Fabric/Utils/RCTRadialGradient.mm +229 -0
  272. package/React/Profiler/RCTProfile.m +1 -1
  273. package/React/React-RCTFBReactNativeSpec.podspec +3 -13
  274. package/React/React-RCTFabric.podspec +6 -14
  275. package/React/Runtime/React-RCTRuntime.podspec +4 -18
  276. package/React/Views/RCTBorderDrawing.h +5 -2
  277. package/React/Views/RCTBorderDrawing.m +29 -12
  278. package/React/Views/RCTFont.mm +0 -4
  279. package/React/Views/RCTTVView.m +4 -4
  280. package/React/Views/RCTView.m +4 -4
  281. package/React/Views/ScrollView/RCTScrollView.m +1 -1
  282. package/React-Core.podspec +4 -20
  283. package/ReactAndroid/api/ReactAndroid.api +617 -1147
  284. package/ReactAndroid/build.gradle.kts +4 -2
  285. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +9 -15
  286. package/ReactAndroid/external-artifacts/build.gradle.kts +6 -4
  287. package/ReactAndroid/gradle.properties +4 -2
  288. package/ReactAndroid/hermes-engine/build.gradle.kts +7 -4
  289. package/ReactAndroid/proguard-rules.pro +0 -6
  290. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.kt +2 -2
  291. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +3 -2
  292. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +11 -2
  293. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.kt +56 -0
  294. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.kt +5 -5
  295. package/ReactAndroid/src/main/java/com/facebook/react/JSEngineResolutionAlgorithm.kt +4 -0
  296. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.java +14 -3
  297. package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.kt +54 -0
  298. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +15 -4
  299. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +20 -8
  300. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +4 -12
  301. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +88 -0
  302. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +20 -56
  303. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +2 -2
  304. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +3 -3
  305. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +41 -42
  306. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +9 -2
  307. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +9 -0
  308. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.kt +2 -2
  309. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +0 -1
  310. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageLogger.kt +3 -0
  311. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +3 -3
  312. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +12 -12
  313. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.kt +10 -10
  314. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeValueListener.kt +2 -2
  315. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +1 -1
  316. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +0 -6
  317. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +1072 -0
  318. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +774 -0
  319. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.kt +1 -1
  320. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.kt +26 -0
  321. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.java +9 -7
  322. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.kt +29 -0
  323. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +3 -1
  324. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +14 -3
  325. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeSoLoader.kt +36 -0
  326. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.kt +35 -0
  327. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +2 -2
  328. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +17 -13
  329. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.kt +214 -0
  330. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxCallbackImpl.kt +1 -0
  331. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapper.kt +10 -1
  332. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +56 -0
  333. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Dynamic.kt +3 -3
  334. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.kt +61 -0
  335. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.kt +80 -0
  336. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.kt +80 -0
  337. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicNative.kt +6 -0
  338. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedAsyncTask.kt +42 -0
  339. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedRunnable.kt +26 -0
  340. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Inspector.kt +78 -0
  341. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoader.kt +99 -0
  342. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSInstance.kt +3 -0
  343. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSONArguments.kt +118 -0
  344. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.java +13 -5
  345. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +142 -0
  346. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptContextHolder.kt +26 -0
  347. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptExecutor.kt +30 -0
  348. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistry.java +2 -0
  349. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JsonWriterHelper.kt +129 -0
  350. package/ReactAndroid/src/main/java/com/facebook/react/bridge/LifecycleEventListener.kt +2 -0
  351. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java +8 -5
  352. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.java +2 -0
  353. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.kt +10 -0
  354. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.kt +1 -1
  355. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeMap.kt +1 -1
  356. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java +2 -0
  357. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +18 -7
  358. package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +3 -0
  359. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.java +9 -8
  360. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactApplicationContext.java +2 -0
  361. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +5 -7
  362. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.kt +48 -0
  363. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactIgnorableMountingException.kt +6 -6
  364. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.java +7 -1
  365. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +3 -1
  366. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMethod.kt +1 -0
  367. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactModuleWithSpec.kt +2 -2
  368. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJniCommonSoLoader.kt +31 -0
  369. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.kt +10 -0
  370. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +1 -0
  371. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArrayBuilder.kt +61 -0
  372. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMapBuilder.kt +61 -0
  373. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Systrace.kt +2 -2
  374. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt +6 -5
  375. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt +3 -0
  376. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.kt +69 -0
  377. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +13 -7
  378. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadHandler.kt +4 -3
  379. package/ReactAndroid/src/main/java/com/facebook/react/common/ClassFinder.kt +3 -4
  380. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +2 -2
  381. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegate.kt +2 -0
  382. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/LegacyArchitectureShadowNodeWithCxxImpl.kt +23 -0
  383. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/InteropLegacyArchitecture.kt +16 -0
  384. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/LegacyArchitecture.kt +1 -1
  385. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/LegacyArchitectureLogger.kt +66 -0
  386. package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.kt +1 -1
  387. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +1 -1
  388. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +7 -7
  389. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultSoLoader.kt +10 -12
  390. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.kt +98 -0
  391. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.kt +81 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +323 -0
  393. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ChangeBundleLocationDialog.kt +118 -0
  394. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +159 -0
  395. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.kt +87 -0
  396. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +1 -1
  397. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +413 -0
  398. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +903 -0
  399. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +57 -0
  400. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DoubleTapReloadRecognizer.kt +1 -1
  401. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +2 -1
  402. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +4 -4
  403. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.kt +167 -0
  404. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceDevHelper.kt +44 -0
  405. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +10 -16
  406. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.kt +251 -0
  407. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.kt +1 -1
  408. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +11 -13
  409. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/RedBoxHandler.kt +3 -3
  410. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/StackFrame.kt +2 -2
  411. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +176 -0
  412. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricSoLoader.kt +4 -5
  413. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +177 -86
  414. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +6 -2
  415. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +6 -11
  416. package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.kt +103 -0
  417. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.kt +13 -11
  418. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +8 -12
  419. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +5 -9
  420. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +7 -15
  421. package/ReactAndroid/src/main/java/com/facebook/react/fabric/interop/UIBlock.kt +2 -2
  422. package/ReactAndroid/src/main/java/com/facebook/react/fabric/interop/UIBlockViewResolver.kt +2 -2
  423. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.kt +6 -6
  424. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +16 -39
  425. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +24 -25
  426. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +12 -5
  427. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/BatchMountItem.kt +2 -2
  428. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchCommandMountItem.kt +3 -3
  429. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.kt +335 -0
  430. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.kt +3 -3
  431. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +7 -7
  432. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +2 -1
  433. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/TaskInterface.kt +1 -1
  434. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt +16 -16
  435. package/ReactAndroid/src/main/java/com/facebook/react/internal/SystraceSection.kt +3 -3
  436. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +75 -60
  437. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +120 -100
  438. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +25 -21
  439. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +27 -23
  440. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +135 -113
  441. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +1 -3
  442. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +0 -2
  443. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +25 -21
  444. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlags.kt +84 -0
  445. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +0 -2
  446. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEvent.kt +14 -4
  447. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +12 -2
  448. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.kt +293 -0
  449. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +405 -0
  450. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.kt +63 -0
  451. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModulePerfLogger.kt +2 -2
  452. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.kt +5 -0
  453. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutorFactory.kt +7 -0
  454. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.kt +1 -5
  455. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskEventListener.kt +3 -2
  456. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +13 -12
  457. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +2 -2
  458. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +336 -0
  459. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +113 -0
  460. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.kt +99 -0
  461. package/ReactAndroid/src/main/java/com/facebook/react/modules/common/ModuleDataCleaner.kt +4 -4
  462. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt +4 -0
  463. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +1 -1
  464. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.kt +4 -4
  465. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.kt +2 -0
  466. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionListener.kt +1 -1
  467. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +1 -1
  468. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevMenuModule.kt +5 -1
  469. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevSettingsModule.kt +4 -0
  470. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +1 -0
  471. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +14 -8
  472. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.kt +4 -0
  473. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +12 -17
  474. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.kt +209 -0
  475. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.kt +205 -0
  476. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +1 -1
  477. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +18 -18
  478. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +6 -5
  479. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +11 -22
  480. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +35 -29
  481. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.kt +1 -1
  482. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +846 -0
  483. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpCompat.java +4 -1
  484. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.kt +57 -0
  485. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +2 -2
  486. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.kt +6 -6
  487. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/SoundManagerModule.kt +4 -4
  488. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +13 -12
  489. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +14 -3
  490. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.kt +6 -5
  491. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +20 -0
  492. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.kt +7 -11
  493. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.kt +161 -0
  494. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.kt +130 -0
  495. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +10 -2
  496. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.kt +156 -0
  497. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestOnlyHandler.kt +1 -1
  498. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.kt +112 -0
  499. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +10 -4
  500. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +159 -0
  501. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactStateTracker.kt +1 -1
  502. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +113 -0
  503. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +1 -1
  504. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +97 -75
  505. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +11 -10
  506. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +1 -1
  507. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +599 -0
  508. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactLifecycleStateManager.kt +91 -0
  509. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.kt +217 -0
  510. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +12 -11
  511. package/ReactAndroid/src/main/java/com/facebook/react/runtime/cxxreactpackage/CxxReactPackage.kt +4 -1
  512. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Continuation.kt +2 -2
  513. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.kt +418 -0
  514. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/TaskCompletionSource.kt +1 -1
  515. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +31 -25
  516. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +4 -0
  517. package/ReactAndroid/src/main/java/com/facebook/react/touch/JSResponderHandler.kt +9 -9
  518. package/ReactAndroid/src/main/java/com/facebook/react/touch/OnInterceptTouchEventListener.kt +4 -4
  519. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactHitSlopView.kt +2 -2
  520. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactInterceptingViewGroup.kt +5 -5
  521. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/CallInvokerHolderImpl.kt +2 -11
  522. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/NativeMethodCallInvokerHolderImpl.kt +3 -12
  523. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +7 -2
  524. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +64 -0
  525. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +7 -5
  526. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +1 -1
  527. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolver.kt +1 -1
  528. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +59 -7
  529. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +7 -0
  530. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +8 -0
  531. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LengthPercentage.kt +1 -10
  532. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.kt +3 -1
  533. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +13 -5
  534. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +11 -2
  535. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NoSuchNativeViewException.kt +12 -1
  536. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.kt +93 -0
  537. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +1 -1
  538. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +16 -1
  539. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAxOrderHelper.kt +146 -0
  540. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroup.kt +11 -9
  541. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.kt +63 -0
  542. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactCompoundView.kt +3 -3
  543. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.kt +3 -3
  544. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactPointerEventsView.kt +2 -2
  545. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt +2 -2
  546. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +3 -0
  547. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +10 -1
  548. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStylesDiffMap.kt +68 -0
  549. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.kt +6 -0
  550. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReferenceStateWrapper.kt +13 -0
  551. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.kt +103 -0
  552. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/Spacing.kt +2 -2
  553. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java +8 -11
  554. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +435 -0
  555. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +223 -0
  556. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +3 -3
  557. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +19 -13
  558. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +14 -3
  559. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +31 -15
  560. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.kt +92 -0
  561. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +17 -13
  562. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleListener.kt +3 -0
  563. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +27 -22
  564. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewAtIndex.kt +46 -0
  565. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +109 -0
  566. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.kt +87 -0
  567. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +22 -3
  568. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.kt +7 -5
  569. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +9 -4
  570. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +2 -0
  571. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/YogaNodePool.kt +6 -0
  572. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.kt +97 -0
  573. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.kt +86 -0
  574. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropertyHolder.kt +15 -0
  575. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt +5 -1
  576. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +3 -3
  577. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +3 -0
  578. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundDrawable.kt +3 -1
  579. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +9 -1
  580. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +8 -6
  581. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +10 -10
  582. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +3 -17
  583. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlurEvent.kt +16 -5
  584. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.kt +206 -0
  585. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.kt +7 -7
  586. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.kt +1 -13
  587. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +16 -43
  588. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherProvider.kt +2 -2
  589. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/{ReactEventEmitter.kt → EventEmitterImpl.kt} +39 -47
  590. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +33 -43
  591. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FocusEvent.kt +16 -5
  592. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.kt +27 -31
  593. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +2 -0
  594. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +0 -3
  595. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +11 -4
  596. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +12 -8
  597. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/internal/LegacyArchitectureShadowNodeLogger.kt +52 -0
  598. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.kt +128 -0
  599. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AnimatedPropertyType.kt +3 -0
  600. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/BaseLayoutAnimation.kt +85 -0
  601. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.kt +225 -0
  602. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.kt +3 -0
  603. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationType.kt +10 -0
  604. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutCreateAnimation.kt +12 -0
  605. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutDeleteAnimation.kt +12 -0
  606. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutHandlingAnimation.kt +12 -0
  607. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.kt +10 -1
  608. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/OpacityAnimation.kt +69 -0
  609. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/PositionAndSizeAnimation.kt +87 -0
  610. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +10 -2
  611. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +30 -12
  612. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +36 -22
  613. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +206 -0
  614. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +8 -0
  615. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +2 -38
  616. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +72 -246
  617. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/RadialGradient.kt +375 -0
  618. package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +30 -0
  619. package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.kt +6 -6
  620. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlay.kt +3 -1
  621. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +1 -1
  622. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.kt +7 -7
  623. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.kt +7 -7
  624. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.kt +8 -8
  625. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.kt +7 -10
  626. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.kt +1 -1
  627. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +6 -5
  628. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +1 -1
  629. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.kt +7 -10
  630. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +20 -17
  631. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +20 -28
  632. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +43 -41
  633. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/RequestCloseEvent.kt +1 -1
  634. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ShowEvent.kt +1 -1
  635. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +4 -0
  636. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +14 -12
  637. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +1 -1
  638. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewShadowNode.kt +2 -1
  639. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +172 -0
  640. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +27 -7
  641. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +366 -0
  642. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +36 -7
  643. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +74 -1
  644. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +390 -0
  645. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt +4 -2
  646. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +1 -0
  647. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.kt +1 -1
  648. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +1 -1
  649. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.kt +1 -1
  650. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +4 -0
  651. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +2 -2
  652. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayout.kt +18 -0
  653. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +418 -0
  654. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextViewManager.kt +212 -0
  655. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +25 -12
  656. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.kt +6 -6
  657. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.kt +31 -0
  658. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt +207 -0
  659. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +6 -2
  660. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.kt +1 -4
  661. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +40 -54
  662. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +4 -10
  663. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +9 -14
  664. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextShadowNode.kt +3 -0
  665. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.kt +2 -0
  666. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +30 -8
  667. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.java +2 -0
  668. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +237 -121
  669. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextTransform.kt +8 -4
  670. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +140 -0
  671. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.kt +174 -0
  672. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +2 -1
  673. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLetterSpacingSpan.kt +4 -3
  674. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLineHeightSpan.kt +3 -3
  675. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +8 -8
  676. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactAbsoluteSizeSpan.kt +1 -1
  677. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactBackgroundColorSpan.kt +1 -1
  678. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.kt +6 -5
  679. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactForegroundColorSpan.kt +1 -1
  680. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactOpacitySpan.kt +1 -1
  681. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactSpan.kt +1 -1
  682. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactStrikethroughSpan.kt +1 -1
  683. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactTagSpan.kt +2 -2
  684. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactTextPaintHolderSpan.kt +1 -1
  685. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactUnderlineSpan.kt +1 -1
  686. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.kt +5 -5
  687. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ShadowStyleSpan.kt +3 -3
  688. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineImageSpan.kt +11 -11
  689. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineViewPlaceholderSpan.kt +4 -7
  690. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.kt +50 -0
  691. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +1331 -0
  692. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.kt +151 -0
  693. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.kt +44 -0
  694. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextContentSizeWatcher.kt +51 -0
  695. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.kt +43 -0
  696. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.kt +35 -0
  697. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputLocalData.kt +33 -0
  698. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +1139 -0
  699. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.kt +46 -0
  700. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt +210 -0
  701. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.kt +40 -0
  702. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputTextWatcher.kt +66 -0
  703. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextScrollWatcher.kt +49 -0
  704. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +45 -0
  705. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedView.kt +12 -9
  706. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.kt +6 -4
  707. package/ReactAndroid/src/main/java/com/facebook/react/views/view/MeasureUtil.kt +2 -2
  708. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +37 -11
  709. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +51 -4
  710. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ViewGroupClickEvent.kt +4 -4
  711. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +19 -23
  712. package/ReactAndroid/src/main/java/com/facebook/systrace/SystraceMessage.kt +10 -11
  713. package/ReactAndroid/src/main/java/com/facebook/systrace/TraceListener.kt +3 -3
  714. package/ReactAndroid/src/main/jni/CMakeLists.txt +22 -9
  715. package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +3 -0
  716. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/CMakeLists.txt +3 -1
  717. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.h +1 -2
  718. package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +4 -7
  719. package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +3 -2
  720. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +2 -9
  721. package/ReactAndroid/src/main/jni/react/fabric/EventBeatManager.cpp +3 -8
  722. package/ReactAndroid/src/main/jni/react/fabric/EventBeatManager.h +1 -9
  723. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +12 -0
  724. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +4 -0
  725. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +130 -13
  726. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +9 -0
  727. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +186 -0
  728. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.h +38 -0
  729. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +10 -0
  730. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +1 -0
  731. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +5 -2
  732. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.h +2 -1
  733. package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +2 -10
  734. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +166 -138
  735. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +34 -28
  736. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/CMakeLists.txt +2 -5
  737. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +3 -7
  738. package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +2 -0
  739. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +54 -6
  740. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +14 -18
  741. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +10 -17
  742. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.cpp +1 -0
  743. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +9 -14
  744. package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +33 -0
  745. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -15
  746. package/ReactAndroid/src/main/jni/react/jni/SafeReleaseJniRef.cpp +30 -0
  747. package/ReactAndroid/src/main/jni/react/jni/SafeReleaseJniRef.h +12 -1
  748. package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.cpp +3 -3
  749. package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +2 -0
  750. package/ReactAndroid/src/main/jni/react/jsctooling/CMakeLists.txt +2 -0
  751. package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +3 -2
  752. package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +3 -6
  753. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +10 -0
  754. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +4 -0
  755. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +4 -1
  756. package/ReactAndroid/src/main/jni/react/reactperflogger/CMakeLists.txt +3 -1
  757. package/ReactAndroid/src/main/jni/react/runtime/cxxreactpackage/CMakeLists.txt +4 -7
  758. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +4 -8
  759. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +5 -7
  760. package/ReactAndroid/src/main/jni/react/runtime/jni/JBindingsInstaller.h +2 -4
  761. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +0 -4
  762. package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/CMakeLists.txt +3 -1
  763. package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +4 -7
  764. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CallInvokerHolder.cpp +1 -7
  765. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CallInvokerHolder.h +4 -3
  766. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/NativeMethodCallInvokerHolder.cpp +1 -8
  767. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/NativeMethodCallInvokerHolder.h +4 -3
  768. package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +3 -2
  769. package/ReactAndroid/src/main/jni/third-party/boost/CMakeLists.txt +1 -0
  770. package/ReactAndroid/src/main/jni/third-party/double-conversion/CMakeLists.txt +4 -1
  771. package/ReactAndroid/src/main/jni/third-party/fast_float/CMakeLists.txt +2 -1
  772. package/ReactAndroid/src/main/jni/third-party/fmt/CMakeLists.txt +2 -1
  773. package/ReactAndroid/src/main/jni/third-party/glog/CMakeLists.txt +14 -9
  774. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +5 -0
  775. package/ReactAndroid/src/main/res/devsupport/values-am/strings.xml +6 -0
  776. package/ReactAndroid/src/main/res/shell/values/styles.xml +4 -4
  777. package/ReactAndroid/src/main/res/systeminfo/values/strings.xml +4 -0
  778. package/ReactAndroid/src/main/res/systeminfo/values-af/strings.xml +6 -0
  779. package/ReactAndroid/src/main/res/systeminfo/values-ar/strings.xml +6 -0
  780. package/ReactAndroid/src/main/res/systeminfo/values-az/strings.xml +6 -0
  781. package/ReactAndroid/src/main/res/systeminfo/values-be/strings.xml +6 -0
  782. package/ReactAndroid/src/main/res/systeminfo/values-bg/strings.xml +6 -0
  783. package/ReactAndroid/src/main/res/systeminfo/values-bn/strings.xml +6 -0
  784. package/ReactAndroid/src/main/res/systeminfo/values-ca/strings.xml +6 -0
  785. package/ReactAndroid/src/main/res/systeminfo/values-cs/strings.xml +6 -0
  786. package/ReactAndroid/src/main/res/systeminfo/values-da/strings.xml +6 -0
  787. package/ReactAndroid/src/main/res/systeminfo/values-de/strings.xml +6 -0
  788. package/ReactAndroid/src/main/res/systeminfo/values-el/strings.xml +6 -0
  789. package/ReactAndroid/src/main/res/systeminfo/values-en-rGB/strings.xml +6 -0
  790. package/ReactAndroid/src/main/res/systeminfo/values-es/strings.xml +6 -0
  791. package/ReactAndroid/src/main/res/systeminfo/values-es-rES/strings.xml +6 -0
  792. package/ReactAndroid/src/main/res/systeminfo/values-et/strings.xml +6 -0
  793. package/ReactAndroid/src/main/res/systeminfo/values-fa/strings.xml +6 -0
  794. package/ReactAndroid/src/main/res/systeminfo/values-fi/strings.xml +6 -0
  795. package/ReactAndroid/src/main/res/systeminfo/values-fr/strings.xml +6 -0
  796. package/ReactAndroid/src/main/res/systeminfo/values-fr-rCA/strings.xml +6 -0
  797. package/ReactAndroid/src/main/res/systeminfo/values-gu/strings.xml +6 -0
  798. package/ReactAndroid/src/main/res/systeminfo/values-hi/strings.xml +6 -0
  799. package/ReactAndroid/src/main/res/systeminfo/values-hr/strings.xml +6 -0
  800. package/ReactAndroid/src/main/res/systeminfo/values-hu/strings.xml +6 -0
  801. package/ReactAndroid/src/main/res/systeminfo/values-hy/strings.xml +6 -0
  802. package/ReactAndroid/src/main/res/systeminfo/values-is/strings.xml +6 -0
  803. package/ReactAndroid/src/main/res/systeminfo/values-it/strings.xml +6 -0
  804. package/ReactAndroid/src/main/res/systeminfo/values-iw/strings.xml +6 -0
  805. package/ReactAndroid/src/main/res/systeminfo/values-ja/strings.xml +6 -0
  806. package/ReactAndroid/src/main/res/systeminfo/values-ka/strings.xml +6 -0
  807. package/ReactAndroid/src/main/res/systeminfo/values-kk/strings.xml +6 -0
  808. package/ReactAndroid/src/main/res/systeminfo/values-km/strings.xml +6 -0
  809. package/ReactAndroid/src/main/res/systeminfo/values-kn/strings.xml +6 -0
  810. package/ReactAndroid/src/main/res/systeminfo/values-ko/strings.xml +6 -0
  811. package/ReactAndroid/src/main/res/systeminfo/values-ky/strings.xml +6 -0
  812. package/ReactAndroid/src/main/res/systeminfo/values-lo/strings.xml +6 -0
  813. package/ReactAndroid/src/main/res/systeminfo/values-lt/strings.xml +6 -0
  814. package/ReactAndroid/src/main/res/systeminfo/values-lv/strings.xml +6 -0
  815. package/ReactAndroid/src/main/res/systeminfo/values-mk/strings.xml +6 -0
  816. package/ReactAndroid/src/main/res/systeminfo/values-ml/strings.xml +6 -0
  817. package/ReactAndroid/src/main/res/systeminfo/values-mn/strings.xml +6 -0
  818. package/ReactAndroid/src/main/res/systeminfo/values-mr/strings.xml +6 -0
  819. package/ReactAndroid/src/main/res/systeminfo/values-ms/strings.xml +6 -0
  820. package/ReactAndroid/src/main/res/systeminfo/values-my/strings.xml +6 -0
  821. package/ReactAndroid/src/main/res/systeminfo/values-ne/strings.xml +6 -0
  822. package/ReactAndroid/src/main/res/systeminfo/values-nl/strings.xml +6 -0
  823. package/ReactAndroid/src/main/res/systeminfo/values-pa/strings.xml +6 -0
  824. package/ReactAndroid/src/main/res/systeminfo/values-pl/strings.xml +6 -0
  825. package/ReactAndroid/src/main/res/systeminfo/values-pt/strings.xml +6 -0
  826. package/ReactAndroid/src/main/res/systeminfo/values-pt-rPT/strings.xml +6 -0
  827. package/ReactAndroid/src/main/res/systeminfo/values-ro/strings.xml +6 -0
  828. package/ReactAndroid/src/main/res/systeminfo/values-ru/strings.xml +6 -0
  829. package/ReactAndroid/src/main/res/systeminfo/values-si/strings.xml +6 -0
  830. package/ReactAndroid/src/main/res/systeminfo/values-sk/strings.xml +6 -0
  831. package/ReactAndroid/src/main/res/systeminfo/values-sl/strings.xml +6 -0
  832. package/ReactAndroid/src/main/res/systeminfo/values-sq/strings.xml +6 -0
  833. package/ReactAndroid/src/main/res/systeminfo/values-sr/strings.xml +6 -0
  834. package/ReactAndroid/src/main/res/systeminfo/values-sv/strings.xml +6 -0
  835. package/ReactAndroid/src/main/res/systeminfo/values-sw/strings.xml +6 -0
  836. package/ReactAndroid/src/main/res/systeminfo/values-ta/strings.xml +6 -0
  837. package/ReactAndroid/src/main/res/systeminfo/values-te/strings.xml +6 -0
  838. package/ReactAndroid/src/main/res/systeminfo/values-th/strings.xml +6 -0
  839. package/ReactAndroid/src/main/res/systeminfo/values-tr/strings.xml +6 -0
  840. package/ReactAndroid/src/main/res/systeminfo/values-uk/strings.xml +6 -0
  841. package/ReactAndroid/src/main/res/systeminfo/values-ur/strings.xml +6 -0
  842. package/ReactAndroid/src/main/res/systeminfo/values-vi/strings.xml +6 -0
  843. package/ReactAndroid/src/main/res/systeminfo/values-zh-rCN/strings.xml +6 -0
  844. package/ReactAndroid/src/main/res/systeminfo/values-zh-rHK/strings.xml +6 -0
  845. package/ReactAndroid/src/main/res/systeminfo/values-zh-rTW/strings.xml +6 -0
  846. package/ReactAndroid/src/main/res/systeminfo/values-zu/strings.xml +6 -0
  847. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +15 -0
  848. package/ReactAndroid/src/main/res/views/uimanager/values-am/strings.xml +6 -0
  849. package/ReactCommon/React-Fabric.podspec +4 -59
  850. package/ReactCommon/React-FabricComponents.podspec +4 -40
  851. package/ReactCommon/React-FabricImage.podspec +2 -19
  852. package/ReactCommon/React-Mapbuffer.podspec +2 -2
  853. package/ReactCommon/ReactCommon.podspec +4 -13
  854. package/ReactCommon/callinvoker/CMakeLists.txt +3 -6
  855. package/ReactCommon/cmake-utils/react-native-flags.cmake +39 -0
  856. package/ReactCommon/cxxreact/CMakeLists.txt +4 -6
  857. package/ReactCommon/cxxreact/CxxNativeModule.cpp +23 -33
  858. package/ReactCommon/cxxreact/JSExecutor.cpp +5 -2
  859. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +12 -10
  860. package/ReactCommon/cxxreact/JSModulesUnbundle.h +2 -4
  861. package/ReactCommon/cxxreact/JsArgumentHelpers-inl.h +28 -21
  862. package/ReactCommon/cxxreact/JsArgumentHelpers.h +1 -2
  863. package/ReactCommon/cxxreact/MethodCall.cpp +17 -17
  864. package/ReactCommon/cxxreact/ModuleRegistry.cpp +15 -12
  865. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +4 -8
  866. package/ReactCommon/cxxreact/RAMBundleRegistry.cpp +2 -1
  867. package/ReactCommon/cxxreact/React-cxxreact.podspec +4 -13
  868. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  869. package/ReactCommon/cxxreact/TraceSection.h +1 -1
  870. package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +2 -2
  871. package/ReactCommon/devtoolsruntimesettings/CMakeLists.txt +4 -9
  872. package/ReactCommon/hermes/React-hermes.podspec +4 -13
  873. package/ReactCommon/hermes/executor/CMakeLists.txt +2 -1
  874. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +3 -6
  875. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +2 -8
  876. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.h +2 -8
  877. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeSamplingProfileSerializer.cpp +100 -106
  878. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.cpp +1 -1
  879. package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +2 -8
  880. package/ReactCommon/hermes/inspector-modern/chrome/Registration.h +2 -8
  881. package/ReactCommon/jsc/CMakeLists.txt +4 -7
  882. package/ReactCommon/jsc/React-jsc.podspec +1 -1
  883. package/ReactCommon/jserrorhandler/CMakeLists.txt +2 -1
  884. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +12 -5
  885. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +2 -11
  886. package/ReactCommon/jsi/CMakeLists.txt +5 -6
  887. package/ReactCommon/jsi/React-jsi.podspec +2 -15
  888. package/ReactCommon/jsiexecutor/CMakeLists.txt +4 -5
  889. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +4 -14
  890. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +7 -8
  891. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +1 -2
  892. package/ReactCommon/jsinspector-modern/CMakeLists.txt +7 -6
  893. package/ReactCommon/jsinspector-modern/HostAgent.cpp +304 -208
  894. package/ReactCommon/jsinspector-modern/HostAgent.h +8 -48
  895. package/ReactCommon/jsinspector-modern/HostTarget.cpp +1 -1
  896. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +1 -0
  897. package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +4 -3
  898. package/ReactCommon/jsinspector-modern/InstanceAgent.h +1 -1
  899. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +22 -0
  900. package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +2 -4
  901. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +4 -14
  902. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +1 -1
  903. package/ReactCommon/jsinspector-modern/RuntimeAgentDelegate.h +1 -1
  904. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +27 -12
  905. package/ReactCommon/jsinspector-modern/TracingAgent.h +2 -1
  906. package/ReactCommon/jsinspector-modern/cdp/CMakeLists.txt +26 -0
  907. package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +50 -0
  908. package/ReactCommon/jsinspector-modern/network/CMakeLists.txt +27 -0
  909. package/ReactCommon/jsinspector-modern/network/CdpNetwork.cpp +143 -0
  910. package/ReactCommon/jsinspector-modern/network/CdpNetwork.h +110 -0
  911. package/ReactCommon/jsinspector-modern/network/HttpUtils.cpp +157 -0
  912. package/ReactCommon/jsinspector-modern/network/HttpUtils.h +27 -0
  913. package/ReactCommon/jsinspector-modern/network/NetworkReporter.cpp +195 -0
  914. package/ReactCommon/jsinspector-modern/network/NetworkReporter.h +139 -0
  915. package/ReactCommon/jsinspector-modern/network/NetworkTypes.h +42 -0
  916. package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +52 -0
  917. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +1 -2
  918. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +12 -0
  919. package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +3 -6
  920. package/ReactCommon/jsinspector-modern/tracing/{EventLoopTaskReporter.cpp → EventLoopReporter.cpp} +22 -9
  921. package/ReactCommon/jsinspector-modern/tracing/{EventLoopTaskReporter.h → EventLoopReporter.h} +13 -7
  922. package/ReactCommon/jsinspector-modern/tracing/InstanceTracingProfile.h +2 -5
  923. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +55 -42
  924. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +22 -13
  925. package/ReactCommon/jsinspector-modern/tracing/ProfileTreeNode.h +39 -30
  926. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +3 -8
  927. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfile.h +16 -0
  928. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +186 -162
  929. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.h +138 -5
  930. package/ReactCommon/jsinspector-modern/tracing/TraceEventProfile.h +40 -92
  931. package/ReactCommon/jsinspector-modern/tracing/tests/ProfileTreeNodeTest.cpp +27 -35
  932. package/ReactCommon/jsinspector-modern/tracing/tests/RuntimeSamplingProfileTraceEventSerializerTest.cpp +290 -0
  933. package/ReactCommon/jsitooling/CMakeLists.txt +4 -8
  934. package/ReactCommon/jsitooling/React-jsitooling.podspec +3 -21
  935. package/ReactCommon/logger/CMakeLists.txt +2 -1
  936. package/ReactCommon/logger/React-logger.podspec +1 -9
  937. package/ReactCommon/logger/react_native_log.cpp +2 -2
  938. package/ReactCommon/oscompat/CMakeLists.txt +2 -1
  939. package/ReactCommon/react/bridging/CMakeLists.txt +3 -7
  940. package/ReactCommon/react/debug/CMakeLists.txt +3 -8
  941. package/ReactCommon/react/featureflags/CMakeLists.txt +4 -9
  942. package/ReactCommon/react/featureflags/React-featureflags.podspec +2 -7
  943. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +49 -41
  944. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +63 -53
  945. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +223 -187
  946. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +30 -26
  947. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +46 -38
  948. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +100 -82
  949. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +51 -0
  950. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +33 -0
  951. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +33 -0
  952. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +15 -13
  953. package/ReactCommon/react/nativemodule/core/CMakeLists.txt +3 -8
  954. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +4 -6
  955. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +2 -0
  956. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +23 -0
  957. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.h +29 -0
  958. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +12 -18
  959. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +6 -1
  960. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +3 -9
  961. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +3 -0
  962. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +29 -2
  963. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +7 -39
  964. package/ReactCommon/react/nativemodule/cputime/CPUTime.h +30 -2
  965. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +3 -7
  966. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +3 -10
  967. package/ReactCommon/react/nativemodule/devtoolsruntimesettings/CMakeLists.txt +3 -7
  968. package/ReactCommon/react/nativemodule/dom/CMakeLists.txt +3 -7
  969. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +2 -8
  970. package/ReactCommon/react/nativemodule/fantomforcedclonecommithook/NativeFantomForcedCloneCommitHook.cpp +84 -0
  971. package/ReactCommon/react/nativemodule/fantomforcedclonecommithook/NativeFantomForcedCloneCommitHook.h +30 -0
  972. package/ReactCommon/react/nativemodule/featureflags/CMakeLists.txt +3 -7
  973. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +58 -48
  974. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +25 -21
  975. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +3 -10
  976. package/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt +3 -8
  977. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +4 -11
  978. package/ReactCommon/react/nativemodule/microtasks/CMakeLists.txt +3 -7
  979. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +3 -10
  980. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -17
  981. package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +4 -8
  982. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +3 -0
  983. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +21 -1
  984. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.kt +32 -5
  985. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleLegacyModule.mm +5 -10
  986. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +18 -15
  987. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +53 -9
  988. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +29 -6
  989. package/ReactCommon/react/performance/timeline/CMakeLists.txt +5 -9
  990. package/ReactCommon/react/performance/timeline/CircularBuffer.h +0 -1
  991. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +53 -15
  992. package/ReactCommon/react/performance/timeline/PerformanceEntryCircularBuffer.cpp +12 -3
  993. package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.cpp +5 -2
  994. package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.h +0 -1
  995. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +29 -33
  996. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +9 -4
  997. package/ReactCommon/react/performance/timeline/PerformanceObserver.cpp +8 -3
  998. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +3 -11
  999. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryReporterTest.cpp +80 -165
  1000. package/ReactCommon/react/performance/timeline/tests/PerformanceObserverTest.cpp +38 -71
  1001. package/ReactCommon/react/renderer/animations/CMakeLists.txt +3 -7
  1002. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +5 -9
  1003. package/ReactCommon/react/renderer/attributedstring/AttributedString.cpp +2 -9
  1004. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +3 -3
  1005. package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +3 -7
  1006. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +2 -1
  1007. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +8 -1
  1008. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +4 -6
  1009. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -2
  1010. package/ReactCommon/react/renderer/attributedstring/conversions.h +38 -6
  1011. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +3 -7
  1012. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +25 -5
  1013. package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +3 -7
  1014. package/ReactCommon/react/renderer/components/image/CMakeLists.txt +3 -7
  1015. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +3 -7
  1016. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.h +1 -2
  1017. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +1 -1
  1018. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.h +0 -1
  1019. package/ReactCommon/react/renderer/components/modal/CMakeLists.txt +3 -7
  1020. package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +3 -7
  1021. package/ReactCommon/react/renderer/components/rncore/EventEmitters.cpp +48 -48
  1022. package/ReactCommon/react/renderer/components/root/CMakeLists.txt +3 -7
  1023. package/ReactCommon/react/renderer/components/safeareaview/CMakeLists.txt +4 -10
  1024. package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +3 -7
  1025. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +15 -0
  1026. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +3 -0
  1027. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +1 -0
  1028. package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +4 -10
  1029. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +13 -9
  1030. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +6 -0
  1031. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +111 -25
  1032. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +22 -2
  1033. package/ReactCommon/react/renderer/components/text/{ParagraphState.cpp → platform/android/react/renderer/components/text/ParagraphState.cpp} +0 -2
  1034. package/ReactCommon/react/renderer/components/text/{ParagraphState.h → platform/android/react/renderer/components/text/ParagraphState.h} +9 -14
  1035. package/ReactCommon/react/renderer/components/text/platform/cxx/react/renderer/components/text/ParagraphState.h +42 -0
  1036. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +8 -1
  1037. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h +2 -0
  1038. package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +25 -11
  1039. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +3 -7
  1040. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +30 -19
  1041. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +12 -11
  1042. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/conversions.h +5 -5
  1043. package/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +3 -7
  1044. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +1 -1
  1045. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +21 -1
  1046. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +8 -6
  1047. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +3 -7
  1048. package/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h +16 -6
  1049. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +2 -1
  1050. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +2 -11
  1051. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +0 -2
  1052. package/ReactCommon/react/renderer/components/view/conversions.h +135 -79
  1053. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +18 -0
  1054. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +1 -0
  1055. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +6 -1
  1056. package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +4 -0
  1057. package/ReactCommon/react/renderer/consistency/CMakeLists.txt +3 -7
  1058. package/ReactCommon/react/renderer/core/CMakeLists.txt +3 -7
  1059. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +2 -3
  1060. package/ReactCommon/react/renderer/core/ConcreteState.h +23 -2
  1061. package/ReactCommon/react/renderer/core/DynamicEventPayload.cpp +44 -0
  1062. package/ReactCommon/react/renderer/core/DynamicEventPayload.h +30 -0
  1063. package/ReactCommon/react/renderer/core/EventEmitter.cpp +7 -9
  1064. package/ReactCommon/react/renderer/core/EventEmitter.h +2 -3
  1065. package/ReactCommon/react/renderer/core/EventPayload.h +13 -0
  1066. package/ReactCommon/react/renderer/core/EventQueue.cpp +26 -26
  1067. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +2 -0
  1068. package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
  1069. package/ReactCommon/react/renderer/core/RawEvent.h +10 -2
  1070. package/ReactCommon/react/renderer/core/RawProps.cpp +1 -99
  1071. package/ReactCommon/react/renderer/core/RawProps.h +0 -11
  1072. package/ReactCommon/react/renderer/core/ReactEventPriority.h +5 -0
  1073. package/ReactCommon/react/renderer/core/ShadowNode.cpp +4 -4
  1074. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +3 -0
  1075. package/ReactCommon/react/renderer/core/State.h +2 -0
  1076. package/ReactCommon/react/renderer/core/graphicsConversions.h +25 -17
  1077. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +0 -36
  1078. package/ReactCommon/react/renderer/core/tests/TestComponent.h +0 -4
  1079. package/ReactCommon/react/renderer/css/CMakeLists.txt +7 -7
  1080. package/ReactCommon/react/renderer/css/CSSTokenizer.h +12 -49
  1081. package/ReactCommon/react/renderer/css/tests/CSSTokenizerTest.cpp +10 -0
  1082. package/ReactCommon/react/renderer/debug/CMakeLists.txt +3 -7
  1083. package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +27 -16
  1084. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +14 -5
  1085. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +2 -16
  1086. package/ReactCommon/react/renderer/dom/CMakeLists.txt +3 -7
  1087. package/ReactCommon/react/renderer/element/CMakeLists.txt +3 -7
  1088. package/ReactCommon/react/renderer/graphics/BackgroundImage.h +2 -1
  1089. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +3 -7
  1090. package/ReactCommon/react/renderer/graphics/ColorStop.h +28 -0
  1091. package/ReactCommon/react/renderer/graphics/LinearGradient.h +1 -12
  1092. package/ReactCommon/react/renderer/graphics/RadialGradient.h +92 -0
  1093. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +2 -19
  1094. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +2 -2
  1095. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +2 -2
  1096. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +3 -7
  1097. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +1 -7
  1098. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -13
  1099. package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +3 -7
  1100. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +3 -8
  1101. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +3 -7
  1102. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +73 -55
  1103. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +5 -0
  1104. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +6 -7
  1105. package/ReactCommon/react/renderer/mounting/ShadowTree.h +47 -36
  1106. package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +3 -1
  1107. package/ReactCommon/react/renderer/mounting/tests/OrderIndexTest.cpp +44 -12
  1108. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +39 -6
  1109. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +41 -12
  1110. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +2 -1
  1111. package/ReactCommon/react/renderer/observers/events/CMakeLists.txt +3 -7
  1112. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +0 -25
  1113. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +5 -2
  1114. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.h +3 -1
  1115. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +3 -7
  1116. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -11
  1117. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +14 -20
  1118. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +22 -10
  1119. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +3 -7
  1120. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +43 -20
  1121. package/ReactCommon/react/renderer/scheduler/Scheduler.h +15 -1
  1122. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +4 -0
  1123. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +84 -1
  1124. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +8 -0
  1125. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +3 -7
  1126. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +3 -7
  1127. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutContext.h +7 -11
  1128. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManagerExtended.h +124 -0
  1129. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +7 -0
  1130. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/JPreparedLayout.h +20 -0
  1131. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +126 -19
  1132. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +100 -0
  1133. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/{TextLayoutManager.cpp → react/renderer/textlayoutmanager/TextLayoutManager.cpp} +1 -18
  1134. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.h +57 -0
  1135. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.h +3 -0
  1136. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +47 -24
  1137. package/ReactCommon/react/renderer/textlayoutmanager/{TextLayoutManager.h → platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h} +2 -29
  1138. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +2 -0
  1139. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +4 -8
  1140. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +54 -23
  1141. package/ReactCommon/react/renderer/uimanager/UIManager.h +27 -7
  1142. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +11 -1
  1143. package/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h +19 -1
  1144. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +30 -0
  1145. package/ReactCommon/react/renderer/uimanager/UIManagerNativeAnimatedDelegate.h +24 -0
  1146. package/ReactCommon/react/renderer/uimanager/UIManagerUpdateShadowTree.cpp +223 -0
  1147. package/ReactCommon/react/renderer/uimanager/consistency/CMakeLists.txt +3 -7
  1148. package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +2 -1
  1149. package/ReactCommon/react/runtime/CMakeLists.txt +4 -7
  1150. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +4 -13
  1151. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +4 -11
  1152. package/ReactCommon/react/runtime/ReactInstance.cpp +10 -5
  1153. package/ReactCommon/react/runtime/ReactInstance.h +2 -1
  1154. package/ReactCommon/react/runtime/TimerManager.cpp +6 -4
  1155. package/ReactCommon/react/runtime/TimerManager.h +3 -1
  1156. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +2 -1
  1157. package/ReactCommon/react/runtime/iostests/RCTHostTests.mm +1 -0
  1158. package/ReactCommon/react/runtime/nativeviewconfig/CMakeLists.txt +2 -1
  1159. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +2 -11
  1160. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +2 -0
  1161. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +17 -5
  1162. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +2 -0
  1163. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +64 -4
  1164. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +9 -5
  1165. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +0 -3
  1166. package/ReactCommon/react/timing/CMakeLists.txt +3 -6
  1167. package/ReactCommon/react/utils/CMakeLists.txt +9 -9
  1168. package/ReactCommon/react/utils/React-utils.podspec +13 -17
  1169. package/ReactCommon/react/utils/platform/android/react/utils/LowPriorityExecutor.cpp +95 -0
  1170. package/{ReactAndroid/src/main/java/com/facebook/react/bridge/MemoryPressure.kt → ReactCommon/react/utils/platform/android/react/utils/LowPriorityExecutor.h} +6 -6
  1171. package/ReactCommon/react/utils/platform/cxx/react/utils/LowPriorityExecutor.h +18 -0
  1172. package/ReactCommon/react/utils/platform/ios/react/utils/LowPriorityExecutor.h +16 -0
  1173. package/ReactCommon/react/utils/platform/ios/react/utils/LowPriorityExecutor.mm +22 -0
  1174. package/ReactCommon/reactperflogger/CMakeLists.txt +3 -7
  1175. package/ReactCommon/reactperflogger/React-perflogger.podspec +2 -12
  1176. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +7 -3
  1177. package/ReactCommon/runtimeexecutor/CMakeLists.txt +3 -6
  1178. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +0 -6
  1179. package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +0 -12
  1180. package/ReactCommon/yoga/cmake/project-defaults.cmake +4 -4
  1181. package/ReactCommon/yoga/yoga/debug/AssertFatal.cpp +1 -0
  1182. package/ReactCommon/yoga/yoga/event/event.h +6 -6
  1183. package/flow/global.js +1 -0
  1184. package/gradle/libs.versions.toml +17 -6
  1185. package/index.js +54 -334
  1186. package/interface.js +0 -4
  1187. package/jest/resolver.js +31 -0
  1188. package/jest-preset.js +1 -0
  1189. package/package.json +105 -34
  1190. package/scripts/cocoapods/fabric.rb +0 -1
  1191. package/scripts/cocoapods/helpers.rb +12 -1
  1192. package/scripts/cocoapods/new_architecture.rb +46 -17
  1193. package/scripts/cocoapods/rndependencies.rb +211 -0
  1194. package/scripts/cocoapods/utils.rb +2 -0
  1195. package/scripts/codegen/generate-artifacts-executor/constants.js +80 -0
  1196. package/scripts/codegen/generate-artifacts-executor/generateAppDependencyProvider.js +66 -0
  1197. package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +116 -0
  1198. package/scripts/codegen/generate-artifacts-executor/generateFBReactNativeSpecIOS.js +39 -0
  1199. package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +114 -0
  1200. package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +120 -0
  1201. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +223 -0
  1202. package/scripts/codegen/generate-artifacts-executor/generateRNCoreComponentsIOS.js +38 -0
  1203. package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +93 -0
  1204. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +113 -0
  1205. package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +92 -0
  1206. package/scripts/codegen/generate-artifacts-executor/index.js +232 -0
  1207. package/scripts/codegen/generate-artifacts-executor/utils.js +399 -0
  1208. package/scripts/codegen/templates/RCTAppDependencyProviderMM.template +5 -0
  1209. package/{React/Base/UIKitProxies/RCTInitializeUIKitProxies.h → scripts/codegen/templates/RCTUnstableModulesRequiringMainQueueSetupProviderH.template} +5 -1
  1210. package/scripts/codegen/templates/RCTUnstableModulesRequiringMainQueueSetupProviderMM.template +19 -0
  1211. package/scripts/codegen/templates/ReactCodegen.podspec.template +2 -8
  1212. package/scripts/generate-codegen-artifacts.js +1 -1
  1213. package/scripts/react_native_pods.rb +18 -7
  1214. package/sdks/.hermesversion +1 -1
  1215. package/sdks/hermes-engine/hermes-utils.rb +7 -0
  1216. package/sdks/hermes-engine/utils/build-apple-framework.sh +4 -1
  1217. package/sdks/hermes-engine/utils/build-hermes-xcode.sh +4 -3
  1218. package/sdks/hermesc/osx-bin/hermes +0 -0
  1219. package/sdks/hermesc/osx-bin/hermesc +0 -0
  1220. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  1221. package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
  1222. package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
  1223. package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
  1224. package/src/private/animated/NativeAnimatedHelper.js +21 -8
  1225. package/src/private/animated/createAnimatedPropsHook.js +11 -16
  1226. package/src/private/animated/createAnimatedPropsMemoHook.js +1 -2
  1227. package/src/private/components/{SafeAreaView_INTERNAL_DO_NOT_USE.js → safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js} +6 -6
  1228. package/src/private/components/{HScrollViewNativeComponents.js → scrollview/HScrollViewNativeComponents.js} +8 -8
  1229. package/src/private/components/scrollview/VScrollViewNativeComponents.js +25 -0
  1230. package/src/private/{devmenu → devsupport/devmenu}/DevMenu.js +1 -1
  1231. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BorderBox.js +3 -3
  1232. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BoxInspector.js +6 -5
  1233. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementBox.js +8 -6
  1234. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementProperties.js +11 -10
  1235. package/src/private/{inspector → devsupport/devmenu/elementinspector}/Inspector.js +14 -12
  1236. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorOverlay.js +5 -4
  1237. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorPanel.js +9 -8
  1238. package/src/private/{inspector → devsupport/devmenu/elementinspector}/NetworkOverlay.js +10 -9
  1239. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ReactDevToolsOverlay.js +7 -7
  1240. package/src/private/{inspector → devsupport/devmenu/elementinspector}/StyleInspector.js +7 -6
  1241. package/src/private/{inspector → devsupport/devmenu/elementinspector}/XHRInterceptor.js +2 -2
  1242. package/src/private/{inspector → devsupport/devmenu/elementinspector}/getInspectorDataForViewAtPoint.js +4 -4
  1243. package/src/private/{inspector → devsupport/devmenu/elementinspector}/resolveBoxStyle.js +1 -1
  1244. package/src/private/{inspector → devsupport/devmenu/perfmonitor}/PerformanceOverlay.js +6 -5
  1245. package/src/private/{specs_DEPRECATED/modules → devsupport/devmenu/specs}/NativeDevMenu.js +2 -2
  1246. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.android.js +1 -1
  1247. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.ios.js +1 -1
  1248. package/src/private/{debugging → devsupport/rndevtools}/setUpFuseboxReactDevToolsDispatcher.js +1 -1
  1249. package/src/private/{fusebox → devsupport/rndevtools}/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
  1250. package/src/private/{specs_DEPRECATED/modules → devsupport/rndevtools/specs}/NativeReactDevToolsSettingsManager.js +2 -2
  1251. package/src/private/featureflags/ReactNativeFeatureFlags.js +72 -80
  1252. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +9 -1
  1253. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -13
  1254. package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
  1255. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +1 -1
  1256. package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +1 -1
  1257. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +3 -0
  1258. package/src/private/styles/composeStyles.js +12 -5
  1259. package/src/private/types/HostComponent.js +1 -1
  1260. package/src/private/types/HostInstance.js +67 -1
  1261. package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -5
  1262. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -18
  1263. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +6 -0
  1264. package/src/private/webapis/performance/Performance.js +1 -3
  1265. package/src/private/webapis/performance/PerformanceEntry.js +6 -1
  1266. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -0
  1267. package/src/private/webapis/performance/specs/NativePerformance.js +10 -1
  1268. package/src/types/bom.js.flow +96 -0
  1269. package/src/types/cssom.js.flow +576 -0
  1270. package/src/types/dom.js.flow +19 -0
  1271. package/src/types/globals.d.ts +42 -0
  1272. package/src/types/streams.js.flow +141 -0
  1273. package/third-party-podspecs/RCT-Folly.podspec +7 -6
  1274. package/third-party-podspecs/ReactNativeDependencies.podspec +86 -0
  1275. package/third-party-podspecs/fast_float.podspec +2 -2
  1276. package/third-party-podspecs/replace_dependencies_version.js +107 -0
  1277. package/types/index.d.ts +6 -3
  1278. package/types/public/ReactNativeTVTypes.d.ts +42 -42
  1279. package/types/public/ReactNativeTypes.d.ts +2 -2
  1280. package/types/tsconfig.test.json +16 -0
  1281. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +0 -38
  1282. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +0 -22
  1283. package/Libraries/Blob/FileReader_new.js +0 -231
  1284. package/Libraries/Blob/FileReader_old.js +0 -186
  1285. package/Libraries/Blob/__mocks__/FileReaderModule.js +0 -20
  1286. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +0 -32
  1287. package/Libraries/Core/__mocks__/ErrorUtils.js +0 -33
  1288. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -19
  1289. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +0 -49
  1290. package/Libraries/Events/CustomEvent.js +0 -32
  1291. package/Libraries/Events/EventPolyfill.js +0 -239
  1292. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +0 -118
  1293. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +0 -134
  1294. package/Libraries/Network/XMLHttpRequest_new.js +0 -794
  1295. package/Libraries/Network/XMLHttpRequest_old.js +0 -701
  1296. package/Libraries/NewAppScreen/components/DebugInstructions.js +0 -48
  1297. package/Libraries/NewAppScreen/components/Header.js +0 -77
  1298. package/Libraries/NewAppScreen/components/HermesBadge.js +0 -72
  1299. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -148
  1300. package/Libraries/NewAppScreen/components/ReloadInstructions.js +0 -39
  1301. package/Libraries/NewAppScreen/components/logo.png +0 -0
  1302. package/Libraries/NewAppScreen/index.js +0 -25
  1303. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +0 -58
  1304. package/Libraries/Utilities/__mocks__/BackHandler.js +0 -45
  1305. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +0 -16
  1306. package/Libraries/Utilities/__mocks__/PixelRatio.js +0 -25
  1307. package/Libraries/WebSocket/WebSocketEvent.js +0 -30
  1308. package/Libraries/WebSocket/WebSocket_new.js +0 -325
  1309. package/Libraries/WebSocket/WebSocket_old.js +0 -297
  1310. package/Libraries/WebSocket/__mocks__/event-target-shim.js +0 -27
  1311. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +0 -30
  1312. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +0 -81
  1313. package/React/Base/UIKitProxies/RCTInitialAccessibilityValuesProxy.h +0 -30
  1314. package/React/Base/UIKitProxies/RCTInitialAccessibilityValuesProxy.mm +0 -185
  1315. package/React/Base/UIKitProxies/RCTInitializeUIKitProxies.mm +0 -23
  1316. package/React/Base/UIKitProxies/RCTKeyWindowValuesProxy.h +0 -25
  1317. package/React/Base/UIKitProxies/RCTKeyWindowValuesProxy.mm +0 -129
  1318. package/React/Base/UIKitProxies/RCTTraitCollectionProxy.h +0 -26
  1319. package/React/Base/UIKitProxies/RCTTraitCollectionProxy.mm +0 -80
  1320. package/React/Base/UIKitProxies/RCTWindowSafeAreaProxy.h +0 -26
  1321. package/React/Base/UIKitProxies/RCTWindowSafeAreaProxy.mm +0 -70
  1322. package/React/Fabric/Utils/RCTViewFinder.mm +0 -34
  1323. package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.kt +0 -23
  1324. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/KeepGettersAndSetters.kt +0 -24
  1325. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/proguard_annotations.pro +0 -21
  1326. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +0 -84
  1327. package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.java +0 -59
  1328. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +0 -1240
  1329. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +0 -900
  1330. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +0 -29
  1331. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.java +0 -29
  1332. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.java +0 -37
  1333. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +0 -234
  1334. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.java +0 -57
  1335. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.java +0 -103
  1336. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java +0 -110
  1337. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java +0 -89
  1338. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedAsyncTask.java +0 -42
  1339. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedRunnable.java +0 -36
  1340. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Inspector.java +0 -110
  1341. package/ReactAndroid/src/main/java/com/facebook/react/bridge/InvalidIteratorException.kt +0 -18
  1342. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoader.java +0 -97
  1343. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSONArguments.java +0 -110
  1344. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +0 -148
  1345. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptContextHolder.java +0 -33
  1346. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptExecutor.java +0 -31
  1347. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JsonWriterHelper.java +0 -155
  1348. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.kt +0 -48
  1349. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +0 -39
  1350. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.java +0 -75
  1351. package/ReactAndroid/src/main/java/com/facebook/react/bridge/bridge.pro +0 -12
  1352. package/ReactAndroid/src/main/java/com/facebook/react/common/SingleThreadAsserter.kt +0 -23
  1353. package/ReactAndroid/src/main/java/com/facebook/react/common/StandardCharsets.kt +0 -31
  1354. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +0 -128
  1355. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.java +0 -124
  1356. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.java +0 -313
  1357. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +0 -174
  1358. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.java +0 -117
  1359. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +0 -495
  1360. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +0 -1121
  1361. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +0 -56
  1362. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportSoLoader.kt +0 -24
  1363. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDebuggerWebSocketClient.java +0 -244
  1364. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.java +0 -166
  1365. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceDevHelper.java +0 -47
  1366. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java +0 -300
  1367. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSplitBundleCallback.kt +0 -17
  1368. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +0 -239
  1369. package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +0 -103
  1370. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +0 -329
  1371. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.kt +0 -40
  1372. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/SurfaceHandler.kt +0 -40
  1373. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/NativeModuleSoLoader.kt +0 -25
  1374. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.java +0 -288
  1375. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.java +0 -474
  1376. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.java +0 -76
  1377. package/ReactAndroid/src/main/java/com/facebook/react/module/processing/ReactModuleSpecProcessor.java +0 -253
  1378. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.java +0 -383
  1379. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.java +0 -126
  1380. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.java +0 -103
  1381. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.kt +0 -16
  1382. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +0 -204
  1383. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java +0 -240
  1384. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +0 -785
  1385. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.java +0 -68
  1386. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +0 -22
  1387. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.java +0 -191
  1388. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.java +0 -143
  1389. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +0 -193
  1390. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactLegacyArchitectureProcessor.kt +0 -48
  1391. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +0 -765
  1392. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.java +0 -131
  1393. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java +0 -209
  1394. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java +0 -138
  1395. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +0 -634
  1396. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactLifecycleStateManager.java +0 -90
  1397. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.java +0 -255
  1398. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.java +0 -555
  1399. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedErrorNotifier.kt +0 -27
  1400. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedTaskException.kt +0 -11
  1401. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.java +0 -80
  1402. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.java +0 -65
  1403. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactInvalidPropertyException.kt +0 -16
  1404. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStylesDiffMap.java +0 -99
  1405. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.java +0 -87
  1406. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +0 -448
  1407. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.java +0 -231
  1408. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java +0 -119
  1409. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewAtIndex.java +0 -46
  1410. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.java +0 -127
  1411. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.java +0 -116
  1412. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.java +0 -109
  1413. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.java +0 -97
  1414. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropertyHolder.java +0 -19
  1415. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +0 -220
  1416. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.java +0 -116
  1417. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/BaseLayoutAnimation.java +0 -86
  1418. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.java +0 -224
  1419. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/OpacityAnimation.java +0 -72
  1420. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/PositionAndSizeAnimation.java +0 -69
  1421. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostHelper.kt +0 -63
  1422. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.kt +0 -31
  1423. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.java +0 -213
  1424. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +0 -361
  1425. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +0 -409
  1426. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.java +0 -47
  1427. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +0 -233
  1428. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java +0 -163
  1429. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java +0 -185
  1430. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.java +0 -54
  1431. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +0 -1493
  1432. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +0 -160
  1433. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.java +0 -52
  1434. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputBlurEvent.java +0 -47
  1435. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.java +0 -54
  1436. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputFocusEvent.java +0 -47
  1437. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.java +0 -51
  1438. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputLocalData.java +0 -44
  1439. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +0 -1390
  1440. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.java +0 -53
  1441. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java +0 -236
  1442. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.java +0 -52
  1443. package/ReactAndroid/src/main/jni/prebuilt/lib/DUMMY +0 -1
  1444. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewEventEmitter.cpp +0 -18
  1445. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewEventEmitter.h +0 -31
  1446. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManager.cpp +0 -26
  1447. package/ReactCommon/react/renderer/uimanager/consistency/LatestShadowTreeRevisionProvider.cpp +0 -29
  1448. package/ReactCommon/react/renderer/uimanager/consistency/LatestShadowTreeRevisionProvider.h +0 -35
  1449. package/android/README.md +0 -21
  1450. package/flow/jest.js +0 -1287
  1451. package/jest/__tests__/setup-test.js +0 -18
  1452. package/scripts/codegen/generate-artifacts-executor.js +0 -1118
  1453. package/src/private/components/VScrollViewNativeComponents.js +0 -25
  1454. package/src/private/featureflags/README.md +0 -5
  1455. package/src/private/specs_DEPRECATED/README.md +0 -7
  1456. package/src/private/utilities/ensureInstance.js +0 -21
  1457. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +0 -267
  1458. package/types/modules/LaunchScreen.d.ts +0 -18
  1459. /package/ReactCommon/jsinspector-modern/{CdpJson.cpp → cdp/CdpJson.cpp} +0 -0
  1460. /package/ReactCommon/jsinspector-modern/{CdpJson.h → cdp/CdpJson.h} +0 -0
  1461. /package/src/private/{devmenu → devsupport/devmenu}/DevMenu.d.ts +0 -0
  1462. /package/src/private/{debugging → devsupport/rndevtools}/FuseboxSessionObserver.js +0 -0
  1463. /package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.js.flow +0 -0
@@ -0,0 +1,1072 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.react.animated
9
+
10
+ import androidx.annotation.AnyThread
11
+ import androidx.annotation.UiThread
12
+ import com.facebook.common.logging.FLog
13
+ import com.facebook.fbreact.specs.NativeAnimatedModuleSpec
14
+ import com.facebook.react.bridge.Arguments
15
+ import com.facebook.react.bridge.Callback
16
+ import com.facebook.react.bridge.LifecycleEventListener
17
+ import com.facebook.react.bridge.ReactApplicationContext
18
+ import com.facebook.react.bridge.ReactSoftExceptionLogger
19
+ import com.facebook.react.bridge.ReadableArray
20
+ import com.facebook.react.bridge.ReadableMap
21
+ import com.facebook.react.bridge.UIManager
22
+ import com.facebook.react.bridge.UIManagerListener
23
+ import com.facebook.react.common.annotations.UnstableReactNativeAPI
24
+ import com.facebook.react.common.annotations.VisibleForTesting
25
+ import com.facebook.react.common.build.ReactBuildConfig
26
+ import com.facebook.react.module.annotations.ReactModule
27
+ import com.facebook.react.modules.core.ReactChoreographer
28
+ import com.facebook.react.uimanager.GuardedFrameCallback
29
+ import com.facebook.react.uimanager.UIBlock
30
+ import com.facebook.react.uimanager.UIManagerHelper
31
+ import com.facebook.react.uimanager.UIManagerModule
32
+ import com.facebook.react.uimanager.common.UIManagerType
33
+ import com.facebook.react.uimanager.common.ViewUtil
34
+ import java.util.ArrayList
35
+ import java.util.Queue
36
+ import java.util.concurrent.ConcurrentLinkedQueue
37
+ import java.util.concurrent.atomic.AtomicReference
38
+ import kotlin.concurrent.Volatile
39
+
40
+ /**
41
+ * Module that exposes interface for creating and managing animated nodes on the "native" side.
42
+ *
43
+ * Animated.js library is based on a concept of a graph where nodes are values or transform
44
+ * operations (such as interpolation, addition, etc) and connection are used to describe how change
45
+ * of the value in one node can affect other nodes.
46
+ *
47
+ * Few examples of the nodes that can be created on the JS side:
48
+ * * Animated.Value is a simplest type of node with a numeric value which can be driven by an
49
+ * animation engine (spring, decay, etc) or by calling setValue on it directly from JS
50
+ * * Animated.add is a type of node that may have two or more input nodes. It outputs the sum of all
51
+ * the input node values
52
+ * * interpolate - is actually a method you can call on any node and it creates a new node that
53
+ * takes the parent node as an input and outputs its interpolated value (e.g. if you have value
54
+ * that can animate from 0 to 1 you can create interpolated node and set output range to be 0 to
55
+ * 100 and when the input node changes the output of interpolated node will multiply the values
56
+ * by 100)
57
+ *
58
+ * You can mix and chain nodes however you like and this way create nodes graph with connections
59
+ * between them.
60
+ *
61
+ * To map animated node values to view properties there is a special type of a node: AnimatedProps.
62
+ * It is created by AnimatedImplementation whenever you render Animated.View and stores a mapping
63
+ * from the view properties to the corresponding animated values (so it's actually also a node with
64
+ * connections to the value nodes).
65
+ *
66
+ * Last "special" elements of the graph are "animation drivers". Those are objects (represented as a
67
+ * graph nodes too) that based on some criteria updates attached values every frame (we have few
68
+ * types of those, e.g., spring, timing, decay). Animation objects can be "started" and "stopped".
69
+ * Those are like "pulse generators" for the rest of the nodes graph. Those pulses then propagate
70
+ * along the graph to the children nodes up to the special node type: AnimatedProps which then can
71
+ * be used to calculate property update map for a view.
72
+ *
73
+ * This class acts as a proxy between the "native" API that can be called from JS and the main class
74
+ * that coordinates all the action: [NativeAnimatedNodesManager]. Since all the methods from
75
+ * [NativeAnimatedNodesManager] need to be called from the UI thread, we we create a queue of
76
+ * animated graph operations that is then enqueued to be executed in the UI Thread at the end of the
77
+ * batch of JS->native calls (similarly to how it's handled in [UIManagerModule]). This isolates us
78
+ * from the problems that may be caused by concurrent updates of animated graph while UI thread is
79
+ * "executing" the animation loop.
80
+ */
81
+ @OptIn(UnstableReactNativeAPI::class)
82
+ @ReactModule(name = NativeAnimatedModuleSpec.NAME)
83
+ public class NativeAnimatedModule(reactContext: ReactApplicationContext?) :
84
+ NativeAnimatedModuleSpec(reactContext), LifecycleEventListener, UIManagerListener {
85
+
86
+ // For `queueAndExecuteBatchedOperations`
87
+ private enum class BatchExecutionOpCodes(val value: Int) {
88
+ OP_CODE_CREATE_ANIMATED_NODE(1),
89
+ OP_CODE_UPDATE_ANIMATED_NODE_CONFIG(2),
90
+ OP_CODE_GET_VALUE(3),
91
+ OP_START_LISTENING_TO_ANIMATED_NODE_VALUE(4),
92
+ OP_STOP_LISTENING_TO_ANIMATED_NODE_VALUE(5),
93
+ OP_CODE_CONNECT_ANIMATED_NODES(6),
94
+ OP_CODE_DISCONNECT_ANIMATED_NODES(7),
95
+ OP_CODE_START_ANIMATING_NODE(8),
96
+ OP_CODE_STOP_ANIMATION(9),
97
+ OP_CODE_SET_ANIMATED_NODE_VALUE(10),
98
+ OP_CODE_SET_ANIMATED_NODE_OFFSET(11),
99
+ OP_CODE_FLATTEN_ANIMATED_NODE_OFFSET(12),
100
+ OP_CODE_EXTRACT_ANIMATED_NODE_OFFSET(13),
101
+ OP_CODE_CONNECT_ANIMATED_NODE_TO_VIEW(14),
102
+ OP_CODE_DISCONNECT_ANIMATED_NODE_FROM_VIEW(15),
103
+ OP_CODE_RESTORE_DEFAULT_VALUES(16),
104
+ OP_CODE_DROP_ANIMATED_NODE(17),
105
+ OP_CODE_ADD_ANIMATED_EVENT_TO_VIEW(18),
106
+ OP_CODE_REMOVE_ANIMATED_EVENT_FROM_VIEW(19),
107
+ OP_CODE_ADD_LISTENER(20), // ios only
108
+ OP_CODE_REMOVE_LISTENERS(21); // ios only
109
+
110
+ companion object {
111
+ private var valueMap: Array<BatchExecutionOpCodes>? = null
112
+
113
+ @JvmStatic
114
+ public fun fromId(id: Int): BatchExecutionOpCodes {
115
+ val valueMapNonnull: Array<BatchExecutionOpCodes> =
116
+ valueMap ?: BatchExecutionOpCodes.values()
117
+ if (valueMap == null) {
118
+ valueMap = valueMapNonnull
119
+ }
120
+ // Enum values are 1-indexed, but the value array is 0-indexed
121
+ return valueMapNonnull[id - 1]
122
+ }
123
+ }
124
+ }
125
+
126
+ private abstract inner class UIThreadOperation {
127
+ abstract fun execute(animatedNodesManager: NativeAnimatedNodesManager)
128
+
129
+ var batchNumber: Long = -1
130
+ }
131
+
132
+ private inner class ConcurrentOperationQueue {
133
+ private val queue: Queue<UIThreadOperation> = ConcurrentLinkedQueue()
134
+ private var peekedOperation: UIThreadOperation? = null
135
+
136
+ @get:AnyThread
137
+ val isEmpty: Boolean
138
+ get() = queue.isEmpty() && peekedOperation == null
139
+
140
+ @AnyThread
141
+ fun add(operation: UIThreadOperation) {
142
+ queue.add(operation)
143
+ }
144
+
145
+ @UiThread
146
+ fun executeBatch(maxBatchNumber: Long, nodesManager: NativeAnimatedNodesManager?) {
147
+ val operations = drainQueueIntoList(maxBatchNumber)
148
+ if (operations != null) {
149
+ for (operation in operations) {
150
+ operation.execute(checkNotNull(nodesManager))
151
+ }
152
+ }
153
+ }
154
+
155
+ @UiThread
156
+ fun drainQueueIntoList(maxBatchNumber: Long): List<UIThreadOperation>? {
157
+ if (isEmpty) {
158
+ return null
159
+ }
160
+
161
+ val operations: MutableList<UIThreadOperation> = ArrayList()
162
+ while (true) {
163
+ // Due to a race condition, we manually "carry-over" a polled item from previous batch
164
+ // instead of peeking the queue itself for consistency.
165
+ // TODO(T112522554): Clean up the queue access
166
+ if (peekedOperation != null) {
167
+ if (checkNotNull(peekedOperation).batchNumber > maxBatchNumber) {
168
+ break
169
+ }
170
+ operations.add(checkNotNull(peekedOperation))
171
+ peekedOperation = null
172
+ }
173
+
174
+ val polledOperation =
175
+ queue.poll()
176
+ ?: // This is the same as mQueue.isEmpty()
177
+ break
178
+
179
+ if (polledOperation.batchNumber > maxBatchNumber) {
180
+ // Because the operation is already retrieved from the queue, there's no way of placing it
181
+ // back as the head element, so we remember it manually here
182
+ peekedOperation = polledOperation
183
+ break
184
+ }
185
+ operations.add(polledOperation)
186
+ }
187
+
188
+ return operations
189
+ }
190
+ }
191
+
192
+ private val animatedFrameCallback: GuardedFrameCallback
193
+ private val reactChoreographer: ReactChoreographer? = ReactChoreographer.getInstance()
194
+
195
+ private val operations = ConcurrentOperationQueue()
196
+ private val preOperations = ConcurrentOperationQueue()
197
+
198
+ private val nodesManagerRef = AtomicReference<NativeAnimatedNodesManager?>()
199
+
200
+ private var batchingControlledByJS = false // TODO T71377544: delete
201
+
202
+ @Volatile private var currentFrameNumber: Long = 0 // TODO T71377544: delete
203
+
204
+ @Volatile private var currentBatchNumber: Long = 0
205
+
206
+ private var initializedForFabric = false
207
+ private var initializedForNonFabric = false
208
+ private var enqueuedAnimationOnFrame = false
209
+
210
+ @UIManagerType private var uiManagerType = UIManagerType.LEGACY
211
+ private var numFabricAnimations = 0
212
+ private var numNonFabricAnimations = 0
213
+
214
+ /**
215
+ * This method is used to notify the JS side that the user has stopped scrolling. With natively
216
+ * driven animation, we might have to force a resync between the Shadow Tree and the Native Tree.
217
+ * This is because with natively driven animation, the Shadow Tree is bypassed and it can have
218
+ * stale information on the layout of the native views. This method takes care of verifying if
219
+ * there are some views listening to the native driven animation and it triggers the resynch.
220
+ *
221
+ * @param viewTag The tag of the scroll view that has stopped scrolling
222
+ */
223
+ public fun userDrivenScrollEnded(viewTag: Int): Unit {
224
+ // ask to the Node Manager for all the native nodes listening to OnScroll event
225
+ val nodeManager = nodesManagerRef.get() ?: return
226
+
227
+ val tags = nodeManager.getTagsOfConnectedNodes(viewTag, "topScrollEnded")
228
+
229
+ if (tags.isEmpty()) {
230
+ return
231
+ }
232
+
233
+ val tagsArray = Arguments.createArray()
234
+ for (tag in tags) {
235
+ tagsArray.pushInt(tag)
236
+ }
237
+
238
+ // emit the event to JS to resync the trees
239
+ val onAnimationEndedData = Arguments.createMap()
240
+ onAnimationEndedData.putArray("tags", tagsArray)
241
+
242
+ val reactApplicationContext = reactApplicationContextIfActiveOrWarn
243
+ reactApplicationContext?.emitDeviceEvent("onUserDrivenAnimationEnded", onAnimationEndedData)
244
+ }
245
+
246
+ override fun initialize() {
247
+ super.initialize()
248
+
249
+ reactApplicationContext.addLifecycleEventListener(this)
250
+ }
251
+
252
+ override fun onHostResume() {
253
+ enqueueFrameCallback()
254
+ }
255
+
256
+ private fun addOperation(operation: UIThreadOperation) {
257
+ operation.batchNumber = currentBatchNumber
258
+ operations.add(operation)
259
+ }
260
+
261
+ private fun addUnbatchedOperation(operation: UIThreadOperation) {
262
+ operation.batchNumber = -1
263
+ operations.add(operation)
264
+ }
265
+
266
+ private fun addPreOperation(operation: UIThreadOperation) {
267
+ operation.batchNumber = currentBatchNumber
268
+ preOperations.add(operation)
269
+ }
270
+
271
+ // For FabricUIManager only
272
+ override fun didScheduleMountItems(uiManager: UIManager) {
273
+ currentFrameNumber++
274
+ }
275
+
276
+ override fun willMountItems(uiManager: UIManager) {
277
+ // noop
278
+ }
279
+
280
+ override fun didMountItems(uiManager: UIManager) {
281
+ // noop
282
+ }
283
+
284
+ // For FabricUIManager only
285
+ @UiThread
286
+ override fun didDispatchMountItems(uiManager: UIManager) {
287
+ if (uiManagerType != UIManagerType.FABRIC) {
288
+ return
289
+ }
290
+
291
+ var batchNumber = currentBatchNumber - 1
292
+
293
+ // TODO T71377544: delete this when the JS method is confirmed safe
294
+ if (!batchingControlledByJS) {
295
+ // The problem we're trying to solve here: we could be in the middle of queueing
296
+ // a batch of related animation operations when Fabric flushes a batch of MountItems.
297
+ // It's visually bad if we execute half of the animation ops and then wait another frame
298
+ // (or more) to execute the rest.
299
+ // See mFrameNumber. If the dispatchedFrameNumber drifts too far - that
300
+ // is, if no MountItems are scheduled for a while, which can happen if a tree
301
+ // is committed but there are no changes - bring these counts back in sync and
302
+ // execute any queued operations. This number is arbitrary, but we want it low
303
+ // enough that the user shouldn't be able to see this delay in most cases.
304
+ currentFrameNumber++
305
+ if ((currentFrameNumber - currentBatchNumber) > 2) {
306
+ currentBatchNumber = currentFrameNumber
307
+ batchNumber = currentBatchNumber
308
+ }
309
+ }
310
+
311
+ checkNotNull(preOperations).executeBatch(batchNumber, nodesManager)
312
+ checkNotNull(operations).executeBatch(batchNumber, nodesManager)
313
+ }
314
+
315
+ // For non-FabricUIManager only
316
+ @UiThread
317
+ override fun willDispatchViewUpdates(uiManager: UIManager) {
318
+ if (operations.isEmpty && preOperations.isEmpty) {
319
+ return
320
+ }
321
+ if (uiManagerType == UIManagerType.FABRIC ||
322
+ ReactBuildConfig.UNSTABLE_ENABLE_MINIFY_LEGACY_ARCHITECTURE) {
323
+ return
324
+ }
325
+
326
+ // The following code ONLY executes for non-fabric
327
+ // When ReactBuildConfig.UNSTABLE_ENABLE_MINIFY_LEGACY_ARCHITECTURE is true, the folowing code
328
+ // might be stripped out.
329
+ val frameNo = currentBatchNumber++
330
+
331
+ val preOperationsUIBlock = UIBlock {
332
+ checkNotNull(preOperations).executeBatch(frameNo, nodesManager)
333
+ }
334
+
335
+ val operationsUIBlock = UIBlock { checkNotNull(operations).executeBatch(frameNo, nodesManager) }
336
+
337
+ assert(uiManager is UIManagerModule)
338
+ val uiManagerModule = uiManager as UIManagerModule
339
+ uiManagerModule.prependUIBlock(preOperationsUIBlock)
340
+ uiManagerModule.addUIBlock(operationsUIBlock)
341
+ }
342
+
343
+ override fun onHostPause() {
344
+ clearFrameCallback()
345
+ }
346
+
347
+ override fun onHostDestroy() {
348
+ // Is it possible for onHostDestroy to be called without a corresponding onHostPause?
349
+ clearFrameCallback()
350
+ }
351
+
352
+ @set:VisibleForTesting
353
+ public var nodesManager: NativeAnimatedNodesManager?
354
+ /**
355
+ * Returns a [NativeAnimatedNodesManager], either the existing instance or a new one. Will
356
+ * return null if and only if the [ReactApplicationContext] is also null.
357
+ *
358
+ * @return [NativeAnimatedNodesManager]
359
+ */
360
+ get() {
361
+ if (nodesManagerRef.get() == null) {
362
+ val reactApplicationContext = reactApplicationContextIfActiveOrWarn
363
+
364
+ if (reactApplicationContext != null) {
365
+ nodesManagerRef.compareAndSet(null, NativeAnimatedNodesManager(reactApplicationContext))
366
+ }
367
+ }
368
+
369
+ return nodesManagerRef.get()
370
+ }
371
+ set(nodesManager) {
372
+ nodesManagerRef.set(nodesManager)
373
+ }
374
+
375
+ init {
376
+ animatedFrameCallback =
377
+ object : GuardedFrameCallback(checkNotNull(reactContext)) {
378
+ override fun doFrameGuarded(frameTimeNanos: Long) {
379
+ try {
380
+ enqueuedAnimationOnFrame = false
381
+ val nodesManager = nodesManager
382
+ if (nodesManager?.hasActiveAnimations() == true) {
383
+ nodesManager.runUpdates(frameTimeNanos)
384
+ }
385
+ // This is very unlikely to ever be hit.
386
+ if (nodesManager == null || reactChoreographer == null) {
387
+ return
388
+ }
389
+
390
+ enqueueFrameCallback()
391
+ } catch (ex: Exception) {
392
+ throw RuntimeException(ex)
393
+ }
394
+ }
395
+ }
396
+ }
397
+
398
+ private fun clearFrameCallback() {
399
+ checkNotNull(reactChoreographer)
400
+ .removeFrameCallback(
401
+ ReactChoreographer.CallbackType.NATIVE_ANIMATED_MODULE, animatedFrameCallback)
402
+ enqueuedAnimationOnFrame = false
403
+ }
404
+
405
+ private fun enqueueFrameCallback() {
406
+ if (!enqueuedAnimationOnFrame) {
407
+ checkNotNull(reactChoreographer)
408
+ .postFrameCallback(
409
+ ReactChoreographer.CallbackType.NATIVE_ANIMATED_MODULE, animatedFrameCallback)
410
+ enqueuedAnimationOnFrame = true
411
+ }
412
+ }
413
+
414
+ /**
415
+ * Given a viewTag, detect if we're running in Fabric or non-Fabric and attach an event listener
416
+ * to the correct UIManager, if necessary. This is expected to only be called from the native
417
+ * module thread, and not concurrently.
418
+ *
419
+ * @param viewTag
420
+ */
421
+ private fun initializeLifecycleEventListenersForViewTag(viewTag: Int) {
422
+ uiManagerType = ViewUtil.getUIManagerType(viewTag)
423
+ if (uiManagerType == UIManagerType.FABRIC) {
424
+ numFabricAnimations++
425
+ } else {
426
+ numNonFabricAnimations++
427
+ }
428
+
429
+ val nodesManager = this.nodesManager
430
+ if (nodesManager != null) {
431
+ nodesManager.initializeEventListenerForUIManagerType(uiManagerType)
432
+ } else {
433
+ ReactSoftExceptionLogger.logSoftException(
434
+ NAME,
435
+ RuntimeException(
436
+ "initializeLifecycleEventListenersForViewTag could not get NativeAnimatedNodesManager"))
437
+ }
438
+
439
+ // Subscribe to UIManager (Fabric or non-Fabric) lifecycle events if we haven't yet
440
+ if (if (uiManagerType == UIManagerType.FABRIC) initializedForFabric
441
+ else initializedForNonFabric) {
442
+ return
443
+ }
444
+
445
+ val reactApplicationContext = reactApplicationContextIfActiveOrWarn
446
+ if (reactApplicationContext != null) {
447
+ val uiManager = UIManagerHelper.getUIManager(reactApplicationContext, uiManagerType)
448
+ if (uiManager != null) {
449
+ uiManager.addUIManagerEventListener(this)
450
+ if (uiManagerType == UIManagerType.FABRIC) {
451
+ initializedForFabric = true
452
+ } else {
453
+ initializedForNonFabric = true
454
+ }
455
+ }
456
+ }
457
+ }
458
+
459
+ /**
460
+ * Given a viewTag and the knowledge that a "disconnect" or "stop"-type imperative command is
461
+ * being executed, decrement the number of inflight animations and possibly switch UIManager
462
+ * modes.
463
+ *
464
+ * @param viewTag
465
+ */
466
+ private fun decrementInFlightAnimationsForViewTag(viewTag: Int) {
467
+ @UIManagerType val animationManagerType = ViewUtil.getUIManagerType(viewTag)
468
+ if (animationManagerType == UIManagerType.FABRIC) {
469
+ numFabricAnimations--
470
+ } else {
471
+ numNonFabricAnimations--
472
+ }
473
+
474
+ // Should we switch to a different animation mode?
475
+ // This can be useful when navigating between Fabric and non-Fabric screens:
476
+ // If there are ongoing Fabric animations from a previous screen,
477
+ // and we tear down the current non-Fabric screen, we should expect
478
+ // the animation mode to switch back - and vice-versa.
479
+ if (numNonFabricAnimations == 0 &&
480
+ numFabricAnimations > 0 &&
481
+ uiManagerType != UIManagerType.FABRIC) {
482
+ uiManagerType = UIManagerType.FABRIC
483
+ } else if (numFabricAnimations == 0 &&
484
+ numNonFabricAnimations > 0 &&
485
+ uiManagerType != UIManagerType.LEGACY) {
486
+ uiManagerType = UIManagerType.LEGACY
487
+ }
488
+ }
489
+
490
+ override fun startOperationBatch() {
491
+ batchingControlledByJS = true
492
+ currentBatchNumber++
493
+ }
494
+
495
+ override fun finishOperationBatch() {
496
+ batchingControlledByJS = false
497
+ currentBatchNumber++
498
+ }
499
+
500
+ override fun createAnimatedNode(tagDouble: Double, config: ReadableMap) {
501
+ val tag = tagDouble.toInt()
502
+ if (ANIMATED_MODULE_DEBUG) {
503
+ FLog.d(NAME, "queue createAnimatedNode: ${tag} config: ${config.toHashMap().toString()}")
504
+ }
505
+
506
+ addOperation(
507
+ object : UIThreadOperation() {
508
+ override fun execute(animatedNodesManager: NativeAnimatedNodesManager) {
509
+ if (ANIMATED_MODULE_DEBUG) {
510
+ FLog.d(
511
+ NAME,
512
+ ("execute createAnimatedNode: ${tag} config: ${config.toHashMap().toString()}"))
513
+ }
514
+ animatedNodesManager.createAnimatedNode(tag, config)
515
+ }
516
+ })
517
+ }
518
+
519
+ override fun updateAnimatedNodeConfig(tagDouble: Double, config: ReadableMap) {
520
+ val tag = tagDouble.toInt()
521
+ if (ANIMATED_MODULE_DEBUG) {
522
+ FLog.d(
523
+ NAME, "queue updateAnimatedNodeConfig: ${tag} config: ${config.toHashMap().toString()}")
524
+ }
525
+
526
+ addOperation(
527
+ object : UIThreadOperation() {
528
+ override fun execute(animatedNodesManager: NativeAnimatedNodesManager) {
529
+ if (ANIMATED_MODULE_DEBUG) {
530
+ FLog.d(
531
+ NAME,
532
+ ("execute updateAnimatedNodeConfig: ${tag} config: ${config.toHashMap().toString()}"))
533
+ }
534
+ animatedNodesManager.updateAnimatedNodeConfig(tag, config)
535
+ }
536
+ })
537
+ }
538
+
539
+ override fun startListeningToAnimatedNodeValue(tagDouble: Double) {
540
+ val tag = tagDouble.toInt()
541
+ if (ANIMATED_MODULE_DEBUG) {
542
+ FLog.d(NAME, "queue startListeningToAnimatedNodeValue: $tag")
543
+ }
544
+
545
+ val listener = AnimatedNodeValueListener { value, offset ->
546
+ val onAnimatedValueData = Arguments.createMap()
547
+ onAnimatedValueData.putInt("tag", tag)
548
+ onAnimatedValueData.putDouble("value", value)
549
+ onAnimatedValueData.putDouble("offset", offset)
550
+
551
+ val reactApplicationContext = reactApplicationContextIfActiveOrWarn
552
+ reactApplicationContext?.emitDeviceEvent("onAnimatedValueUpdate", onAnimatedValueData)
553
+ }
554
+
555
+ addOperation(
556
+ object : UIThreadOperation() {
557
+ override fun execute(animatedNodesManager: NativeAnimatedNodesManager) {
558
+ if (ANIMATED_MODULE_DEBUG) {
559
+ FLog.d(NAME, "execute startListeningToAnimatedNodeValue: $tag")
560
+ }
561
+ animatedNodesManager.startListeningToAnimatedNodeValue(tag, listener)
562
+ }
563
+ })
564
+ }
565
+
566
+ override fun stopListeningToAnimatedNodeValue(tagDouble: Double) {
567
+ val tag = tagDouble.toInt()
568
+ if (ANIMATED_MODULE_DEBUG) {
569
+ FLog.d(NAME, "queue stopListeningToAnimatedNodeValue: $tag")
570
+ }
571
+
572
+ addOperation(
573
+ object : UIThreadOperation() {
574
+ override fun execute(animatedNodesManager: NativeAnimatedNodesManager) {
575
+ if (ANIMATED_MODULE_DEBUG) {
576
+ FLog.d(NAME, "execute stopListeningToAnimatedNodeValue: $tag")
577
+ }
578
+ animatedNodesManager.stopListeningToAnimatedNodeValue(tag)
579
+ }
580
+ })
581
+ }
582
+
583
+ override fun dropAnimatedNode(tagDouble: Double) {
584
+ val tag = tagDouble.toInt()
585
+ if (ANIMATED_MODULE_DEBUG) {
586
+ FLog.d(NAME, "queue dropAnimatedNode: $tag")
587
+ }
588
+
589
+ addOperation(
590
+ object : UIThreadOperation() {
591
+ override fun execute(animatedNodesManager: NativeAnimatedNodesManager) {
592
+ if (ANIMATED_MODULE_DEBUG) {
593
+ FLog.d(NAME, "execute dropAnimatedNode: $tag")
594
+ }
595
+ animatedNodesManager.dropAnimatedNode(tag)
596
+ }
597
+ })
598
+ }
599
+
600
+ override fun setAnimatedNodeValue(tagDouble: Double, value: Double) {
601
+ val tag = tagDouble.toInt()
602
+ if (ANIMATED_MODULE_DEBUG) {
603
+ FLog.d(NAME, "queue setAnimatedNodeValue: $tag value: $value")
604
+ }
605
+
606
+ addOperation(
607
+ object : UIThreadOperation() {
608
+ override fun execute(animatedNodesManager: NativeAnimatedNodesManager) {
609
+ if (ANIMATED_MODULE_DEBUG) {
610
+ FLog.d(NAME, "execute setAnimatedNodeValue: $tag value: $value")
611
+ }
612
+ animatedNodesManager.setAnimatedNodeValue(tag, value)
613
+ }
614
+ })
615
+ }
616
+
617
+ override fun setAnimatedNodeOffset(tagDouble: Double, value: Double) {
618
+ val tag = tagDouble.toInt()
619
+ if (ANIMATED_MODULE_DEBUG) {
620
+ FLog.d(NAME, "queue setAnimatedNodeOffset: $tag offset: $value")
621
+ }
622
+
623
+ addOperation(
624
+ object : UIThreadOperation() {
625
+ override fun execute(animatedNodesManager: NativeAnimatedNodesManager) {
626
+ if (ANIMATED_MODULE_DEBUG) {
627
+ FLog.d(NAME, "execute setAnimatedNodeOffset: $tag offset: $value")
628
+ }
629
+ animatedNodesManager.setAnimatedNodeOffset(tag, value)
630
+ }
631
+ })
632
+ }
633
+
634
+ override fun flattenAnimatedNodeOffset(tagDouble: Double) {
635
+ val tag = tagDouble.toInt()
636
+ if (ANIMATED_MODULE_DEBUG) {
637
+ FLog.d(NAME, "queue flattenAnimatedNodeOffset: $tag")
638
+ }
639
+
640
+ addOperation(
641
+ object : UIThreadOperation() {
642
+ override fun execute(animatedNodesManager: NativeAnimatedNodesManager) {
643
+ if (ANIMATED_MODULE_DEBUG) {
644
+ FLog.d(NAME, "execute flattenAnimatedNodeOffset: $tag")
645
+ }
646
+ animatedNodesManager.flattenAnimatedNodeOffset(tag)
647
+ }
648
+ })
649
+ }
650
+
651
+ override fun extractAnimatedNodeOffset(tagDouble: Double) {
652
+ val tag = tagDouble.toInt()
653
+ if (ANIMATED_MODULE_DEBUG) {
654
+ FLog.d(NAME, "queue extractAnimatedNodeOffset: $tag")
655
+ }
656
+
657
+ addOperation(
658
+ object : UIThreadOperation() {
659
+ override fun execute(animatedNodesManager: NativeAnimatedNodesManager) {
660
+ if (ANIMATED_MODULE_DEBUG) {
661
+ FLog.d(NAME, "execute extractAnimatedNodeOffset: $tag")
662
+ }
663
+ animatedNodesManager.extractAnimatedNodeOffset(tag)
664
+ }
665
+ })
666
+ }
667
+
668
+ override fun startAnimatingNode(
669
+ animationIdDouble: Double,
670
+ animatedNodeTagDouble: Double,
671
+ animationConfig: ReadableMap,
672
+ endCallback: Callback
673
+ ) {
674
+ val animationId = animationIdDouble.toInt()
675
+ val animatedNodeTag = animatedNodeTagDouble.toInt()
676
+ if (ANIMATED_MODULE_DEBUG) {
677
+ FLog.d(NAME, "queue startAnimatingNode: ID: $animationId tag: $animatedNodeTag")
678
+ }
679
+
680
+ addUnbatchedOperation(
681
+ object : UIThreadOperation() {
682
+ override fun execute(animatedNodesManager: NativeAnimatedNodesManager) {
683
+ if (ANIMATED_MODULE_DEBUG) {
684
+ FLog.d(NAME, "execute startAnimatingNode: ID: $animationId tag: $animatedNodeTag")
685
+ }
686
+ animatedNodesManager.startAnimatingNode(
687
+ animationId, animatedNodeTag, animationConfig, endCallback)
688
+ }
689
+ })
690
+ }
691
+
692
+ override fun stopAnimation(animationIdDouble: Double) {
693
+ val animationId = animationIdDouble.toInt()
694
+ if (ANIMATED_MODULE_DEBUG) {
695
+ FLog.d(NAME, "queue stopAnimation: ID: $animationId")
696
+ }
697
+
698
+ addOperation(
699
+ object : UIThreadOperation() {
700
+ override fun execute(animatedNodesManager: NativeAnimatedNodesManager) {
701
+ if (ANIMATED_MODULE_DEBUG) {
702
+ FLog.d(NAME, "execute stopAnimation: ID: $animationId")
703
+ }
704
+ animatedNodesManager.stopAnimation(animationId)
705
+ }
706
+ })
707
+ }
708
+
709
+ override fun connectAnimatedNodes(parentNodeTagDouble: Double, childNodeTagDouble: Double) {
710
+ val parentNodeTag = parentNodeTagDouble.toInt()
711
+ val childNodeTag = childNodeTagDouble.toInt()
712
+ if (ANIMATED_MODULE_DEBUG) {
713
+ FLog.d(NAME, "queue connectAnimatedNodes: parent: $parentNodeTag child: $childNodeTag")
714
+ }
715
+
716
+ addOperation(
717
+ object : UIThreadOperation() {
718
+ override fun execute(animatedNodesManager: NativeAnimatedNodesManager) {
719
+ if (ANIMATED_MODULE_DEBUG) {
720
+ FLog.d(
721
+ NAME,
722
+ ("execute connectAnimatedNodes: parent: ${parentNodeTag} child: ${childNodeTag}"))
723
+ }
724
+ animatedNodesManager.connectAnimatedNodes(parentNodeTag, childNodeTag)
725
+ }
726
+ })
727
+ }
728
+
729
+ override fun disconnectAnimatedNodes(parentNodeTagDouble: Double, childNodeTagDouble: Double) {
730
+ val parentNodeTag = parentNodeTagDouble.toInt()
731
+ val childNodeTag = childNodeTagDouble.toInt()
732
+ if (ANIMATED_MODULE_DEBUG) {
733
+ FLog.d(NAME, "queue disconnectAnimatedNodes: parent: $parentNodeTag child: $childNodeTag")
734
+ }
735
+
736
+ addOperation(
737
+ object : UIThreadOperation() {
738
+ override fun execute(animatedNodesManager: NativeAnimatedNodesManager) {
739
+ if (ANIMATED_MODULE_DEBUG) {
740
+ FLog.d(
741
+ NAME,
742
+ ("execute disconnectAnimatedNodes: parent: ${parentNodeTag} child: ${childNodeTag}"))
743
+ }
744
+ animatedNodesManager.disconnectAnimatedNodes(parentNodeTag, childNodeTag)
745
+ }
746
+ })
747
+ }
748
+
749
+ override fun connectAnimatedNodeToView(animatedNodeTagDouble: Double, viewTagDouble: Double) {
750
+ val animatedNodeTag = animatedNodeTagDouble.toInt()
751
+ val viewTag = viewTagDouble.toInt()
752
+ if (ANIMATED_MODULE_DEBUG) {
753
+ FLog.d(
754
+ NAME,
755
+ ("queue connectAnimatedNodeToView: animatedNodeTag: ${animatedNodeTag} viewTag: ${viewTag}"))
756
+ }
757
+
758
+ initializeLifecycleEventListenersForViewTag(viewTag)
759
+
760
+ addOperation(
761
+ object : UIThreadOperation() {
762
+ override fun execute(animatedNodesManager: NativeAnimatedNodesManager) {
763
+ if (ANIMATED_MODULE_DEBUG) {
764
+ FLog.d(
765
+ NAME,
766
+ ("execute connectAnimatedNodeToView: animatedNodeTag: ${animatedNodeTag} viewTag: ${viewTag}"))
767
+ }
768
+ animatedNodesManager.connectAnimatedNodeToView(animatedNodeTag, viewTag)
769
+ }
770
+ })
771
+ }
772
+
773
+ override fun disconnectAnimatedNodeFromView(
774
+ animatedNodeTagDouble: Double,
775
+ viewTagDouble: Double
776
+ ) {
777
+ val animatedNodeTag = animatedNodeTagDouble.toInt()
778
+ val viewTag = viewTagDouble.toInt()
779
+ if (ANIMATED_MODULE_DEBUG) {
780
+ FLog.d(NAME, "queue disconnectAnimatedNodeFromView: $animatedNodeTag viewTag: $viewTag")
781
+ }
782
+
783
+ decrementInFlightAnimationsForViewTag(viewTag)
784
+
785
+ addOperation(
786
+ object : UIThreadOperation() {
787
+ override fun execute(animatedNodesManager: NativeAnimatedNodesManager) {
788
+ if (ANIMATED_MODULE_DEBUG) {
789
+ FLog.d(
790
+ NAME,
791
+ ("execute disconnectAnimatedNodeFromView: ${animatedNodeTag} viewTag: ${viewTag}"))
792
+ }
793
+ animatedNodesManager.disconnectAnimatedNodeFromView(animatedNodeTag, viewTag)
794
+ }
795
+ })
796
+ }
797
+
798
+ override fun restoreDefaultValues(animatedNodeTagDouble: Double) {
799
+ val animatedNodeTag = animatedNodeTagDouble.toInt()
800
+ if (ANIMATED_MODULE_DEBUG) {
801
+ FLog.d(NAME, "queue restoreDefaultValues: $animatedNodeTag")
802
+ }
803
+
804
+ addPreOperation(
805
+ object : UIThreadOperation() {
806
+ override fun execute(animatedNodesManager: NativeAnimatedNodesManager) {
807
+ if (ANIMATED_MODULE_DEBUG) {
808
+ FLog.d(NAME, "execute restoreDefaultValues: $animatedNodeTag")
809
+ }
810
+ animatedNodesManager.restoreDefaultValues(animatedNodeTag)
811
+ }
812
+ })
813
+ }
814
+
815
+ override fun addAnimatedEventToView(
816
+ viewTagDouble: Double,
817
+ eventName: String,
818
+ eventMapping: ReadableMap
819
+ ) {
820
+ val viewTag = viewTagDouble.toInt()
821
+ if (ANIMATED_MODULE_DEBUG) {
822
+ FLog.d(
823
+ NAME,
824
+ ("queue addAnimatedEventToView: ${viewTag} eventName: ${eventName} eventMapping: ${eventMapping.toHashMap().toString()}"))
825
+ }
826
+
827
+ initializeLifecycleEventListenersForViewTag(viewTag)
828
+
829
+ addOperation(
830
+ object : UIThreadOperation() {
831
+ override fun execute(animatedNodesManager: NativeAnimatedNodesManager) {
832
+ if (ANIMATED_MODULE_DEBUG) {
833
+ FLog.d(
834
+ NAME,
835
+ ("execute addAnimatedEventToView: ${viewTag} eventName: ${eventName} eventMapping: ${eventMapping.toHashMap().toString()}"))
836
+ }
837
+ animatedNodesManager.addAnimatedEventToView(viewTag, eventName, eventMapping)
838
+ }
839
+ })
840
+ }
841
+
842
+ override fun removeAnimatedEventFromView(
843
+ viewTagDouble: Double,
844
+ eventName: String,
845
+ animatedValueTagDouble: Double
846
+ ) {
847
+ val viewTag = viewTagDouble.toInt()
848
+ val animatedValueTag = animatedValueTagDouble.toInt()
849
+ if (ANIMATED_MODULE_DEBUG) {
850
+ FLog.d(
851
+ NAME,
852
+ ("queue removeAnimatedEventFromView: viewTag: ${viewTag} eventName: ${eventName} animatedValueTag: ${animatedValueTag}"))
853
+ }
854
+
855
+ decrementInFlightAnimationsForViewTag(viewTag)
856
+
857
+ addOperation(
858
+ object : UIThreadOperation() {
859
+ override fun execute(animatedNodesManager: NativeAnimatedNodesManager) {
860
+ if (ANIMATED_MODULE_DEBUG) {
861
+ FLog.d(
862
+ NAME,
863
+ ("execute removeAnimatedEventFromView: viewTag: ${viewTag} eventName: ${eventName} animatedValueTag: ${animatedValueTag}"))
864
+ }
865
+ animatedNodesManager.removeAnimatedEventFromView(viewTag, eventName, animatedValueTag)
866
+ }
867
+ })
868
+ }
869
+
870
+ override fun addListener(eventName: String) {
871
+ // iOS only
872
+ }
873
+
874
+ override fun removeListeners(count: Double) {
875
+ // iOS only
876
+ }
877
+
878
+ override fun getValue(animatedValueNodeTagDouble: Double, callback: Callback) {
879
+ val animatedValueNodeTag = animatedValueNodeTagDouble.toInt()
880
+ addOperation(
881
+ object : UIThreadOperation() {
882
+ override fun execute(animatedNodesManager: NativeAnimatedNodesManager) {
883
+ animatedNodesManager.getValue(animatedValueNodeTag, callback)
884
+ }
885
+ })
886
+ }
887
+
888
+ override fun invalidate() {
889
+ super.invalidate()
890
+
891
+ reactApplicationContext.removeLifecycleEventListener(this)
892
+ }
893
+
894
+ /**
895
+ * This is a currently-experimental method that allows JS to queue and immediately execute many
896
+ * instructions at once. Since we make 1 JNI/JSI call instead of N, this should significantly
897
+ * improve performance.
898
+ *
899
+ * The arguments operate as a byte buffer. All integer command IDs and any args are packed into
900
+ * opsAndArgs.
901
+ *
902
+ * For the getValue callback: since this is batched, we accumulate a list of all requested values,
903
+ * in order, and call the callback once at the end (if present) with the list of requested values.
904
+ */
905
+ override fun queueAndExecuteBatchedOperations(opsAndArgs: ReadableArray) {
906
+ val opBufferSize = opsAndArgs.size()
907
+
908
+ if (ANIMATED_MODULE_DEBUG) {
909
+ FLog.e(NAME, "queueAndExecuteBatchedOperations: opBufferSize: $opBufferSize")
910
+ }
911
+
912
+ // This block of code is unfortunate and should be refactored - we just want to
913
+ // extract the ViewTags in the ReadableArray to mark animations on views as being enabled.
914
+ // We only do this for initializing animations on views - disabling animations on views
915
+ // happens later, when the disconnect/stop operations are actually executed.
916
+ var i = 0
917
+ while (i < opBufferSize) {
918
+ val command = BatchExecutionOpCodes.fromId(opsAndArgs.getInt(i++))
919
+ when (command) {
920
+ BatchExecutionOpCodes.OP_CODE_GET_VALUE,
921
+ BatchExecutionOpCodes.OP_START_LISTENING_TO_ANIMATED_NODE_VALUE,
922
+ BatchExecutionOpCodes.OP_STOP_LISTENING_TO_ANIMATED_NODE_VALUE,
923
+ BatchExecutionOpCodes.OP_CODE_STOP_ANIMATION,
924
+ BatchExecutionOpCodes.OP_CODE_FLATTEN_ANIMATED_NODE_OFFSET,
925
+ BatchExecutionOpCodes.OP_CODE_EXTRACT_ANIMATED_NODE_OFFSET,
926
+ BatchExecutionOpCodes.OP_CODE_RESTORE_DEFAULT_VALUES,
927
+ BatchExecutionOpCodes.OP_CODE_DROP_ANIMATED_NODE,
928
+ BatchExecutionOpCodes.OP_CODE_ADD_LISTENER,
929
+ BatchExecutionOpCodes.OP_CODE_REMOVE_LISTENERS -> i++
930
+ BatchExecutionOpCodes.OP_CODE_CREATE_ANIMATED_NODE,
931
+ BatchExecutionOpCodes.OP_CODE_UPDATE_ANIMATED_NODE_CONFIG,
932
+ BatchExecutionOpCodes.OP_CODE_CONNECT_ANIMATED_NODES,
933
+ BatchExecutionOpCodes.OP_CODE_DISCONNECT_ANIMATED_NODES,
934
+ BatchExecutionOpCodes.OP_CODE_SET_ANIMATED_NODE_VALUE,
935
+ BatchExecutionOpCodes.OP_CODE_SET_ANIMATED_NODE_OFFSET,
936
+ BatchExecutionOpCodes.OP_CODE_DISCONNECT_ANIMATED_NODE_FROM_VIEW -> i += 2
937
+ BatchExecutionOpCodes.OP_CODE_START_ANIMATING_NODE,
938
+ BatchExecutionOpCodes.OP_CODE_REMOVE_ANIMATED_EVENT_FROM_VIEW -> i += 3
939
+ BatchExecutionOpCodes.OP_CODE_CONNECT_ANIMATED_NODE_TO_VIEW -> {
940
+ i++ // tag
941
+ initializeLifecycleEventListenersForViewTag(opsAndArgs.getInt(i++)) // viewTag
942
+ }
943
+
944
+ BatchExecutionOpCodes.OP_CODE_ADD_ANIMATED_EVENT_TO_VIEW -> {
945
+ initializeLifecycleEventListenersForViewTag(opsAndArgs.getInt(i++)) // viewTag
946
+ i++ // eventName
947
+ i++ // eventMapping
948
+ }
949
+ }
950
+ }
951
+
952
+ // Batching happens inside this operation - so signal to the thread loop that
953
+ // this operation should be executed as soon as possible, "unbatched" with other
954
+ // UIThreadOperations
955
+ startOperationBatch()
956
+ addUnbatchedOperation(
957
+ object : UIThreadOperation() {
958
+ override fun execute(animatedNodesManager: NativeAnimatedNodesManager) {
959
+ val reactApplicationContext = reactApplicationContextIfActiveOrWarn
960
+
961
+ var viewTag = -1
962
+ var i = 0
963
+ while (i < opBufferSize) {
964
+ val command = BatchExecutionOpCodes.fromId(opsAndArgs.getInt(i++))
965
+
966
+ when (command) {
967
+ BatchExecutionOpCodes.OP_CODE_CREATE_ANIMATED_NODE ->
968
+ animatedNodesManager.createAnimatedNode(
969
+ opsAndArgs.getInt(i++), checkNotNull(opsAndArgs.getMap(i++)))
970
+
971
+ BatchExecutionOpCodes.OP_CODE_UPDATE_ANIMATED_NODE_CONFIG ->
972
+ animatedNodesManager.updateAnimatedNodeConfig(
973
+ opsAndArgs.getInt(i++), checkNotNull(opsAndArgs.getMap(i++)))
974
+
975
+ BatchExecutionOpCodes.OP_CODE_GET_VALUE ->
976
+ animatedNodesManager.getValue(opsAndArgs.getInt(i++), null)
977
+
978
+ BatchExecutionOpCodes.OP_START_LISTENING_TO_ANIMATED_NODE_VALUE -> {
979
+ val tag = opsAndArgs.getInt(i++)
980
+ val listener = AnimatedNodeValueListener { value, offset ->
981
+ val onAnimatedValueData = Arguments.createMap()
982
+ onAnimatedValueData.putInt("tag", tag)
983
+ onAnimatedValueData.putDouble("value", value)
984
+ onAnimatedValueData.putDouble("offset", offset)
985
+
986
+ val reactApplicationContext = reactApplicationContextIfActiveOrWarn
987
+ reactApplicationContext?.emitDeviceEvent(
988
+ "onAnimatedValueUpdate", onAnimatedValueData)
989
+ }
990
+ animatedNodesManager.startListeningToAnimatedNodeValue(tag, listener)
991
+ }
992
+
993
+ BatchExecutionOpCodes.OP_STOP_LISTENING_TO_ANIMATED_NODE_VALUE ->
994
+ animatedNodesManager.stopListeningToAnimatedNodeValue(opsAndArgs.getInt(i++))
995
+
996
+ BatchExecutionOpCodes.OP_CODE_CONNECT_ANIMATED_NODES ->
997
+ animatedNodesManager.connectAnimatedNodes(
998
+ opsAndArgs.getInt(i++), opsAndArgs.getInt(i++))
999
+
1000
+ BatchExecutionOpCodes.OP_CODE_DISCONNECT_ANIMATED_NODES ->
1001
+ animatedNodesManager.disconnectAnimatedNodes(
1002
+ opsAndArgs.getInt(i++), opsAndArgs.getInt(i++))
1003
+
1004
+ BatchExecutionOpCodes.OP_CODE_START_ANIMATING_NODE ->
1005
+ animatedNodesManager.startAnimatingNode(
1006
+ opsAndArgs.getInt(i++),
1007
+ opsAndArgs.getInt(i++),
1008
+ checkNotNull(opsAndArgs.getMap(i++)),
1009
+ null)
1010
+
1011
+ BatchExecutionOpCodes.OP_CODE_STOP_ANIMATION ->
1012
+ animatedNodesManager.stopAnimation(opsAndArgs.getInt(i++))
1013
+
1014
+ BatchExecutionOpCodes.OP_CODE_SET_ANIMATED_NODE_VALUE ->
1015
+ animatedNodesManager.setAnimatedNodeValue(
1016
+ opsAndArgs.getInt(i++), opsAndArgs.getDouble(i++))
1017
+
1018
+ BatchExecutionOpCodes.OP_CODE_SET_ANIMATED_NODE_OFFSET ->
1019
+ animatedNodesManager.setAnimatedNodeOffset(
1020
+ opsAndArgs.getInt(i++), opsAndArgs.getDouble(i++))
1021
+
1022
+ BatchExecutionOpCodes.OP_CODE_FLATTEN_ANIMATED_NODE_OFFSET ->
1023
+ animatedNodesManager.flattenAnimatedNodeOffset(opsAndArgs.getInt(i++))
1024
+
1025
+ BatchExecutionOpCodes.OP_CODE_EXTRACT_ANIMATED_NODE_OFFSET ->
1026
+ animatedNodesManager.extractAnimatedNodeOffset(opsAndArgs.getInt(i++))
1027
+
1028
+ BatchExecutionOpCodes.OP_CODE_CONNECT_ANIMATED_NODE_TO_VIEW ->
1029
+ animatedNodesManager.connectAnimatedNodeToView(
1030
+ opsAndArgs.getInt(i++), opsAndArgs.getInt(i++))
1031
+
1032
+ BatchExecutionOpCodes.OP_CODE_DISCONNECT_ANIMATED_NODE_FROM_VIEW -> {
1033
+ val animatedNodeTag = opsAndArgs.getInt(i++)
1034
+ viewTag = opsAndArgs.getInt(i++)
1035
+ decrementInFlightAnimationsForViewTag(viewTag)
1036
+ animatedNodesManager.disconnectAnimatedNodeFromView(animatedNodeTag, viewTag)
1037
+ }
1038
+
1039
+ BatchExecutionOpCodes.OP_CODE_RESTORE_DEFAULT_VALUES ->
1040
+ animatedNodesManager.restoreDefaultValues(opsAndArgs.getInt(i++))
1041
+
1042
+ BatchExecutionOpCodes.OP_CODE_DROP_ANIMATED_NODE ->
1043
+ animatedNodesManager.dropAnimatedNode(opsAndArgs.getInt(i++))
1044
+
1045
+ BatchExecutionOpCodes.OP_CODE_ADD_ANIMATED_EVENT_TO_VIEW ->
1046
+ animatedNodesManager.addAnimatedEventToView(
1047
+ opsAndArgs.getInt(i++),
1048
+ checkNotNull(opsAndArgs.getString(i++)),
1049
+ checkNotNull(opsAndArgs.getMap(i++)))
1050
+
1051
+ BatchExecutionOpCodes.OP_CODE_REMOVE_ANIMATED_EVENT_FROM_VIEW -> {
1052
+ viewTag = opsAndArgs.getInt(i++)
1053
+ decrementInFlightAnimationsForViewTag(viewTag)
1054
+ animatedNodesManager.removeAnimatedEventFromView(
1055
+ viewTag, checkNotNull(opsAndArgs.getString(i++)), opsAndArgs.getInt(i++))
1056
+ }
1057
+
1058
+ BatchExecutionOpCodes.OP_CODE_ADD_LISTENER,
1059
+ BatchExecutionOpCodes.OP_CODE_REMOVE_LISTENERS -> i++
1060
+ }
1061
+ }
1062
+ }
1063
+ })
1064
+ finishOperationBatch()
1065
+ }
1066
+
1067
+ public companion object {
1068
+ public const val NAME: String = NativeAnimatedModuleSpec.NAME
1069
+
1070
+ public const val ANIMATED_MODULE_DEBUG: Boolean = false
1071
+ }
1072
+ }