react-native-tvos 0.75.2-0rc0 → 0.76.0-0rc0

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 (989) hide show
  1. package/Libraries/Alert/Alert.js +3 -0
  2. package/Libraries/Animated/AnimatedEvent.js +1 -1
  3. package/Libraries/Animated/AnimatedImplementation.js +7 -7
  4. package/Libraries/Animated/NativeAnimatedAllowlist.js +111 -0
  5. package/Libraries/Animated/animations/Animation.js +11 -1
  6. package/Libraries/Animated/animations/DecayAnimation.js +1 -1
  7. package/Libraries/Animated/animations/SpringAnimation.js +1 -1
  8. package/Libraries/Animated/animations/TimingAnimation.js +2 -1
  9. package/Libraries/Animated/components/AnimatedScrollView.js +3 -2
  10. package/Libraries/Animated/createAnimatedComponent.js +10 -9
  11. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  12. package/Libraries/Animated/nodes/AnimatedInterpolation.js +3 -2
  13. package/Libraries/Animated/nodes/AnimatedNode.js +42 -33
  14. package/Libraries/Animated/nodes/AnimatedObject.js +56 -50
  15. package/Libraries/Animated/nodes/AnimatedProps.js +77 -40
  16. package/Libraries/Animated/nodes/AnimatedStyle.js +103 -59
  17. package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
  18. package/Libraries/Animated/nodes/AnimatedTransform.js +102 -67
  19. package/Libraries/Animated/nodes/AnimatedValue.js +2 -1
  20. package/Libraries/Animated/nodes/AnimatedWithChildren.js +21 -22
  21. package/Libraries/Animated/useAnimatedProps.js +142 -7
  22. package/Libraries/AppDelegate/RCTAppDelegate.h +7 -5
  23. package/Libraries/AppDelegate/RCTAppDelegate.mm +2 -29
  24. package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -1
  25. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -3
  26. package/Libraries/BatchedBridge/NativeModules.js +2 -0
  27. package/Libraries/Blob/FileReader.js +1 -1
  28. package/Libraries/Blob/URL.js +2 -62
  29. package/Libraries/Blob/URLSearchParams.js +71 -0
  30. package/Libraries/Blob/URLSearchParams.js.flow +23 -0
  31. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
  32. package/Libraries/Components/Pressable/Pressable.js +5 -6
  33. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +1 -1
  34. package/Libraries/Components/ScrollView/ScrollView.d.ts +1 -1
  35. package/Libraries/Components/ScrollView/ScrollView.js +132 -171
  36. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  37. package/Libraries/Components/StatusBar/StatusBar.js +3 -1
  38. package/Libraries/Components/TV/TVEventHandler.js +11 -6
  39. package/Libraries/Components/TV/TVFocusEventHandler.js +2 -1
  40. package/Libraries/Components/TV/TVFocusGuideView.js +16 -15
  41. package/Libraries/Components/TV/TVTextScrollView.js +11 -10
  42. package/Libraries/Components/TV/TVViewPropTypes.js +1 -1
  43. package/Libraries/Components/TV/tagForComponentOrHandle.js +13 -13
  44. package/Libraries/Components/TV/useTVEventHandler.js +7 -3
  45. package/Libraries/Components/TabBarIOS/RCTTabBarNativeComponent.js +3 -2
  46. package/Libraries/Components/TabBarIOS/TabBarIOS.ios.js +6 -55
  47. package/Libraries/Components/TabBarIOS/{TabBarIOS.android.js → TabBarIOS.js} +8 -5
  48. package/Libraries/Components/TabBarIOS/TabBarIOSProps.js +52 -0
  49. package/Libraries/Components/TabBarIOS/{TabBarItemIOS.android.js → TabBarItemIOS.js} +3 -1
  50. package/Libraries/Components/TextInput/TextInput.d.ts +32 -2
  51. package/Libraries/Components/TextInput/TextInput.js +230 -94
  52. package/Libraries/Components/Touchable/TVTouchable.js +6 -5
  53. package/Libraries/Components/Touchable/Touchable.js +2 -3
  54. package/Libraries/Components/Touchable/TouchableBounce.js +2 -5
  55. package/Libraries/Components/Touchable/TouchableHighlight.js +3 -4
  56. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -4
  57. package/Libraries/Components/View/ReactNativeStyleAttributes.js +22 -0
  58. package/Libraries/Components/View/ReactNativeViewAttributes.js +2 -0
  59. package/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
  60. package/Libraries/Components/View/ViewNativeComponent.js +5 -1
  61. package/Libraries/Components/View/ViewPropTypes.js +14 -0
  62. package/Libraries/Core/ExceptionsManager.js +2 -0
  63. package/Libraries/Core/InitializeCore.js +3 -1
  64. package/Libraries/Core/ReactFiberErrorDialog.js +3 -0
  65. package/Libraries/Core/ReactNativeVersion.js +2 -2
  66. package/Libraries/Core/setUpErrorHandling.js +7 -1
  67. package/Libraries/Core/setUpGlobals.js +1 -0
  68. package/Libraries/Core/setUpReactRefresh.js +0 -4
  69. package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
  70. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +3 -1
  71. package/Libraries/Image/AssetSourceResolver.js +28 -1
  72. package/Libraries/Image/Image.android.js +9 -14
  73. package/Libraries/Image/Image.ios.js +11 -22
  74. package/Libraries/Image/ImageBackground.js +1 -8
  75. package/Libraries/Image/ImageUtils.js +9 -9
  76. package/Libraries/Image/ImageViewNativeComponent.js +1 -0
  77. package/Libraries/Image/RCTImageLoader.mm +19 -10
  78. package/Libraries/Image/RCTImageView.mm +2 -2
  79. package/Libraries/Image/RCTResizeMode.h +28 -0
  80. package/Libraries/Image/React-RCTImage.podspec +1 -1
  81. package/Libraries/Inspector/Inspector.js +3 -2
  82. package/Libraries/Inspector/InspectorPanel.js +16 -10
  83. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  84. package/Libraries/Interaction/TaskQueue.js +1 -0
  85. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -0
  86. package/Libraries/Lists/FlatList.js +1 -1
  87. package/Libraries/Lists/SectionList.js +2 -2
  88. package/Libraries/Lists/SectionListModern.js +3 -3
  89. package/Libraries/LogBox/Data/LogBoxData.js +24 -3
  90. package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -2
  91. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +9 -8
  92. package/Libraries/Modal/Modal.js +0 -1
  93. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +3 -1
  94. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +2 -0
  95. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +27 -0
  96. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +17 -1
  97. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -0
  98. package/Libraries/NativeComponent/BaseViewConfig.android.js +9 -2
  99. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -2
  100. package/Libraries/NativeComponent/NativeComponentRegistry.js +22 -22
  101. package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -21
  102. package/Libraries/NativeComponent/TVViewConfig.js +4 -1
  103. package/Libraries/Network/RCTNetworkTask.h +1 -1
  104. package/Libraries/Network/RCTNetworkTask.mm +13 -9
  105. package/Libraries/Network/RCTNetworking.mm +6 -0
  106. package/Libraries/Network/XMLHttpRequest.js +4 -2
  107. package/Libraries/NewAppScreen/components/DebugInstructions.js +7 -7
  108. package/Libraries/NewAppScreen/components/HermesBadge.js +3 -6
  109. package/Libraries/Pressability/Pressability.js +6 -3
  110. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  111. package/Libraries/ReactNative/AppContainer-dev.js +5 -8
  112. package/Libraries/ReactNative/AppContainer-prod.js +1 -5
  113. package/Libraries/ReactNative/AppContainer.js +0 -1
  114. package/Libraries/ReactNative/AppRegistry.js +0 -6
  115. package/Libraries/ReactNative/BridgelessUIManager.js +1 -0
  116. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  117. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +5 -5
  118. package/Libraries/ReactNative/RendererImplementation.js +28 -6
  119. package/Libraries/ReactNative/getNativeComponentAttributes.js +8 -0
  120. package/Libraries/ReactNative/renderApplication.js +0 -2
  121. package/Libraries/Renderer/shims/ReactNativeTypes.js +12 -4
  122. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  123. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +74 -15
  124. package/Libraries/StyleSheet/StyleSheetTypes.js +60 -5
  125. package/Libraries/StyleSheet/processBackgroundImage.js +384 -0
  126. package/Libraries/StyleSheet/processBoxShadow.js +211 -0
  127. package/Libraries/StyleSheet/processFilter.js +231 -42
  128. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +1 -0
  129. package/Libraries/Text/RCTTextAttributes.h +1 -0
  130. package/Libraries/Text/RCTTextAttributes.mm +8 -0
  131. package/Libraries/Text/Text/RCTTextShadowView.mm +46 -0
  132. package/Libraries/Text/Text.js +394 -196
  133. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +3 -1
  134. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +20 -9
  135. package/Libraries/Text/TextNativeComponent.js +2 -1
  136. package/Libraries/TurboModule/TurboModuleRegistry.js +13 -50
  137. package/Libraries/Types/CodegenTypes.js +3 -1
  138. package/Libraries/Utilities/Appearance.js +108 -84
  139. package/Libraries/Utilities/BackHandler.ios.js +25 -23
  140. package/Libraries/Utilities/DevLoadingView.js +2 -4
  141. package/Libraries/Utilities/HMRClient.js +2 -1
  142. package/Libraries/Utilities/Platform.d.ts +1 -0
  143. package/Libraries/Utilities/Platform.flow.js +2 -0
  144. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  145. package/Libraries/Utilities/createPerformanceLogger.js +0 -9
  146. package/Libraries/Utilities/stringifyViewConfig.js +22 -0
  147. package/Libraries/Utilities/useColorScheme.js +3 -3
  148. package/Libraries/Vibration/Vibration.js +1 -1
  149. package/Libraries/WebSocket/WebSocket.js +1 -1
  150. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  151. package/Libraries/vendor/emitter/EventEmitter.js +6 -5
  152. package/README-core.md +5 -5
  153. package/README.md +76 -41
  154. package/React/Base/RCTBridge.mm +20 -2
  155. package/React/Base/RCTBundleURLProvider.h +19 -0
  156. package/React/Base/RCTBundleURLProvider.mm +62 -8
  157. package/React/Base/RCTConvert.h +0 -3
  158. package/React/Base/RCTConvert.mm +0 -13
  159. package/React/Base/RCTKeyCommands.m +1 -2
  160. package/React/Base/RCTVersion.m +2 -2
  161. package/React/CoreModules/RCTAppearance.mm +5 -0
  162. package/React/CoreModules/RCTDevLoadingView.mm +5 -0
  163. package/React/CoreModules/RCTDevMenu.mm +1 -1
  164. package/React/CoreModules/RCTDeviceInfo.mm +13 -8
  165. package/React/CoreModules/RCTPerfMonitor.mm +7 -13
  166. package/React/CoreModules/RCTRedBox.mm +4 -0
  167. package/React/CoreModules/RCTStatusBarManager.mm +5 -1
  168. package/React/CoreModules/React-CoreModules.podspec +3 -1
  169. package/React/CxxBridge/NSDataBigString.mm +2 -25
  170. package/React/CxxBridge/RCTCxxBridge.mm +27 -5
  171. package/React/DevSupport/RCTInspectorDevServerHelper.mm +6 -0
  172. package/React/DevSupport/RCTInspectorNetworkHelper.h +29 -0
  173. package/React/DevSupport/RCTInspectorNetworkHelper.mm +115 -0
  174. package/React/DevSupport/RCTInspectorUtils.h +26 -0
  175. package/React/DevSupport/RCTInspectorUtils.mm +50 -0
  176. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +4 -1
  177. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +2 -2
  178. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +23 -1
  179. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +9 -0
  180. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +137 -10
  181. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +74 -35
  182. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +61 -12
  183. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +8 -0
  184. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +356 -59
  185. package/React/Fabric/Mounting/RCTMountingManager.mm +0 -5
  186. package/React/Fabric/RCTScheduler.mm +2 -1
  187. package/React/Fabric/RCTSurfacePresenter.mm +0 -31
  188. package/React/Fabric/Utils/RCTBoxShadow.h +21 -0
  189. package/React/Fabric/Utils/RCTBoxShadow.mm +301 -0
  190. package/React/Modules/RCTRedBoxExtraDataViewController.m +105 -85
  191. package/React/Views/RCTBorderDrawing.h +9 -5
  192. package/React/Views/RCTBorderDrawing.m +23 -14
  193. package/React/Views/RCTModalHostView.m +2 -1
  194. package/React/Views/RCTModalHostViewController.m +1 -1
  195. package/React/Views/RCTModalHostViewManager.m +23 -3
  196. package/React/Views/RCTView.m +9 -5
  197. package/React/Views/RCTViewManager.h +3 -0
  198. package/React/Views/RCTViewManager.m +63 -8
  199. package/React/Views/RefreshControl/RCTRefreshControl.m +18 -0
  200. package/React-Core.podspec +4 -1
  201. package/ReactAndroid/api/ReactAndroid.api +593 -273
  202. package/ReactAndroid/build.gradle.kts +105 -282
  203. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +10 -55
  204. package/ReactAndroid/gradle.properties +1 -1
  205. package/ReactAndroid/hermes-engine/build.gradle.kts +3 -2
  206. package/ReactAndroid/publish.gradle +1 -1
  207. package/ReactAndroid/src/main/AndroidManifest.xml +1 -1
  208. package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.kt +23 -0
  209. package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +2 -2
  210. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +1 -1
  211. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +1 -1
  212. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +56 -12
  213. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +6 -0
  214. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +7 -1
  215. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +10 -0
  216. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +26 -3
  217. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +117 -41
  218. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +13 -6
  219. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +2 -17
  220. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +6 -2
  221. package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.kt +52 -0
  222. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.kt +74 -0
  223. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeValueListener.kt +13 -0
  224. package/ReactAndroid/src/main/java/com/facebook/react/animated/{AnimatedNodeWithUpdateableConfig.java → AnimatedNodeWithUpdateableConfig.kt} +4 -4
  225. package/ReactAndroid/src/main/java/com/facebook/react/animated/{AnimationDriver.java → AnimationDriver.kt} +13 -14
  226. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +111 -0
  227. package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.kt +73 -0
  228. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +51 -0
  229. package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.kt +55 -0
  230. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +100 -0
  231. package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.kt +104 -0
  232. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +278 -0
  233. package/ReactAndroid/src/main/java/com/facebook/react/animated/ModulusAnimatedNode.kt +3 -3
  234. package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.kt +50 -0
  235. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +40 -1
  236. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +81 -52
  237. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.kt +120 -0
  238. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +120 -0
  239. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.kt +187 -0
  240. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.kt +61 -0
  241. package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.kt +52 -0
  242. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +36 -0
  243. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.kt +87 -0
  244. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.kt +50 -0
  245. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +4 -0
  246. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +8 -0
  247. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +5 -0
  248. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java +2 -1
  249. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java +4 -1
  250. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicNative.kt +51 -0
  251. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.kt +52 -0
  252. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JavaJSExecutor.java → JavaJSExecutor.kt} +13 -18
  253. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JavaScriptExecutorFactory.java → JavaScriptExecutorFactory.kt} +5 -5
  254. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.kt +24 -0
  255. package/ReactAndroid/src/main/java/com/facebook/react/{animated/AnimatedNodeValueListener.java → bridge/PerformanceCounter.kt} +4 -4
  256. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{Promise.java → Promise.kt} +19 -29
  257. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +13 -0
  258. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.java +10 -0
  259. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +2 -0
  260. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.java +3 -1
  261. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt +178 -0
  262. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.java +2 -1
  263. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThread.java +2 -0
  264. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.java +28 -47
  265. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationImpl.java +5 -19
  266. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.java +4 -6
  267. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +51 -0
  268. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.kt +107 -0
  269. package/ReactAndroid/src/main/java/com/facebook/react/common/JavascriptException.kt +2 -10
  270. package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.java +6 -1
  271. package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.kt +124 -0
  272. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.kt +197 -0
  273. package/ReactAndroid/src/main/java/com/facebook/react/common/build/{ReactBuildConfig.java → ReactBuildConfig.kt} +9 -6
  274. package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.kt +111 -0
  275. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.kt +38 -0
  276. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +16 -62
  277. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt +5 -20
  278. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +7 -55
  279. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +16 -16
  280. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +1 -1
  281. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +1 -0
  282. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +0 -73
  283. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +30 -13
  284. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +120 -0
  285. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.kt +3 -7
  286. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +10 -1
  287. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +12 -5
  288. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialog.kt +29 -1
  289. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +2 -3
  290. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +10 -12
  291. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PausedInDebuggerOverlayDialogManager.java +19 -5
  292. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.kt +38 -0
  293. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +31 -0
  294. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +168 -0
  295. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.java +94 -0
  296. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.java +34 -0
  297. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +4 -1
  298. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.kt +2 -0
  299. package/ReactAndroid/src/main/java/com/facebook/react/fabric/BindingImpl.kt +2 -0
  300. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.kt +45 -0
  301. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +75 -37
  302. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +43 -0
  303. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +64 -0
  304. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.kt +3 -3
  305. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +23 -25
  306. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +110 -360
  307. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +16 -22
  308. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +1 -4
  309. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +1 -5
  310. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.kt +40 -0
  311. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +40 -0
  312. package/ReactAndroid/src/main/java/com/facebook/react/internal/SystraceSection.kt +23 -0
  313. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +157 -13
  314. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +266 -26
  315. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +54 -6
  316. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +55 -7
  317. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +294 -30
  318. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +54 -6
  319. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +43 -0
  320. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.java +2 -5
  321. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.java +19 -57
  322. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.java +2 -15
  323. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +14 -14
  324. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.java +6 -0
  325. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.kt +16 -0
  326. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{DefaultHardwareBackBtnHandler.java → DefaultHardwareBackBtnHandler.kt} +4 -6
  327. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +65 -0
  328. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt +79 -0
  329. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +51 -0
  330. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.kt +21 -0
  331. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerExecutor.java → JavaScriptTimerExecutor.kt} +7 -8
  332. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +363 -0
  333. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.kt +30 -0
  334. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{PermissionListener.java → PermissionListener.kt} +9 -9
  335. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.kt +17 -0
  336. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +144 -0
  337. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +83 -0
  338. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +36 -48
  339. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/interfaces/DeveloperSettings.kt +2 -0
  340. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +58 -5
  341. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +163 -0
  342. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.kt +31 -0
  343. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +56 -0
  344. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +152 -0
  345. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +2 -6
  346. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nUtil.kt +4 -3
  347. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpCompat.java +35 -0
  348. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java +1 -7
  349. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +189 -0
  350. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +4 -28
  351. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java +48 -0
  352. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  353. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +55 -0
  354. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessDevSupportManager.java +9 -14
  355. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java +2 -2
  356. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java +2 -2
  357. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +0 -18
  358. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +243 -210
  359. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +47 -45
  360. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +2 -1
  361. package/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt +11 -4
  362. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.kt +44 -0
  363. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +5 -2
  364. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +263 -0
  365. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +64 -32
  366. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +109 -0
  367. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.kt +85 -0
  368. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +44 -0
  369. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +89 -17
  370. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.kt +35 -0
  371. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{IViewManagerWithChildren.java → IViewManagerWithChildren.kt} +3 -3
  372. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +58 -11
  373. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +29 -0
  374. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +2 -2
  375. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LengthPercentage.kt +8 -7
  376. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +23 -7
  377. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +4 -2
  378. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +21 -0
  379. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +2 -1
  380. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +1 -1
  381. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +14 -0
  382. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +16 -0
  383. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +9 -7
  384. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +33 -5
  385. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +20 -10
  386. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +24 -0
  387. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +3 -0
  388. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowBorderRadius.kt +29 -0
  389. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +160 -87
  390. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +85 -0
  391. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +191 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutsetBoxShadowDrawable.kt +159 -0
  393. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +57 -0
  394. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.kt +37 -0
  395. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +2 -2
  396. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +55 -29
  397. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +48 -0
  398. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +28 -0
  399. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +105 -0
  400. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +27 -12
  401. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderStyle.kt +26 -0
  402. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +50 -0
  403. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +30 -6
  404. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +19 -0
  405. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +76 -0
  406. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LogicalEdge.kt +79 -0
  407. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Overflow.kt +26 -0
  408. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +3 -13
  409. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +125 -0
  410. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +259 -0
  411. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.kt +61 -0
  412. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.kt +1 -1
  413. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.kt +307 -0
  414. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +725 -0
  415. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +7 -5
  416. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +35 -0
  417. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostHelper.kt +1 -0
  418. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.kt +1 -4
  419. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +13 -30
  420. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +61 -90
  421. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +70 -0
  422. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +165 -0
  423. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +65 -0
  424. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +51 -0
  425. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewShadowNode.kt +12 -0
  426. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.kt +50 -0
  427. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +80 -11
  428. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +64 -20
  429. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +79 -11
  430. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +22 -33
  431. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +65 -19
  432. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.kt +51 -0
  433. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +11 -0
  434. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.kt +110 -0
  435. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.java +8 -0
  436. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +73 -20
  437. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +143 -77
  438. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +36 -32
  439. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +11 -0
  440. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +79 -104
  441. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactOpacitySpan.kt +33 -0
  442. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +89 -9
  443. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +67 -38
  444. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.kt +95 -0
  445. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +2 -0
  446. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +6 -4
  447. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +257 -96
  448. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +86 -25
  449. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +63 -0
  450. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +23 -0
  451. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +1 -0
  452. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +2 -0
  453. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +4 -0
  454. package/ReactAndroid/src/main/jni/CMakeLists.txt +182 -3
  455. package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +1 -1
  456. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/CMakeLists.txt +24 -0
  457. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/SoMerging-utils.cmake +23 -0
  458. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.c +157 -0
  459. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.h +108 -0
  460. package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +5 -1
  461. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +12 -1
  462. package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +5 -1
  463. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocketDelegate.cpp +11 -2
  464. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocketDelegate.h +1 -3
  465. package/ReactAndroid/src/main/jni/react/fabric/Binding.cpp +35 -19
  466. package/ReactAndroid/src/main/jni/react/fabric/Binding.h +3 -0
  467. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +9 -1
  468. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +6 -43
  469. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.h +4 -27
  470. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +76 -40
  471. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +25 -1
  472. package/ReactAndroid/src/main/jni/react/fabric/MountItem.cpp +0 -7
  473. package/ReactAndroid/src/main/jni/react/fabric/MountItem.h +1 -7
  474. package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +0 -2
  475. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +49 -13
  476. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +3 -2
  477. package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +5 -1
  478. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +369 -33
  479. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +79 -7
  480. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/CMakeLists.txt +7 -6
  481. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +5 -6
  482. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +0 -1
  483. package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +41 -0
  484. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +3 -1
  485. package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.cpp +76 -0
  486. package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.h +44 -0
  487. package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.cpp +46 -0
  488. package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.h +56 -0
  489. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +1 -0
  490. package/ReactAndroid/src/main/jni/react/jni/JWeakRefUtils.h +23 -0
  491. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +3 -1
  492. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +4 -0
  493. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +71 -18
  494. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.h +17 -6
  495. package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +6 -7
  496. package/ReactAndroid/src/main/jni/react/jsctooling/CMakeLists.txt +34 -0
  497. package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +5 -1
  498. package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +10 -2
  499. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +16 -33
  500. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +2 -11
  501. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +4 -1
  502. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +8 -4
  503. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.cpp +4 -3
  504. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.h +8 -3
  505. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +4 -1
  506. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +64 -22
  507. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +35 -6
  508. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +1 -0
  509. package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/CMakeLists.txt +7 -5
  510. package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +7 -2
  511. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +156 -166
  512. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +23 -17
  513. package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +17 -5
  514. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -1
  515. package/ReactAndroid/src/main/jni/third-party/glog/CMakeLists.txt +1 -1
  516. package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_background.xml +1 -1
  517. package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_dialog_background.xml +7 -0
  518. package/ReactAndroid/src/main/res/devsupport/drawable-hdpi/ic_resume.png +0 -0
  519. package/ReactAndroid/src/main/res/devsupport/drawable-mdpi/ic_resume.png +0 -0
  520. package/ReactAndroid/src/main/res/devsupport/drawable-xhdpi/ic_resume.png +0 -0
  521. package/ReactAndroid/src/main/res/devsupport/drawable-xxhdpi/ic_resume.png +0 -0
  522. package/ReactAndroid/src/main/res/devsupport/drawable-xxxhdpi/ic_resume.png +0 -0
  523. package/ReactAndroid/src/main/res/devsupport/layout/paused_in_debugger_view.xml +19 -18
  524. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -2
  525. package/ReactAndroid/src/main/res/devsupport/values/styles.xml +4 -0
  526. package/ReactAndroid/src/main/res/devsupport/xml/rn_dev_preferences.xml +0 -6
  527. package/ReactAndroid/src/main/res/views/alert/layout/alert_title_layout.xml +22 -0
  528. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
  529. package/ReactCommon/cxxreact/CMakeLists.txt +2 -1
  530. package/ReactCommon/cxxreact/CxxModule.h +0 -2
  531. package/ReactCommon/cxxreact/JSExecutor.cpp +2 -7
  532. package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -0
  533. package/ReactCommon/cxxreact/ReactMarker.cpp +10 -2
  534. package/ReactCommon/cxxreact/ReactMarker.h +5 -1
  535. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  536. package/ReactCommon/cxxreact/SystraceSection.h +15 -10
  537. package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +1 -1
  538. package/ReactCommon/hermes/executor/CMakeLists.txt +3 -3
  539. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +2 -5
  540. package/ReactCommon/jsc/CMakeLists.txt +5 -3
  541. package/ReactCommon/jserrorhandler/CMakeLists.txt +1 -1
  542. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +40 -1
  543. package/ReactCommon/jserrorhandler/JsErrorHandler.h +12 -1
  544. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +6 -0
  545. package/ReactCommon/jsi/jsi/decorator.h +57 -4
  546. package/ReactCommon/jsi/jsi/instrumentation.h +15 -3
  547. package/ReactCommon/jsi/jsi/jsi.cpp +6 -2
  548. package/ReactCommon/jsiexecutor/CMakeLists.txt +1 -1
  549. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +10 -4
  550. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +5 -1
  551. package/ReactCommon/jsinspector-modern/Base64.h +98 -0
  552. package/ReactCommon/jsinspector-modern/CMakeLists.txt +6 -1
  553. package/ReactCommon/jsinspector-modern/CdpJson.h +1 -1
  554. package/ReactCommon/jsinspector-modern/ExecutionContext.cpp +3 -4
  555. package/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.h +5 -5
  556. package/ReactCommon/jsinspector-modern/HostAgent.cpp +45 -22
  557. package/ReactCommon/jsinspector-modern/HostAgent.h +7 -1
  558. package/ReactCommon/jsinspector-modern/HostTarget.cpp +36 -7
  559. package/ReactCommon/jsinspector-modern/HostTarget.h +25 -5
  560. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +14 -3
  561. package/ReactCommon/jsinspector-modern/InspectorFlags.h +1 -1
  562. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +5 -1
  563. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +18 -1
  564. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.h +4 -5
  565. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +440 -0
  566. package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +266 -0
  567. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -0
  568. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +22 -0
  569. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +46 -0
  570. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +31 -0
  571. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +2 -2
  572. package/ReactCommon/jsinspector-modern/RuntimeTargetDebuggerSessionObserver.cpp +112 -0
  573. package/ReactCommon/jsinspector-modern/Utf8.h +56 -0
  574. package/ReactCommon/jsinspector-modern/WebSocketInterfaces.h +6 -0
  575. package/ReactCommon/jsinspector-modern/tests/ConsoleApiTest.cpp +54 -0
  576. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +801 -0
  577. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +6 -0
  578. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +29 -12
  579. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +38 -0
  580. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +2 -1
  581. package/ReactCommon/jsinspector-modern/tests/RuntimeTargetDebuggerSessionObserverTest.cpp +214 -0
  582. package/ReactCommon/jsinspector-modern/tests/Utf8.cpp +58 -0
  583. package/ReactCommon/logger/CMakeLists.txt +1 -1
  584. package/ReactCommon/react/bridging/Bool.h +1 -1
  585. package/ReactCommon/react/bridging/CMakeLists.txt +1 -1
  586. package/ReactCommon/react/config/CMakeLists.txt +1 -1
  587. package/ReactCommon/react/config/ReactNativeConfig.cpp +0 -3
  588. package/ReactCommon/react/debug/CMakeLists.txt +1 -1
  589. package/ReactCommon/react/featureflags/CMakeLists.txt +1 -1
  590. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +107 -11
  591. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +132 -12
  592. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +479 -47
  593. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +58 -10
  594. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +106 -10
  595. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +29 -5
  596. package/ReactCommon/react/nativemodule/core/CMakeLists.txt +2 -1
  597. package/ReactCommon/react/nativemodule/core/ReactCommon/CxxTurboModuleUtils.h +6 -38
  598. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +68 -66
  599. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +2 -2
  600. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +21 -2
  601. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +13 -0
  602. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -1
  603. package/ReactCommon/react/nativemodule/dom/CMakeLists.txt +5 -1
  604. package/ReactCommon/react/nativemodule/featureflags/CMakeLists.txt +1 -1
  605. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +132 -12
  606. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +54 -6
  607. package/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt +1 -1
  608. package/ReactCommon/react/nativemodule/microtasks/CMakeLists.txt +1 -1
  609. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +0 -11
  610. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +2 -0
  611. package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +2 -2
  612. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +16 -0
  613. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +9 -0
  614. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +20 -1
  615. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +11 -0
  616. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +34 -0
  617. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.h +1 -1
  618. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +4 -0
  619. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +28 -16
  620. package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.cpp +8 -1
  621. package/ReactCommon/react/performance/timeline/CMakeLists.txt +2 -1
  622. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +12 -2
  623. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +8 -4
  624. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  625. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +0 -18
  626. package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +1 -1
  627. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +4 -0
  628. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -0
  629. package/ReactCommon/react/renderer/attributedstring/conversions.h +55 -2
  630. package/ReactCommon/react/renderer/attributedstring/primitives.h +9 -0
  631. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +1 -1
  632. package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +1 -1
  633. package/ReactCommon/react/renderer/components/image/CMakeLists.txt +1 -1
  634. package/ReactCommon/react/renderer/components/image/conversions.h +9 -0
  635. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +1 -1
  636. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +2 -3
  637. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +10 -1
  638. package/{ReactAndroid/src/main/java/com/facebook/react/bridge/PerformanceCounter.java → ReactCommon/react/renderer/components/modal/ModalHostViewUtils.h} +5 -6
  639. package/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.mm +20 -0
  640. package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +1 -1
  641. package/ReactCommon/react/renderer/components/root/CMakeLists.txt +1 -1
  642. package/ReactCommon/react/renderer/components/safeareaview/CMakeLists.txt +46 -0
  643. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.cpp +10 -1
  644. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.h +20 -0
  645. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +99 -0
  646. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +44 -0
  647. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +16 -72
  648. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +12 -18
  649. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +9 -0
  650. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +1 -0
  651. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +8 -0
  652. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +1 -2
  653. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +35 -17
  654. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +3 -0
  655. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +1 -1
  656. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +27 -0
  657. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +3 -0
  658. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputEventEmitter.cpp +1 -1
  659. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.cpp +29 -0
  660. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +3 -0
  661. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +20 -0
  662. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +2 -0
  663. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +117 -77
  664. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +18 -1
  665. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +1 -1
  666. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +4 -1
  667. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +21 -0
  668. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +4 -0
  669. package/ReactCommon/react/renderer/components/view/conversions.h +307 -23
  670. package/ReactCommon/react/renderer/components/view/primitives.h +8 -1
  671. package/ReactCommon/react/renderer/consistency/CMakeLists.txt +1 -1
  672. package/ReactCommon/react/renderer/core/CMakeLists.txt +1 -1
  673. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +21 -12
  674. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +5 -3
  675. package/ReactCommon/react/renderer/core/EventDispatcher.h +1 -1
  676. package/ReactCommon/react/renderer/core/EventEmitter.cpp +1 -1
  677. package/ReactCommon/react/renderer/core/EventEmitter.h +2 -0
  678. package/ReactCommon/react/renderer/core/EventListener.cpp +6 -3
  679. package/ReactCommon/react/renderer/core/EventListener.h +1 -1
  680. package/ReactCommon/react/renderer/core/EventLogger.h +4 -1
  681. package/ReactCommon/react/renderer/core/EventPayloadType.h +1 -1
  682. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +35 -11
  683. package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -1
  684. package/ReactCommon/react/renderer/core/EventTarget.h +6 -1
  685. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +26 -6
  686. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +2 -3
  687. package/ReactCommon/react/renderer/core/Props.h +5 -0
  688. package/ReactCommon/react/renderer/core/PropsMacros.h +15 -11
  689. package/ReactCommon/react/renderer/core/RawProps.cpp +1 -6
  690. package/ReactCommon/react/renderer/core/RawProps.h +0 -8
  691. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +1 -1
  692. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +19 -73
  693. package/ReactCommon/react/renderer/core/RawPropsParser.h +0 -9
  694. package/ReactCommon/react/renderer/core/RawValue.h +6 -7
  695. package/ReactCommon/react/renderer/core/ShadowNode.cpp +5 -4
  696. package/ReactCommon/react/renderer/core/ShadowNode.h +5 -5
  697. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +3 -0
  698. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +3 -1
  699. package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +3 -1
  700. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +49 -0
  701. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +1 -1
  702. package/ReactCommon/react/renderer/debug/CMakeLists.txt +2 -2
  703. package/ReactCommon/react/renderer/dom/CMakeLists.txt +1 -1
  704. package/ReactCommon/react/renderer/element/CMakeLists.txt +1 -1
  705. package/ReactCommon/react/renderer/graphics/BackgroundImage.h +46 -0
  706. package/ReactCommon/react/renderer/graphics/BlendMode.h +72 -0
  707. package/ReactCommon/react/renderer/graphics/BoxShadow.h +25 -0
  708. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -1
  709. package/ReactCommon/react/renderer/graphics/Color.cpp +27 -0
  710. package/ReactCommon/react/renderer/graphics/Color.h +6 -0
  711. package/ReactCommon/react/renderer/graphics/Filter.h +19 -5
  712. package/ReactCommon/react/renderer/graphics/Isolation.h +31 -0
  713. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
  714. package/ReactCommon/react/renderer/graphics/Transform.cpp +3 -2
  715. package/ReactCommon/react/renderer/graphics/Transform.h +11 -0
  716. package/ReactCommon/react/renderer/graphics/ValueUnit.h +3 -2
  717. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/HostPlatformColor.h +21 -0
  718. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +48 -20
  719. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/HostPlatformColor.h +31 -8
  720. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +31 -0
  721. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +9 -0
  722. package/ReactCommon/react/renderer/graphics/tests/ColorTest.cpp +38 -0
  723. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +1 -1
  724. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +7 -0
  725. package/ReactCommon/react/renderer/imagemanager/primitives.h +1 -0
  726. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +1 -1
  727. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -1
  728. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +15 -52
  729. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +10 -3
  730. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +22 -1
  731. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +4 -32
  732. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +2 -28
  733. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +0 -5
  734. package/ReactCommon/react/renderer/observers/events/CMakeLists.txt +4 -1
  735. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +75 -18
  736. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +19 -2
  737. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +14 -10
  738. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +6 -3
  739. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +24 -8
  740. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.h +6 -3
  741. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +2 -0
  742. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -0
  743. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +30 -7
  744. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +25 -3
  745. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerEventTimingDelegate.h +25 -0
  746. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +19 -6
  747. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +12 -2
  748. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +116 -53
  749. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +36 -12
  750. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +149 -2
  751. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +29 -22
  752. package/ReactCommon/react/renderer/scheduler/Scheduler.h +1 -7
  753. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +0 -10
  754. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +1 -1
  755. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +1 -2
  756. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +44 -0
  757. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +70 -40
  758. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -7
  759. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +14 -7
  760. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +16 -7
  761. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +2 -0
  762. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +6 -2
  763. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +3 -2
  764. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +83 -13
  765. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +18 -0
  766. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -7
  767. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +34 -10
  768. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +1 -1
  769. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +9 -11
  770. package/ReactCommon/react/renderer/uimanager/UIManager.h +0 -6
  771. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +16 -72
  772. package/ReactCommon/react/renderer/uimanager/UIManagerMountHook.h +6 -0
  773. package/ReactCommon/react/renderer/uimanager/consistency/CMakeLists.txt +1 -1
  774. package/ReactCommon/react/renderer/uimanager/primitives.h +8 -3
  775. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +1 -4
  776. package/ReactCommon/react/runtime/BufferedRuntimeExecutor.h +1 -1
  777. package/ReactCommon/react/runtime/CMakeLists.txt +2 -6
  778. package/ReactCommon/react/runtime/JSRuntimeFactory.h +8 -0
  779. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -0
  780. package/ReactCommon/react/runtime/ReactInstance.cpp +117 -50
  781. package/ReactCommon/react/runtime/TimerManager.cpp +156 -75
  782. package/ReactCommon/react/runtime/TimerManager.h +16 -4
  783. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +3 -5
  784. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +24 -15
  785. package/ReactCommon/react/runtime/hermes/HermesInstance.h +3 -2
  786. package/ReactCommon/react/runtime/nativeviewconfig/CMakeLists.txt +1 -1
  787. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.h +7 -5
  788. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.mm +12 -8
  789. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +22 -52
  790. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +1 -3
  791. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +9 -8
  792. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +22 -16
  793. package/ReactCommon/react/test_utils/ios/Shims/ShimRCTInstance.mm +4 -5
  794. package/ReactCommon/react/timing/CMakeLists.txt +18 -0
  795. package/ReactCommon/react/timing/React-timing.podspec +44 -0
  796. package/ReactCommon/react/timing/primitives.h +31 -0
  797. package/ReactCommon/react/timing/tests/PrimitivesTest.cpp +47 -0
  798. package/ReactCommon/react/utils/CMakeLists.txt +1 -1
  799. package/ReactCommon/react/utils/CoreFeatures.cpp +0 -1
  800. package/ReactCommon/react/utils/CoreFeatures.h +0 -4
  801. package/ReactCommon/reactperflogger/CMakeLists.txt +7 -2
  802. package/ReactCommon/reactperflogger/React-perflogger.podspec +15 -2
  803. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.cpp +117 -0
  804. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.h +53 -0
  805. package/ReactCommon/reactperflogger/fusebox/tests/FuseboxTracerTest.cpp +90 -0
  806. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.cpp +19 -4
  807. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.h +9 -1
  808. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +42 -6
  809. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.h +6 -1
  810. package/ReactCommon/runtimeexecutor/CMakeLists.txt +1 -1
  811. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +5 -0
  812. package/ReactCommon/yoga/yoga/YGNodeStyle.h +3 -1
  813. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +48 -19
  814. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.h +2 -1
  815. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +28 -2
  816. package/ReactCommon/yoga/yoga/config/Config.cpp +24 -5
  817. package/ReactCommon/yoga/yoga/config/Config.h +3 -0
  818. package/ReactCommon/yoga/yoga/node/LayoutResults.cpp +1 -0
  819. package/ReactCommon/yoga/yoga/node/LayoutResults.h +1 -0
  820. package/ReactCommon/yoga/yoga/node/Node.cpp +7 -1
  821. package/ReactCommon/yoga/yoga/style/Style.h +18 -0
  822. package/flow/jest.js +2 -2
  823. package/gradle/libs.versions.toml +4 -6
  824. package/index.js +6 -4
  825. package/jest/mockComponent.js +4 -1
  826. package/jest/mockModal.js +1 -3
  827. package/jest/mockScrollView.js +1 -1
  828. package/jest/renderer.js +2 -2
  829. package/jest/setup.js +16 -13
  830. package/package.json +14 -15
  831. package/react-native.config.js +26 -5
  832. package/scripts/bundle.js +7 -2
  833. package/scripts/cocoapods/autolinking.rb +2 -1
  834. package/scripts/cocoapods/helpers.rb +73 -6
  835. package/scripts/cocoapods/new_architecture.rb +1 -1
  836. package/scripts/cocoapods/utils.rb +18 -7
  837. package/scripts/codegen/generate-artifacts-executor.js +3 -2
  838. package/scripts/hermes/hermes-utils.js +0 -1
  839. package/scripts/ios-configure-glog.sh +2 -0
  840. package/scripts/react-native-xcode.sh +1 -2
  841. package/scripts/react_native_pods.rb +73 -2
  842. package/sdks/.hermesversion +1 -1
  843. package/sdks/hermes-engine/hermes-engine.podspec +9 -3
  844. package/sdks/hermes-engine/utils/build-apple-framework.sh +13 -4
  845. package/sdks/hermes-engine/utils/build-ios-framework.sh +2 -4
  846. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  847. package/sdks/hermesc/osx-bin/hermes +0 -0
  848. package/sdks/hermesc/osx-bin/hermesc +0 -0
  849. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  850. package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/DoNotOptimize.kt +10 -0
  851. package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/MergedSoMapping.kt +117 -0
  852. package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/SoLoader.kt +53 -0
  853. package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/nativeloader/NativeLoader.kt +28 -0
  854. package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/nativeloader/NativeLoaderDelegate.kt +23 -0
  855. package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/nativeloader/SystemDelegate.kt +10 -0
  856. package/src/private/animated/NativeAnimatedHelper.js +438 -0
  857. package/src/private/animated/NativeAnimatedValidation.js +64 -0
  858. package/src/private/components/HScrollViewNativeComponents.js +56 -0
  859. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +27 -0
  860. package/src/private/components/VScrollViewNativeComponents.js +48 -0
  861. package/src/private/components/useSyncOnScroll.js +48 -0
  862. package/src/private/featureflags/ReactNativeFeatureFlags.js +166 -16
  863. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +29 -5
  864. package/src/private/fusebox/FuseboxSessionObserver.js +42 -0
  865. package/{Libraries/Core → src/private/renderer/errorhandling}/ErrorHandlers.js +14 -4
  866. package/src/private/setup/setUpDOM.js +28 -0
  867. package/src/private/setup/setUpIntersectionObserver.js +27 -0
  868. package/src/private/setup/setUpMutationObserver.js +26 -0
  869. package/src/private/setup/setUpPerformanceObserver.js +64 -0
  870. package/src/private/specs/modules/NativeAppearance.js +3 -3
  871. package/src/private/specs/modules/NativeLinkingManager.js +1 -1
  872. package/src/private/specs/modules/NativeSampleTurboModule.js +14 -1
  873. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +6 -4
  874. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserver.js +5 -3
  875. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverEntry.js +3 -3
  876. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverManager.js +14 -17
  877. package/src/private/{specs/modules → webapis/intersectionobserver/specs}/NativeIntersectionObserver.js +2 -2
  878. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver/specs}/__mocks__/NativeIntersectionObserver.js +4 -4
  879. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserver.js +5 -3
  880. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserverManager.js +24 -15
  881. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationRecord.js +4 -6
  882. package/src/private/{specs/modules → webapis/mutationobserver/specs}/NativeMutationObserver.js +2 -2
  883. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver/specs}/__mocks__/NativeMutationObserver.js +5 -5
  884. package/src/private/webapis/performance/{EventCounts.js → EventTiming.js} +65 -3
  885. package/src/private/webapis/performance/LongTasks.js +39 -0
  886. package/src/private/webapis/performance/Performance.js +22 -9
  887. package/src/private/webapis/performance/PerformanceEntry.js +36 -18
  888. package/src/private/webapis/performance/PerformanceObserver.js +29 -43
  889. package/src/private/webapis/performance/RawPerformanceEntry.js +24 -1
  890. package/src/private/webapis/performance/UserTiming.js +17 -12
  891. package/src/private/webapis/performance/specs/NativePerformanceObserver.js +1 -1
  892. package/third-party-podspecs/DoubleConversion.podspec +4 -1
  893. package/third-party-podspecs/RCT-Folly.podspec +3 -1
  894. package/third-party-podspecs/boost.podspec +4 -1
  895. package/third-party-podspecs/fmt.podspec +4 -1
  896. package/third-party-podspecs/glog.podspec +4 -1
  897. package/types/experimental.d.ts +1 -1
  898. package/types/public/ReactNativeTVTypes.d.ts +44 -3
  899. package/Libraries/Animated/NativeAnimatedHelper.js +0 -615
  900. package/Libraries/Core/setUpIntersectionObserver.js +0 -16
  901. package/Libraries/Core/setUpMutationObserver.js +0 -16
  902. package/Libraries/Core/setUpPerformanceObserver.js +0 -18
  903. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +0 -13
  904. package/Libraries/MutationObserver/NativeMutationObserver.js +0 -13
  905. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +0 -135
  906. package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.java +0 -24
  907. package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.java +0 -56
  908. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.java +0 -78
  909. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.java +0 -131
  910. package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.java +0 -79
  911. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.java +0 -66
  912. package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.java +0 -64
  913. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java +0 -116
  914. package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.java +0 -109
  915. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.java +0 -311
  916. package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.java +0 -56
  917. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.java +0 -161
  918. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +0 -145
  919. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.java +0 -207
  920. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +0 -70
  921. package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.java +0 -60
  922. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.java +0 -50
  923. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.java +0 -93
  924. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.java +0 -66
  925. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +0 -64
  926. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.java +0 -51
  927. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.java +0 -25
  928. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +0 -162
  929. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.java +0 -53
  930. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.java +0 -104
  931. package/ReactAndroid/src/main/java/com/facebook/react/common/HasJavascriptExceptionMetadata.java +0 -17
  932. package/ReactAndroid/src/main/java/com/facebook/react/common/LongArray.java +0 -75
  933. package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.java +0 -144
  934. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.java +0 -239
  935. package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.java +0 -121
  936. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.java +0 -36
  937. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.java +0 -156
  938. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.java +0 -50
  939. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.java +0 -214
  940. package/ReactAndroid/src/main/java/com/facebook/react/fabric/CoreComponentsRegistry.kt +0 -30
  941. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +0 -54
  942. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.java +0 -48
  943. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +0 -74
  944. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +0 -56
  945. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.java +0 -57
  946. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.java +0 -18
  947. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java +0 -76
  948. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +0 -91
  949. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.java +0 -61
  950. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.java +0 -21
  951. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +0 -428
  952. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.java +0 -29
  953. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.java +0 -18
  954. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java +0 -172
  955. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +0 -104
  956. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java +0 -225
  957. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.java +0 -33
  958. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.java +0 -80
  959. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.java +0 -160
  960. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java +0 -204
  961. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.java +0 -65
  962. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.java +0 -53
  963. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java +0 -141
  964. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.java +0 -84
  965. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.java +0 -42
  966. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewHierarchyDumper.java +0 -45
  967. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.java +0 -25
  968. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowDrawable.kt +0 -102
  969. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.java +0 -62
  970. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.java +0 -52
  971. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.java +0 -50
  972. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.java +0 -123
  973. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +0 -302
  974. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.java +0 -76
  975. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +0 -289
  976. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +0 -638
  977. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.java +0 -99
  978. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.java +0 -203
  979. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.java +0 -58
  980. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.java +0 -64
  981. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java +0 -124
  982. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +0 -87
  983. package/ReactAndroid/src/main/jni/react/devsupport/JOptional.cpp +0 -29
  984. package/ReactAndroid/src/main/jni/react/devsupport/JOptional.h +0 -27
  985. package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.cpp +0 -28
  986. package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.h +0 -23
  987. package/src/private/core/setUpDOM.js +0 -18
  988. package/src/private/webapis/performance/PerformanceEventTiming.js +0 -55
  989. /package/src/private/{core → styles}/composeStyles.js +0 -0
@@ -9,8 +9,6 @@ package com.facebook.react.runtime;
9
9
 
10
10
  import static com.facebook.infer.annotation.Assertions.assertNotNull;
11
11
  import static com.facebook.infer.annotation.ThreadConfined.UI;
12
- import static java.lang.Boolean.FALSE;
13
- import static java.lang.Boolean.TRUE;
14
12
 
15
13
  import android.app.Activity;
16
14
  import android.content.Context;
@@ -44,13 +42,14 @@ import com.facebook.react.bridge.ReactNoCrashSoftException;
44
42
  import com.facebook.react.bridge.ReactSoftExceptionLogger;
45
43
  import com.facebook.react.bridge.RuntimeExecutor;
46
44
  import com.facebook.react.bridge.UiThreadUtil;
47
- import com.facebook.react.bridge.queue.QueueThreadExceptionHandler;
48
45
  import com.facebook.react.bridge.queue.ReactQueueConfiguration;
49
46
  import com.facebook.react.common.LifecycleState;
50
47
  import com.facebook.react.common.build.ReactBuildConfig;
51
48
  import com.facebook.react.devsupport.DevSupportManagerBase;
52
49
  import com.facebook.react.devsupport.InspectorFlags;
53
50
  import com.facebook.react.devsupport.ReleaseDevSupportManager;
51
+ import com.facebook.react.devsupport.inspector.InspectorNetworkHelper;
52
+ import com.facebook.react.devsupport.inspector.InspectorNetworkRequestListener;
54
53
  import com.facebook.react.devsupport.interfaces.BundleLoadCallback;
55
54
  import com.facebook.react.devsupport.interfaces.DevSupportManager;
56
55
  import com.facebook.react.devsupport.interfaces.DevSupportManager.PausedInDebuggerOverlayCommandListener;
@@ -62,6 +61,8 @@ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
62
61
  import com.facebook.react.modules.appearance.AppearanceModule;
63
62
  import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
64
63
  import com.facebook.react.modules.core.DeviceEventManagerModule;
64
+ import com.facebook.react.modules.systeminfo.AndroidInfoHelpers;
65
+ import com.facebook.react.runtime.internal.bolts.Continuation;
65
66
  import com.facebook.react.runtime.internal.bolts.Task;
66
67
  import com.facebook.react.runtime.internal.bolts.TaskCompletionSource;
67
68
  import com.facebook.react.turbomodule.core.interfaces.CallInvokerHolder;
@@ -72,8 +73,9 @@ import com.facebook.react.views.imagehelper.ResourceDrawableIdHelper;
72
73
  import java.lang.ref.WeakReference;
73
74
  import java.util.ArrayList;
74
75
  import java.util.Collection;
75
- import java.util.Collections;
76
76
  import java.util.HashSet;
77
+ import java.util.List;
78
+ import java.util.Map;
77
79
  import java.util.Set;
78
80
  import java.util.concurrent.Executor;
79
81
  import java.util.concurrent.Executors;
@@ -91,6 +93,7 @@ import kotlin.jvm.functions.Function0;
91
93
  *
92
94
  * @see <a href="https://github.com/BoltsFramework/Bolts-Android#tasks">Bolts Android</a>
93
95
  */
96
+ @DoNotStrip
94
97
  @ThreadSafe
95
98
  @Nullsafe(Nullsafe.Mode.LOCAL)
96
99
  public class ReactHostImpl implements ReactHost {
@@ -104,14 +107,10 @@ public class ReactHostImpl implements ReactHost {
104
107
  private final DevSupportManager mDevSupportManager;
105
108
  private final Executor mBGExecutor;
106
109
  private final Executor mUIExecutor;
107
- private final QueueThreadExceptionHandler mQueueThreadExceptionHandler;
108
- private final Set<ReactSurfaceImpl> mAttachedSurfaces =
109
- Collections.synchronizedSet(new HashSet<>());
110
+ private final Set<ReactSurfaceImpl> mAttachedSurfaces = new HashSet<>();
110
111
  private final MemoryPressureRouter mMemoryPressureRouter;
111
112
  private final boolean mAllowPackagerServerAccess;
112
113
  private final boolean mUseDevSupport;
113
- private final Collection<ReactInstanceEventListener> mReactInstanceEventListeners =
114
- Collections.synchronizedList(new ArrayList<>());
115
114
 
116
115
  // todo: T192399917 This no longer needs to store the react instance
117
116
  private final BridgelessAtomicRef<Task<ReactInstance>> mCreateReactInstanceTaskRef =
@@ -133,11 +132,13 @@ public class ReactHostImpl implements ReactHost {
133
132
  private @Nullable MemoryPressureListener mMemoryPressureListener;
134
133
  private @Nullable DefaultHardwareBackBtnHandler mDefaultHardwareBackBtnHandler;
135
134
 
136
- private final Set<Function0<Unit>> mBeforeDestroyListeners =
137
- Collections.synchronizedSet(new HashSet<>());
135
+ private final List<ReactInstanceEventListener> mReactInstanceEventListeners = new ArrayList<>();
136
+ private final List<Function0<Unit>> mBeforeDestroyListeners = new ArrayList<>();
138
137
 
139
138
  private @Nullable ReactHostInspectorTarget mReactHostInspectorTarget;
140
139
 
140
+ private volatile boolean mHostInvalidated = false;
141
+
141
142
  public ReactHostImpl(
142
143
  Context context,
143
144
  ReactHostDelegate delegate,
@@ -167,7 +168,6 @@ public class ReactHostImpl implements ReactHost {
167
168
  mComponentFactory = componentFactory;
168
169
  mBGExecutor = bgExecutor;
169
170
  mUIExecutor = uiExecutor;
170
- mQueueThreadExceptionHandler = ReactHostImpl.this::handleHostException;
171
171
  mMemoryPressureRouter = new MemoryPressureRouter(context);
172
172
  mAllowPackagerServerAccess = allowPackagerServerAccess;
173
173
  mUseDevSupport = useDevSupport;
@@ -250,13 +250,12 @@ public class ReactHostImpl implements ReactHost {
250
250
 
251
251
  detachSurface(surface);
252
252
  return callWithExistingReactInstance(
253
- method,
254
- reactInstance -> {
255
- log(method, "Execute");
256
- reactInstance.stopSurface(surface);
257
- },
258
- mBGExecutor)
259
- .makeVoid();
253
+ method,
254
+ reactInstance -> {
255
+ log(method, "Execute");
256
+ reactInstance.stopSurface(surface);
257
+ },
258
+ mBGExecutor);
260
259
  }
261
260
 
262
261
  /**
@@ -286,6 +285,18 @@ public class ReactHostImpl implements ReactHost {
286
285
  mReactLifecycleStateManager.moveToOnHostResume(currentContext, getCurrentActivity());
287
286
  }
288
287
 
288
+ @ThreadConfined(UI)
289
+ @Override
290
+ public void onHostLeaveHint(final @Nullable Activity activity) {
291
+ final String method = "onUserLeaveHint(activity)";
292
+ log(method);
293
+
294
+ ReactContext currentContext = getCurrentReactContext();
295
+ if (currentContext != null) {
296
+ currentContext.onUserLeaveHint(activity);
297
+ }
298
+ }
299
+
289
300
  @ThreadConfined(UI)
290
301
  @Override
291
302
  public void onHostPause(final @Nullable Activity activity) {
@@ -416,12 +427,16 @@ public class ReactHostImpl implements ReactHost {
416
427
 
417
428
  /** Add a listener to be notified of ReactInstance events. */
418
429
  public void addReactInstanceEventListener(ReactInstanceEventListener listener) {
419
- mReactInstanceEventListeners.add(listener);
430
+ synchronized (mReactInstanceEventListeners) {
431
+ mReactInstanceEventListeners.add(listener);
432
+ }
420
433
  }
421
434
 
422
435
  /** Remove a listener previously added with {@link #addReactInstanceEventListener}. */
423
436
  public void removeReactInstanceEventListener(ReactInstanceEventListener listener) {
424
- mReactInstanceEventListeners.remove(listener);
437
+ synchronized (mReactInstanceEventListeners) {
438
+ mReactInstanceEventListeners.remove(listener);
439
+ }
425
440
  }
426
441
 
427
442
  /**
@@ -454,8 +469,9 @@ public class ReactHostImpl implements ReactHost {
454
469
  final Exception ex = task.getError();
455
470
  if (mUseDevSupport) {
456
471
  mDevSupportManager.handleException(ex);
472
+ } else {
473
+ mReactHostDelegate.handleInstanceException(ex);
457
474
  }
458
- mReactHostDelegate.handleInstanceException(ex);
459
475
  return getOrCreateDestroyTask("Reload failed", ex);
460
476
  }
461
477
 
@@ -486,6 +502,16 @@ public class ReactHostImpl implements ReactHost {
486
502
  }
487
503
  }
488
504
 
505
+ @DoNotStrip
506
+ private Map<String, String> getHostMetadata() {
507
+ return AndroidInfoHelpers.getInspectorHostMetadata(mContext);
508
+ }
509
+
510
+ @DoNotStrip
511
+ private void loadNetworkResource(String url, InspectorNetworkRequestListener listener) {
512
+ InspectorNetworkHelper.loadNetworkResource(url, listener);
513
+ }
514
+
489
515
  /**
490
516
  * Entrypoint to destroy the ReactInstance. If the ReactInstance is reloading, will wait until
491
517
  * reload is finished, before destroying.
@@ -750,7 +776,7 @@ public class ReactHostImpl implements ReactHost {
750
776
  };
751
777
  }
752
778
 
753
- /* package */ Task<Boolean> loadBundle(final JSBundleLoader bundleLoader) {
779
+ /* package */ Task<Void> loadBundle(final JSBundleLoader bundleLoader) {
754
780
  final String method = "loadBundle()";
755
781
  log(method, "Schedule");
756
782
 
@@ -763,7 +789,7 @@ public class ReactHostImpl implements ReactHost {
763
789
  null);
764
790
  }
765
791
 
766
- /* package */ Task<Boolean> registerSegment(
792
+ /* package */ Task<Void> registerSegment(
767
793
  final int segmentId, final String path, final Callback callback) {
768
794
  final String method =
769
795
  "registerSegment(segmentId = \"" + segmentId + "\", path = \"" + path + "\")";
@@ -785,9 +811,10 @@ public class ReactHostImpl implements ReactHost {
785
811
 
786
812
  if (mUseDevSupport) {
787
813
  mDevSupportManager.handleException(e);
814
+ } else {
815
+ mReactHostDelegate.handleInstanceException(e);
788
816
  }
789
817
  destroy(method, e);
790
- mReactHostDelegate.handleInstanceException(e);
791
818
  }
792
819
 
793
820
  /**
@@ -798,7 +825,7 @@ public class ReactHostImpl implements ReactHost {
798
825
  * @param args Arguments to be passed to the function
799
826
  * @return A Task that will complete when the function call has been enqueued on the JS thread.
800
827
  */
801
- /* package */ Task<Boolean> callFunctionOnModule(
828
+ /* package */ Task<Void> callFunctionOnModule(
802
829
  final String moduleName, final String methodName, final NativeArray args) {
803
830
  final String method = "callFunctionOnModule(\"" + moduleName + "\", \"" + methodName + "\")";
804
831
  return callWithExistingReactInstance(
@@ -875,7 +902,12 @@ public class ReactHostImpl implements ReactHost {
875
902
  .continueWithTask(
876
903
  (task) -> {
877
904
  if (task.isFaulted()) {
878
- mReactHostDelegate.handleInstanceException(task.getError());
905
+ Exception ex = task.getError();
906
+ if (mUseDevSupport) {
907
+ mDevSupportManager.handleException(ex);
908
+ } else {
909
+ mReactHostDelegate.handleInstanceException(ex);
910
+ }
879
911
  // Wait for destroy to finish
880
912
  return getOrCreateDestroyTask(
881
913
  "getOrCreateStartTask() failure: " + task.getError().getMessage(),
@@ -893,11 +925,6 @@ public class ReactHostImpl implements ReactHost {
893
925
  @ThreadConfined(UI)
894
926
  private void moveToHostDestroy(@Nullable ReactContext currentContext) {
895
927
  mReactLifecycleStateManager.moveToOnHostDestroy(currentContext);
896
- if (currentContext == null) {
897
- // There's no current context/instance that requires the host inspector
898
- // target to be kept alive, so we can destroy it immediately.
899
- destroyInspectorHostTarget();
900
- }
901
928
  setCurrentActivity(null);
902
929
  }
903
930
 
@@ -909,14 +936,8 @@ public class ReactHostImpl implements ReactHost {
909
936
  String callingMethod, String message, @Nullable Throwable throwable) {
910
937
  final String method = "raiseSoftException(" + callingMethod + ")";
911
938
  log(method, message);
912
- if (throwable != null) {
913
- ReactSoftExceptionLogger.logSoftException(
914
- TAG, new ReactNoCrashSoftException(method + ": " + message, throwable));
915
- return;
916
- }
917
-
918
939
  ReactSoftExceptionLogger.logSoftException(
919
- TAG, new ReactNoCrashSoftException(method + ": " + message));
940
+ TAG, new ReactNoCrashSoftException(method + ": " + message, throwable));
920
941
  }
921
942
 
922
943
  private Executor getDefaultReactInstanceExecutor() {
@@ -926,9 +947,9 @@ public class ReactHostImpl implements ReactHost {
926
947
  }
927
948
 
928
949
  /** Schedule work on a ReactInstance that is already created. */
929
- private Task<Boolean> callWithExistingReactInstance(
950
+ private Task<Void> callWithExistingReactInstance(
930
951
  final String callingMethod,
931
- final ReactInstanceCalback continuation,
952
+ final ReactInstanceCalback callback,
932
953
  @Nullable Executor executor) {
933
954
  final String method = "callWithExistingReactInstance(" + callingMethod + ")";
934
955
 
@@ -938,16 +959,18 @@ public class ReactHostImpl implements ReactHost {
938
959
 
939
960
  return mCreateReactInstanceTaskRef
940
961
  .get()
941
- .onSuccess(
962
+ .continueWith(
942
963
  task -> {
943
- final ReactInstance reactInstance = mReactInstance;
944
- if (reactInstance == null) {
964
+ final ReactInstance reactInstance =
965
+ ReactNativeFeatureFlags.completeReactInstanceCreationOnBgThreadOnAndroid()
966
+ ? task.getResult()
967
+ : mReactInstance;
968
+ if (reactInstance == null || task.isFaulted()) {
945
969
  raiseSoftException(method, "Execute: reactInstance is null. Dropping work.");
946
- return FALSE;
970
+ } else {
971
+ callback.then(reactInstance);
947
972
  }
948
-
949
- continuation.then(reactInstance);
950
- return TRUE;
973
+ return null;
951
974
  },
952
975
  executor);
953
976
  }
@@ -955,7 +978,7 @@ public class ReactHostImpl implements ReactHost {
955
978
  /** Create a ReactInstance if it doesn't exist already, and schedule work on it. */
956
979
  private Task<Void> callAfterGetOrCreateReactInstance(
957
980
  final String callingMethod,
958
- final ReactInstanceCalback runnable,
981
+ final ReactInstanceCalback callback,
959
982
  @Nullable Executor executor) {
960
983
  final String method = "callAfterGetOrCreateReactInstance(" + callingMethod + ")";
961
984
 
@@ -964,15 +987,17 @@ public class ReactHostImpl implements ReactHost {
964
987
  }
965
988
 
966
989
  return getOrCreateReactInstance()
967
- .onSuccess(
990
+ .continueWith(
968
991
  task -> {
969
- final ReactInstance reactInstance = mReactInstance;
970
- if (reactInstance == null) {
992
+ final ReactInstance reactInstance =
993
+ ReactNativeFeatureFlags.completeReactInstanceCreationOnBgThreadOnAndroid()
994
+ ? task.getResult()
995
+ : mReactInstance;
996
+ if (reactInstance == null || task.isFaulted()) {
971
997
  raiseSoftException(method, "Execute: reactInstance is null. Dropping work.");
972
- return null;
998
+ } else {
999
+ callback.then(reactInstance);
973
1000
  }
974
-
975
- runnable.then(reactInstance);
976
1001
  return null;
977
1002
  },
978
1003
  executor)
@@ -1041,6 +1066,18 @@ public class ReactHostImpl implements ReactHost {
1041
1066
  return getOrCreateReactInstanceTask();
1042
1067
  }
1043
1068
 
1069
+ private static class CreationResult {
1070
+ final ReactInstance mInstance;
1071
+ final ReactContext mContext;
1072
+ final boolean mIsReloading;
1073
+
1074
+ private CreationResult(ReactInstance instance, ReactContext context, boolean isReloading) {
1075
+ mInstance = instance;
1076
+ mContext = context;
1077
+ mIsReloading = isReloading;
1078
+ }
1079
+ }
1080
+
1044
1081
  @ThreadConfined("ReactHost")
1045
1082
  private Task<ReactInstance> getOrCreateReactInstanceTask() {
1046
1083
  final String method = "getOrCreateReactInstanceTask()";
@@ -1049,118 +1086,124 @@ public class ReactHostImpl implements ReactHost {
1049
1086
  return mCreateReactInstanceTaskRef.getOrCreate(
1050
1087
  () -> {
1051
1088
  log(method, "Start");
1089
+ Assertions.assertCondition(
1090
+ !mHostInvalidated, "Cannot start a new ReactInstance on an invalidated ReactHost");
1091
+
1052
1092
  ReactMarker.logMarker(
1053
1093
  ReactMarkerConstants.REACT_BRIDGELESS_LOADING_START, BRIDGELESS_MARKER_INSTANCE_KEY);
1054
1094
 
1055
- return getJsBundleLoader()
1056
- .onSuccess(
1057
- task -> {
1058
- final JSBundleLoader bundleLoader = task.getResult();
1059
- final BridgelessReactContext reactContext = getOrCreateReactContext();
1060
- final DevSupportManager devSupportManager = getDevSupportManager();
1061
- reactContext.setJSExceptionHandler(devSupportManager);
1062
-
1063
- log(method, "Creating ReactInstance");
1064
- final ReactInstance instance =
1065
- new ReactInstance(
1066
- reactContext,
1067
- mReactHostDelegate,
1068
- mComponentFactory,
1069
- devSupportManager,
1070
- mQueueThreadExceptionHandler,
1071
- mUseDevSupport,
1072
- getOrCreateReactHostInspectorTarget());
1073
- mReactInstance = instance;
1074
-
1075
- // eagerly initailize turbo modules
1076
- instance.initializeEagerTurboModules();
1077
-
1078
- MemoryPressureListener memoryPressureListener =
1079
- createMemoryPressureListener(instance);
1080
- mMemoryPressureListener = memoryPressureListener;
1081
- mMemoryPressureRouter.addMemoryPressureListener(memoryPressureListener);
1082
-
1083
- log(method, "Loading JS Bundle");
1084
- instance.loadJSBundle(bundleLoader);
1085
-
1086
- log(
1087
- method,
1088
- "Calling DevSupportManagerBase.onNewReactContextCreated(reactContext)");
1089
- devSupportManager.onNewReactContextCreated(reactContext);
1090
-
1091
- reactContext.runOnJSQueueThread(
1092
- () -> {
1093
- // Executing on the JS thread to ensurethat we're done
1094
- // loading the JS bundle.
1095
- // TODO T76081936 Move this if we switch to a sync RTE
1096
- ReactMarker.logMarker(
1097
- ReactMarkerConstants.REACT_BRIDGELESS_LOADING_END,
1098
- BRIDGELESS_MARKER_INSTANCE_KEY);
1099
- });
1100
-
1101
- class Result {
1102
- final ReactInstance mInstance = instance;
1103
- final ReactContext mContext = reactContext;
1104
- final boolean mIsReloading = mReloadTask != null;
1105
- }
1106
-
1107
- return new Result();
1108
- },
1109
- mBGExecutor)
1110
- .onSuccess(
1111
- task -> {
1112
- final ReactInstance reactInstance = task.getResult().mInstance;
1113
- final ReactContext reactContext = task.getResult().mContext;
1114
- final boolean isReloading = task.getResult().mIsReloading;
1115
- final boolean isManagerResumed =
1116
- mReactLifecycleStateManager.getLifecycleState() == LifecycleState.RESUMED;
1117
-
1118
- /**
1119
- * ReactContext.onHostResume() should only be called when the user navigates to
1120
- * the first React Native screen.
1121
- *
1122
- * <p>During init: The application puts the React manager in a resumed state,
1123
- * when the user navigates to a React Native screen. Two types of init: (1) If
1124
- * React Native init happens when the user navigates to a React Native screen,
1125
- * the React manager will get resumed on init start, so
1126
- * ReactContext.onHostResume() will be executed here. (2) If React Native init
1127
- * happens before the user navigates to a React Native screen (i.e: React Native
1128
- * is preloaded), the React manager won't be in a resumed state here. So
1129
- * ReactContext.onHostResume() won't be executed here. But, when the user
1130
- * navigates to their first React Native screen, the application will call
1131
- * ReactHost.onHostResume(). That will call ReactContext.onHostResume().
1132
- *
1133
- * <p>During reloads, if the manager isn't resumed, call
1134
- * ReactContext.onHostResume(). If React Native is reloading, it seems
1135
- * reasonable to assume that: (1) We must have navigated to a React Native
1136
- * screen in the past, or (2) We must be on a React Native screen.
1137
- */
1138
- if (isReloading && !isManagerResumed) {
1139
- mReactLifecycleStateManager.moveToOnHostResume(
1140
- reactContext, getCurrentActivity());
1141
- } else {
1142
- /**
1143
- * Call ReactContext.onHostResume() only when already in the resumed state
1144
- * which aligns with the bridge https://fburl.com/diffusion/2qhxmudv.
1145
- */
1146
- mReactLifecycleStateManager.resumeReactContextIfHostResumed(
1147
- reactContext, getCurrentActivity());
1148
- }
1149
-
1150
- ReactInstanceEventListener[] listeners =
1151
- new ReactInstanceEventListener[mReactInstanceEventListeners.size()];
1152
- final ReactInstanceEventListener[] finalListeners =
1153
- mReactInstanceEventListeners.toArray(listeners);
1095
+ Task<CreationResult> creationTask =
1096
+ getJsBundleLoader()
1097
+ .onSuccess(
1098
+ task -> {
1099
+ final JSBundleLoader bundleLoader = task.getResult();
1100
+ final BridgelessReactContext reactContext = getOrCreateReactContext();
1101
+ final DevSupportManager devSupportManager = getDevSupportManager();
1102
+ reactContext.setJSExceptionHandler(devSupportManager);
1103
+
1104
+ log(method, "Creating ReactInstance");
1105
+ final ReactInstance instance =
1106
+ new ReactInstance(
1107
+ reactContext,
1108
+ mReactHostDelegate,
1109
+ mComponentFactory,
1110
+ devSupportManager,
1111
+ this::handleHostException,
1112
+ mUseDevSupport,
1113
+ getOrCreateReactHostInspectorTarget());
1114
+ mReactInstance = instance;
1115
+
1116
+ MemoryPressureListener memoryPressureListener =
1117
+ createMemoryPressureListener(instance);
1118
+ mMemoryPressureListener = memoryPressureListener;
1119
+ mMemoryPressureRouter.addMemoryPressureListener(memoryPressureListener);
1120
+
1121
+ // Eagerly initialize turbo modules in parallel with JS bundle execution
1122
+ // as TurboModuleManager will handle any concurrent access
1123
+ instance.initializeEagerTurboModules();
1124
+
1125
+ log(method, "Loading JS Bundle");
1126
+ instance.loadJSBundle(bundleLoader);
1127
+
1128
+ log(
1129
+ method,
1130
+ "Calling DevSupportManagerBase.onNewReactContextCreated(reactContext)");
1131
+ devSupportManager.onNewReactContextCreated(reactContext);
1132
+
1133
+ reactContext.runOnJSQueueThread(
1134
+ () -> {
1135
+ // Executing on the JS thread to ensure that we're done
1136
+ // loading the JS bundle.
1137
+ // TODO T76081936 Move this if we switch to a sync RTE
1138
+ ReactMarker.logMarker(
1139
+ ReactMarkerConstants.REACT_BRIDGELESS_LOADING_END,
1140
+ BRIDGELESS_MARKER_INSTANCE_KEY);
1141
+ });
1142
+
1143
+ return new CreationResult(instance, reactContext, mReloadTask != null);
1144
+ },
1145
+ mBGExecutor);
1146
+
1147
+ Continuation<CreationResult, ReactInstance> lifecycleUpdateTask =
1148
+ task -> {
1149
+ final ReactInstance reactInstance = task.getResult().mInstance;
1150
+ final ReactContext reactContext = task.getResult().mContext;
1151
+ final boolean isReloading = task.getResult().mIsReloading;
1152
+ final boolean isManagerResumed =
1153
+ mReactLifecycleStateManager.getLifecycleState() == LifecycleState.RESUMED;
1154
+
1155
+ /**
1156
+ * ReactContext.onHostResume() should only be called when the user navigates to the
1157
+ * first React Native screen.
1158
+ *
1159
+ * <p>During init: The application puts the React manager in a resumed state, when
1160
+ * the user navigates to a React Native screen. Two types of init: (1) If React
1161
+ * Native init happens when the user navigates to a React Native screen, the React
1162
+ * manager will get resumed on init start, so ReactContext.onHostResume() will be
1163
+ * executed here. (2) If React Native init happens before the user navigates to a
1164
+ * React Native screen (i.e: React Native is preloaded), the React manager won't be
1165
+ * in a resumed state here. So ReactContext.onHostResume() won't be executed here.
1166
+ * But, when the user navigates to their first React Native screen, the application
1167
+ * will call ReactHost.onHostResume(). That will call ReactContext.onHostResume().
1168
+ *
1169
+ * <p>During reloads, if the manager isn't resumed, call
1170
+ * ReactContext.onHostResume(). If React Native is reloading, it seems reasonable to
1171
+ * assume that: (1) We must have navigated to a React Native screen in the past, or
1172
+ * (2) We must be on a React Native screen.
1173
+ */
1174
+ if (isReloading && !isManagerResumed) {
1175
+ mReactLifecycleStateManager.moveToOnHostResume(
1176
+ reactContext, getCurrentActivity());
1177
+ } else {
1178
+ /**
1179
+ * Call ReactContext.onHostResume() only when already in the resumed state which
1180
+ * aligns with the bridge https://fburl.com/diffusion/2qhxmudv.
1181
+ */
1182
+ mReactLifecycleStateManager.resumeReactContextIfHostResumed(
1183
+ reactContext, getCurrentActivity());
1184
+ }
1154
1185
 
1155
- log(method, "Executing ReactInstanceEventListeners");
1156
- for (ReactInstanceEventListener listener : finalListeners) {
1157
- if (listener != null) {
1158
- listener.onReactContextInitialized(reactContext);
1159
- }
1160
- }
1161
- return reactInstance;
1162
- },
1163
- mUIExecutor);
1186
+ log(method, "Executing ReactInstanceEventListeners");
1187
+ ReactInstanceEventListener[] instanceEventListeners;
1188
+ synchronized (mReactInstanceEventListeners) {
1189
+ instanceEventListeners =
1190
+ mReactInstanceEventListeners.toArray(new ReactInstanceEventListener[0]);
1191
+ }
1192
+ for (ReactInstanceEventListener listener : instanceEventListeners) {
1193
+ if (listener != null) {
1194
+ listener.onReactContextInitialized(reactContext);
1195
+ }
1196
+ }
1197
+ return reactInstance;
1198
+ };
1199
+
1200
+ if (ReactNativeFeatureFlags.completeReactInstanceCreationOnBgThreadOnAndroid()) {
1201
+ creationTask.onSuccess(lifecycleUpdateTask, mUIExecutor);
1202
+ return creationTask.onSuccess(
1203
+ task -> task.getResult().mInstance, Task.IMMEDIATE_EXECUTOR);
1204
+ } else {
1205
+ return creationTask.onSuccess(lifecycleUpdateTask, mUIExecutor);
1206
+ }
1164
1207
  });
1165
1208
  }
1166
1209
 
@@ -1397,11 +1440,10 @@ public class ReactHostImpl implements ReactHost {
1397
1440
  reactInstanceTaskUnwrapper.unwrap(
1398
1441
  task, "3: Executing Before Destroy Listeners");
1399
1442
 
1400
- Set<Function0<Unit>> beforeDestroyListeners;
1443
+ Function0<Unit>[] beforeDestroyListeners;
1401
1444
  synchronized (mBeforeDestroyListeners) {
1402
- beforeDestroyListeners = new HashSet<>(mBeforeDestroyListeners);
1445
+ beforeDestroyListeners = mBeforeDestroyListeners.toArray(new Function0[0]);
1403
1446
  }
1404
-
1405
1447
  for (Function0<Unit> destroyListener : beforeDestroyListeners) {
1406
1448
  destroyListener.invoke();
1407
1449
  }
@@ -1419,6 +1461,9 @@ public class ReactHostImpl implements ReactHost {
1419
1461
 
1420
1462
  final ReactContext reactContext = mBridgelessReactContextRef.getNullable();
1421
1463
  if (reactContext != null) {
1464
+ log(method, "Resetting ReactContext ref");
1465
+ mBridgelessReactContextRef.reset();
1466
+
1422
1467
  log(method, "Destroying ReactContext");
1423
1468
  reactContext.destroy();
1424
1469
  }
@@ -1442,20 +1487,17 @@ public class ReactHostImpl implements ReactHost {
1442
1487
  raiseSoftException(
1443
1488
  method, "Skipping ReactInstance.destroy(): ReactInstance null");
1444
1489
  } else {
1490
+ log(method, "Resetting ReactInstance ptr");
1491
+ mReactInstance = null;
1492
+
1445
1493
  log(method, "Destroying ReactInstance");
1446
1494
  reactInstance.destroy();
1447
1495
  }
1448
1496
 
1449
- log(method, "Resetting ReactContext ref");
1450
- mBridgelessReactContextRef.reset();
1451
-
1452
- log(method, "Resetting ReactInstance task ref");
1497
+ log(method, "Resetting createReactInstance task ref");
1453
1498
  mCreateReactInstanceTaskRef.reset();
1454
1499
 
1455
- log(method, "Resetting ReactInstance ptr");
1456
- mReactInstance = null;
1457
-
1458
- log(method, "Resetting preload task ref");
1500
+ log(method, "Resetting start task ref");
1459
1501
  mStartTask = null;
1460
1502
 
1461
1503
  // Kickstart a new ReactInstance create
@@ -1465,7 +1507,7 @@ public class ReactHostImpl implements ReactHost {
1465
1507
  .continueWithTask(
1466
1508
  task -> {
1467
1509
  final ReactInstance reactInstance =
1468
- reactInstanceTaskUnwrapper.unwrap(task, "7: Restarting surfaces");
1510
+ reactInstanceTaskUnwrapper.unwrap(task, "6: Restarting surfaces");
1469
1511
 
1470
1512
  if (reactInstance == null) {
1471
1513
  raiseSoftException(method, "Skipping surface restart: ReactInstance null");
@@ -1543,6 +1585,16 @@ public class ReactHostImpl implements ReactHost {
1543
1585
 
1544
1586
  unregisterInstanceFromInspector(reactInstance);
1545
1587
 
1588
+ if (mHostInvalidated) {
1589
+ // If the host has been invalidated, now that the current context/instance
1590
+ // has been unregistered, we can safely destroy the host's inspector
1591
+ // target.
1592
+ if (mReactHostInspectorTarget != null) {
1593
+ mReactHostInspectorTarget.close();
1594
+ mReactHostInspectorTarget = null;
1595
+ }
1596
+ }
1597
+
1546
1598
  // Step 1: Destroy DevSupportManager
1547
1599
  if (mUseDevSupport) {
1548
1600
  log(method, "DevSupportManager cleanup");
@@ -1603,7 +1655,6 @@ public class ReactHostImpl implements ReactHost {
1603
1655
  reactInstanceTaskUnwrapper.unwrap(task, "4: Destroying ReactContext");
1604
1656
 
1605
1657
  final ReactContext reactContext = mBridgelessReactContextRef.getNullable();
1606
-
1607
1658
  if (reactContext == null) {
1608
1659
  raiseSoftException(method, "ReactContext is null. Destroy reason: " + reason);
1609
1660
  }
@@ -1613,6 +1664,9 @@ public class ReactHostImpl implements ReactHost {
1613
1664
  mMemoryPressureRouter.destroy(mContext);
1614
1665
 
1615
1666
  if (reactContext != null) {
1667
+ log(method, "Resetting ReactContext ref");
1668
+ mBridgelessReactContextRef.reset();
1669
+
1616
1670
  log(method, "Destroying ReactContext");
1617
1671
  reactContext.destroy();
1618
1672
  }
@@ -1635,20 +1689,17 @@ public class ReactHostImpl implements ReactHost {
1635
1689
  raiseSoftException(
1636
1690
  method, "Skipping ReactInstance.destroy(): ReactInstance null");
1637
1691
  } else {
1692
+ log(method, "Resetting ReactInstance ptr");
1693
+ mReactInstance = null;
1694
+
1638
1695
  log(method, "Destroying ReactInstance");
1639
1696
  reactInstance.destroy();
1640
1697
  }
1641
1698
 
1642
- log(method, "Resetting ReactContext ref ");
1643
- mBridgelessReactContextRef.reset();
1644
-
1645
- log(method, "Resetting ReactInstance task ref");
1699
+ log(method, "Resetting createReactInstance task ref");
1646
1700
  mCreateReactInstanceTaskRef.reset();
1647
1701
 
1648
- log(method, "Resetting ReactInstance ptr");
1649
- mReactInstance = null;
1650
-
1651
- log(method, "Resetting Preload task ref");
1702
+ log(method, "Resetting start task ref");
1652
1703
  mStartTask = null;
1653
1704
 
1654
1705
  log(method, "Resetting destroy task ref");
@@ -1682,34 +1733,15 @@ public class ReactHostImpl implements ReactHost {
1682
1733
  return mDestroyTask;
1683
1734
  }
1684
1735
 
1685
- @Nullable
1686
- @Override
1687
- public JSEngineResolutionAlgorithm getJsEngineResolutionAlgorithm() {
1688
- return mJSEngineResolutionAlgorithm;
1689
- }
1690
-
1691
- @Override
1692
- public void setJsEngineResolutionAlgorithm(
1693
- @Nullable JSEngineResolutionAlgorithm jsEngineResolutionAlgorithm) {
1694
- mJSEngineResolutionAlgorithm = jsEngineResolutionAlgorithm;
1695
- }
1696
-
1697
1736
  private @Nullable ReactHostInspectorTarget getOrCreateReactHostInspectorTarget() {
1698
1737
  if (mReactHostInspectorTarget == null && InspectorFlags.getFuseboxEnabled()) {
1738
+ // NOTE: ReactHostInspectorTarget only retains a weak reference to `this`.
1699
1739
  mReactHostInspectorTarget = new ReactHostInspectorTarget(this);
1700
1740
  }
1701
1741
 
1702
1742
  return mReactHostInspectorTarget;
1703
1743
  }
1704
1744
 
1705
- @ThreadConfined(UI)
1706
- private void destroyInspectorHostTarget() {
1707
- if (mReactHostInspectorTarget != null) {
1708
- mReactHostInspectorTarget.close();
1709
- mReactHostInspectorTarget = null;
1710
- }
1711
- }
1712
-
1713
1745
  @ThreadConfined(UI)
1714
1746
  private void unregisterInstanceFromInspector(final @Nullable ReactInstance reactInstance) {
1715
1747
  if (reactInstance != null) {
@@ -1720,11 +1752,12 @@ public class ReactHostImpl implements ReactHost {
1720
1752
  }
1721
1753
  reactInstance.unregisterFromInspector();
1722
1754
  }
1723
- if (mReactLifecycleStateManager.getLifecycleState() == LifecycleState.BEFORE_CREATE) {
1724
- // If the host is being destroyed, now that the current context/instance
1725
- // has been unregistered, we can safely destroy the host's inspector
1726
- // target.
1727
- destroyInspectorHostTarget();
1728
- }
1755
+ }
1756
+
1757
+ @Override
1758
+ public void invalidate() {
1759
+ FLog.d(TAG, "ReactHostImpl.invalidate()");
1760
+ mHostInvalidated = true;
1761
+ destroy("ReactHostImpl.invalidate()", null);
1729
1762
  }
1730
1763
  }