react-native 0.0.0-16bb2ae4f → 0.0.0-18697adec

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 (616) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +14 -1
  2. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -0
  3. package/Libraries/Animated/AnimatedEvent.js +23 -4
  4. package/Libraries/Animated/NativeAnimatedHelper.js +3 -3
  5. package/Libraries/BatchedBridge/MessageQueue.js +10 -10
  6. package/Libraries/Blob/FileReader.js +1 -1
  7. package/Libraries/Blob/React-RCTBlob.podspec +1 -1
  8. package/Libraries/Blob/URL.js +1 -1
  9. package/Libraries/Components/Button.js +3 -0
  10. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +3 -6
  11. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -7
  12. package/Libraries/Components/ScrollView/ScrollView.js +14 -5
  13. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -0
  14. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +268 -252
  15. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -0
  16. package/Libraries/Components/StatusBar/StatusBar.js +6 -14
  17. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +2 -3
  18. package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +1 -0
  19. package/Libraries/Components/TextInput/TextInput.js +27 -1
  20. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  21. package/Libraries/Components/View/ViewAccessibility.js +1 -0
  22. package/Libraries/Core/ExceptionsManager.js +3 -1
  23. package/Libraries/Core/ReactNativeVersion.js +1 -1
  24. package/Libraries/Core/Timers/JSTimers.js +37 -28
  25. package/Libraries/Core/Timers/immediateShim.js +67 -0
  26. package/Libraries/Core/Timers/queueMicrotask.js +41 -0
  27. package/Libraries/Core/polyfillPromise.js +1 -1
  28. package/Libraries/Core/setUpBatchedBridge.js +1 -1
  29. package/Libraries/Core/setUpGlobals.js +2 -0
  30. package/Libraries/Core/setUpRegeneratorRuntime.js +25 -8
  31. package/Libraries/Core/setUpTimers.js +65 -6
  32. package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +1 -1
  33. package/Libraries/Image/Image.ios.js +6 -0
  34. package/Libraries/Image/ImageBackground.js +10 -8
  35. package/Libraries/Image/ImageProps.js +28 -0
  36. package/Libraries/Image/ImageSource.js +1 -1
  37. package/Libraries/Image/React-RCTImage.podspec +1 -1
  38. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  39. package/Libraries/Lists/FlatList.js +43 -26
  40. package/Libraries/Lists/VirtualizedList.js +3 -1
  41. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +4 -4
  42. package/Libraries/LogBox/Data/LogBoxData.js +18 -18
  43. package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
  44. package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
  45. package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
  46. package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
  47. package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
  48. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +0 -3
  49. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +6 -3
  50. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h +1 -2
  51. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +17 -11
  52. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  53. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  54. package/Libraries/Network/XMLHttpRequest.js +3 -1
  55. package/Libraries/NewAppScreen/components/logo.png +0 -0
  56. package/Libraries/Performance/QuickPerformanceLogger.js +2 -1
  57. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -1
  58. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +2 -0
  59. package/Libraries/Pressability/Pressability.js +1 -0
  60. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -0
  61. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +0 -1
  62. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  63. package/Libraries/ReactNative/AppRegistry.js +1 -1
  64. package/Libraries/ReactNative/PaperUIManager.js +1 -0
  65. package/Libraries/ReactNative/renderApplication.js +1 -1
  66. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -2
  67. package/Libraries/Reliability/UserFlow.js +7 -0
  68. package/Libraries/Renderer/REVISION +1 -1
  69. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +4485 -3842
  70. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +2060 -1709
  71. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +2148 -1796
  72. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +4264 -3695
  73. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +1303 -1063
  74. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +1374 -1139
  75. package/Libraries/Renderer/shims/ReactFabric.js +3 -1
  76. package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
  77. package/Libraries/Renderer/shims/ReactNative.js +3 -1
  78. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -1
  79. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  80. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -1
  81. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  82. package/Libraries/StyleSheet/normalizeColor.js +2 -2
  83. package/Libraries/Text/Text.js +11 -0
  84. package/Libraries/Text/TextInput/RCTBaseTextInputView.m +2 -12
  85. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +4 -11
  86. package/Libraries/Text/TextProps.js +1 -7
  87. package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
  88. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  89. package/Libraries/UTFSequence.js +1 -1
  90. package/Libraries/Utilities/Dimensions.js +9 -14
  91. package/Libraries/Utilities/FeatureDetection.js +31 -0
  92. package/Libraries/Utilities/HMRClient.js +10 -6
  93. package/Libraries/Utilities/MatrixMath.js +1 -1
  94. package/Libraries/Utilities/NativeDeviceInfo.js +1 -1
  95. package/Libraries/Utilities/deprecatedPropType.js +2 -2
  96. package/Libraries/Utilities/useWindowDimensions.js +7 -2
  97. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  98. package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +1 -1
  99. package/React/Base/RCTBridge+Private.h +8 -0
  100. package/React/Base/RCTBridge.h +13 -0
  101. package/React/Base/RCTBridge.m +30 -7
  102. package/React/Base/RCTBridgeModule.h +3 -12
  103. package/React/Base/RCTBundleURLProvider.h +26 -1
  104. package/React/Base/RCTBundleURLProvider.mm +79 -15
  105. package/React/Base/RCTConstants.h +6 -7
  106. package/React/Base/RCTConstants.m +12 -12
  107. package/React/Base/RCTConvert.h +1 -1
  108. package/React/Base/RCTConvert.m +1 -1
  109. package/React/Base/RCTCxxConvert.h +1 -1
  110. package/React/Base/RCTDefines.h +12 -3
  111. package/React/Base/RCTEventDispatcherProtocol.h +2 -0
  112. package/React/Base/RCTJSThread.h +29 -0
  113. package/React/Base/RCTJSThread.m +19 -0
  114. package/React/Base/RCTMultipartStreamReader.m +0 -2
  115. package/React/Base/RCTRootView.h +15 -0
  116. package/React/Base/RCTRootView.m +15 -0
  117. package/React/Base/RCTTouchHandler.m +4 -9
  118. package/React/Base/RCTUtils.h +3 -0
  119. package/React/Base/RCTUtils.m +14 -7
  120. package/React/Base/RCTVersion.m +1 -1
  121. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +11 -0
  122. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +35 -1
  123. package/React/CoreModules/BUCK +3 -3
  124. package/React/CoreModules/RCTAccessibilityManager.mm +1 -1
  125. package/React/CoreModules/RCTActionSheetManager.mm +14 -5
  126. package/React/CoreModules/RCTAsyncLocalStorage.mm +4 -0
  127. package/React/CoreModules/RCTDevLoadingView.mm +5 -10
  128. package/React/CoreModules/RCTDevSettings.mm +12 -10
  129. package/React/CoreModules/RCTDevSplitBundleLoader.mm +1 -1
  130. package/React/CoreModules/RCTDeviceInfo.mm +4 -4
  131. package/React/CoreModules/RCTEventDispatcher.mm +5 -0
  132. package/React/CoreModules/RCTLogBox.mm +14 -10
  133. package/React/CoreModules/RCTPerfMonitor.mm +9 -4
  134. package/React/CoreModules/RCTRedBox.mm +1 -5
  135. package/React/CoreModules/React-CoreModules.podspec +1 -1
  136. package/React/CxxBridge/RCTCxxBridge.mm +18 -1
  137. package/React/DevSupport/RCTPackagerConnection.h +3 -0
  138. package/React/DevSupport/RCTPackagerConnection.mm +19 -8
  139. package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +12 -4
  140. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +1 -2
  141. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +64 -62
  142. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +31 -11
  143. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +6 -0
  144. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +108 -4
  145. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +1 -0
  146. package/React/Fabric/Mounting/RCTMountingManager.h +3 -0
  147. package/React/Fabric/Mounting/RCTMountingManager.mm +22 -3
  148. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +2 -0
  149. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +12 -0
  150. package/React/Fabric/RCTConversions.h +3 -0
  151. package/React/Fabric/RCTScheduler.mm +12 -5
  152. package/React/Fabric/RCTSurfacePresenter.mm +6 -7
  153. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +1 -1
  154. package/React/Fabric/RCTSurfaceRegistry.h +1 -1
  155. package/React/Fabric/RCTSurfaceTouchHandler.mm +6 -20
  156. package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
  157. package/React/Modules/RCTI18nUtil.h +14 -6
  158. package/React/Modules/RCTI18nUtil.m +1 -47
  159. package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
  160. package/React/Profiler/RCTProfileTrampoline-arm64.S +2 -2
  161. package/React/React-RCTFabric.podspec +1 -1
  162. package/React/Views/RCTFont.mm +54 -38
  163. package/React/Views/RCTModalHostView.h +1 -1
  164. package/React/Views/RCTModalHostView.m +16 -0
  165. package/React/Views/RCTModalHostViewManager.m +1 -0
  166. package/React/Views/RCTView.m +2 -7
  167. package/React/Views/RCTViewManager.m +4 -2
  168. package/React/Views/SafeAreaView/RCTSafeAreaView.m +1 -5
  169. package/React/Views/ScrollView/RCTScrollView.h +1 -0
  170. package/React/Views/ScrollView/RCTScrollView.m +111 -36
  171. package/React/Views/ScrollView/RCTScrollViewManager.m +1 -7
  172. package/React/Views/UIView+React.m +2 -11
  173. package/React-Core.podspec +1 -1
  174. package/ReactAndroid/Android-prebuilt.mk +8 -0
  175. package/ReactAndroid/README.md +1 -1
  176. package/ReactAndroid/build.gradle +12 -5
  177. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/BUCK +1 -1
  178. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java +1 -1
  179. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/BUCK +1 -1
  180. package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/BUCK +5 -5
  181. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -1
  182. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/BUCK +5 -5
  183. package/ReactAndroid/src/androidTest/js/BUCK +26 -0
  184. package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -7
  185. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +2 -2
  186. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +4 -4
  187. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutorFactory.java +1 -1
  188. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/RuntimeConfig.java +0 -6
  189. package/ReactAndroid/src/main/java/com/facebook/react/BUCK +1 -1
  190. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +1 -0
  191. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.java +2 -0
  192. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +6 -2
  193. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +89 -44
  194. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +28 -0
  195. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +13 -0
  196. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +5 -4
  197. package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +1 -1
  198. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +2 -2
  199. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +4 -4
  200. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +3 -2
  201. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +4 -0
  202. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +11 -0
  203. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +37 -0
  204. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +22 -0
  205. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +3 -6
  206. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +1 -1
  207. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +39 -0
  208. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{ReactSoftException.java → ReactSoftExceptionLogger.java} +8 -3
  209. package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.java +21 -0
  210. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +8 -7
  211. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +10 -0
  212. package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +2 -2
  213. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +1 -1
  214. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +32 -4
  215. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +1 -1
  216. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +97 -0
  217. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +9 -58
  218. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +14 -9
  219. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +3 -72
  220. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.java +100 -0
  221. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +10 -0
  222. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +4 -3
  223. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +1 -0
  224. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +64 -31
  225. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +3 -3
  226. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +2 -1
  227. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +1 -1
  228. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +54 -10
  229. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +7 -1
  230. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +14 -6
  231. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +4 -4
  232. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +40 -11
  233. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +2 -2
  234. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +2 -2
  235. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +2 -2
  236. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +1 -1
  237. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +1 -1
  238. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +1 -1
  239. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +1 -1
  240. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +2 -2
  241. package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +1 -1
  242. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +1 -1
  243. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +1 -1
  244. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerManager.java → JavaScriptTimerExecutor.java} +1 -1
  245. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +7 -7
  246. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +2 -2
  247. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +1 -1
  248. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +1 -1
  249. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java +10 -6
  250. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +1 -1
  251. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +1 -1
  252. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +7 -1
  253. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +1 -1
  254. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +1 -1
  255. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +23 -19
  256. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +1 -1
  257. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +1 -4
  258. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +1 -1
  259. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +1 -1
  260. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +1 -1
  261. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +1 -1
  262. package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +1 -1
  263. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +2 -2
  264. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
  265. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +1 -1
  266. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +1 -1
  267. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +1 -1
  268. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +11 -9
  269. package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -1
  270. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -5
  271. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +4 -2
  272. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp +39 -11
  273. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h +9 -2
  274. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +7 -28
  275. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.java +1 -6
  276. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +2 -2
  277. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +25 -0
  278. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +162 -66
  279. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +9 -9
  280. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +1 -0
  281. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +6 -5
  282. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +16 -1
  283. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +12 -20
  284. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +2 -2
  285. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +14 -13
  286. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +21 -5
  287. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +1 -1
  288. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +1 -1
  289. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +1 -1
  290. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +1 -1
  291. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +7 -11
  292. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +1 -1
  293. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +1 -0
  294. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +9 -1
  295. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +24 -1
  296. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +2 -2
  297. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +1 -1
  298. package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +4 -7
  299. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +1 -1
  300. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +1 -1
  301. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +0 -4
  302. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +23 -2
  303. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +8 -0
  304. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +20 -1
  305. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +31 -12
  306. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +31 -11
  307. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +1 -0
  308. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +14 -4
  309. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +3 -0
  310. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +114 -62
  311. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +92 -0
  312. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +39 -8
  313. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +24 -3
  314. package/ReactAndroid/src/main/jni/react/jni/Android.mk +5 -3
  315. package/ReactAndroid/src/main/jni/react/jni/BUCK +5 -2
  316. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +61 -0
  317. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +8 -0
  318. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +18 -0
  319. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h +25 -0
  320. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.cpp +21 -0
  321. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.h +28 -0
  322. package/{ReactCommon/react/renderer/core/Constants.cpp → ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp} +6 -8
  323. package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.h +30 -0
  324. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
  325. package/ReactAndroid/src/main/jni/third-party/libevent/Android.mk +0 -1
  326. package/ReactAndroid/src/main/third-party/android/androidx/BUCK +63 -2
  327. package/ReactAndroid/src/main/third-party/java/testing-support-lib/BUCK +0 -31
  328. package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReactTestHelper.java +1 -0
  329. package/ReactAndroid/src/test/java/com/facebook/react/modules/BUCK +1 -0
  330. package/ReactAndroid/src/test/java/com/facebook/react/modules/deviceinfo/DeviceInfoModuleTest.java +168 -0
  331. package/ReactCommon/React-Fabric.podspec +10 -1
  332. package/ReactCommon/ReactCommon.podspec +2 -1
  333. package/ReactCommon/callinvoker/BUCK +2 -2
  334. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  335. package/ReactCommon/cxxreact/Android.mk +2 -1
  336. package/ReactCommon/cxxreact/BUCK +1 -0
  337. package/ReactCommon/cxxreact/CxxNativeModule.cpp +28 -0
  338. package/ReactCommon/cxxreact/CxxNativeModule.h +9 -0
  339. package/ReactCommon/cxxreact/React-cxxreact.podspec +2 -1
  340. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  341. package/ReactCommon/hermes/React-hermes.podspec +1 -1
  342. package/ReactCommon/hermes/executor/Android.mk +4 -4
  343. package/ReactCommon/hermes/inspector/Android.mk +1 -2
  344. package/ReactCommon/hermes/inspector/tools/msggen/package.json +7 -4
  345. package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +13 -10
  346. package/ReactCommon/jsi/Android.mk +1 -1
  347. package/ReactCommon/jsi/BUCK +0 -2
  348. package/ReactCommon/jsi/React-jsi.podspec +1 -1
  349. package/ReactCommon/jsiexecutor/Android.mk +2 -2
  350. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
  351. package/ReactCommon/logger/Android.mk +23 -0
  352. package/ReactCommon/logger/BUCK +43 -0
  353. package/ReactCommon/logger/React-logger.podspec +40 -0
  354. package/ReactCommon/logger/react_native_log.cpp +52 -0
  355. package/ReactCommon/logger/react_native_log.h +33 -0
  356. package/ReactCommon/react/nativemodule/core/Android.mk +2 -2
  357. package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.cpp +1 -0
  358. package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.h +3 -2
  359. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +46 -1
  360. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +10 -0
  361. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +37 -1
  362. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +24 -22
  363. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +11 -8
  364. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.h +7 -5
  365. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +51 -29
  366. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +45 -34
  367. package/ReactCommon/react/nativemodule/samples/BUCK +2 -2
  368. package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +1 -1
  369. package/ReactCommon/react/renderer/animations/BUCK +1 -0
  370. package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +34 -0
  371. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +5 -27
  372. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +8 -14
  373. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +920 -1136
  374. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +80 -245
  375. package/ReactCommon/react/renderer/animations/conversions.h +212 -0
  376. package/ReactCommon/react/renderer/animations/primitives.h +104 -0
  377. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +9 -6
  378. package/ReactCommon/react/renderer/animations/utils.cpp +71 -0
  379. package/ReactCommon/react/renderer/animations/utils.h +80 -0
  380. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
  381. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +7 -3
  382. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +12 -2
  383. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +7 -2
  384. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +3 -1
  385. package/ReactCommon/react/renderer/attributedstring/conversions.h +162 -11
  386. package/ReactCommon/react/renderer/attributedstring/primitives.h +34 -1
  387. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +2 -2
  388. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +1 -0
  389. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +10 -4
  390. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +4 -1
  391. package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +2 -1
  392. package/ReactCommon/react/renderer/components/image/Android.mk +1 -1
  393. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +28 -9
  394. package/ReactCommon/react/renderer/components/image/ImageProps.h +5 -1
  395. package/ReactCommon/react/renderer/components/image/conversions.h +9 -2
  396. package/ReactCommon/react/renderer/components/inputaccessory/BUCK +1 -1
  397. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +1 -1
  398. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +0 -1
  399. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +2 -1
  400. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +2 -0
  401. package/ReactCommon/react/renderer/components/root/RootProps.cpp +12 -2
  402. package/ReactCommon/react/renderer/components/root/RootProps.h +6 -1
  403. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +2 -1
  404. package/ReactCommon/react/renderer/components/root/RootShadowNode.h +2 -0
  405. package/ReactCommon/react/renderer/components/root/tests/RootShadowNodeTest.cpp +8 -4
  406. package/ReactCommon/react/renderer/components/safeareaview/BUCK +1 -1
  407. package/ReactCommon/react/renderer/components/scrollview/Android.mk +1 -1
  408. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +45 -4
  409. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +5 -1
  410. package/ReactCommon/react/renderer/components/scrollview/conversions.h +5 -0
  411. package/ReactCommon/react/renderer/components/text/Android.mk +1 -1
  412. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +32 -0
  413. package/ReactCommon/react/renderer/components/text/BaseTextProps.h +5 -1
  414. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +1 -16
  415. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +10 -4
  416. package/ReactCommon/react/renderer/components/text/ParagraphProps.h +5 -1
  417. package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +3 -2
  418. package/ReactCommon/react/renderer/components/text/RawTextProps.h +5 -1
  419. package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +0 -6
  420. package/ReactCommon/react/renderer/components/text/TextProps.cpp +6 -3
  421. package/ReactCommon/react/renderer/components/text/TextProps.h +5 -1
  422. package/ReactCommon/react/renderer/components/text/TextShadowNode.h +0 -6
  423. package/ReactCommon/react/renderer/components/textinput/Android.mk +1 -1
  424. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +58 -91
  425. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +10 -6
  426. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +46 -22
  427. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +6 -5
  428. package/ReactCommon/react/renderer/components/textinput/iostextinput/conversions.h +15 -3
  429. package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +6 -0
  430. package/ReactCommon/react/renderer/components/textinput/iostextinput/propsConversions.h +63 -2
  431. package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +1 -1
  432. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +4 -2
  433. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h +5 -2
  434. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +1 -0
  435. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +21 -0
  436. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +24 -1
  437. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +3 -0
  438. package/ReactCommon/react/renderer/components/view/Android.mk +3 -2
  439. package/ReactCommon/react/renderer/components/view/BUCK +1 -0
  440. package/ReactCommon/react/renderer/components/view/Touch.h +1 -32
  441. package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +0 -22
  442. package/ReactCommon/react/renderer/components/view/ViewProps.cpp +62 -14
  443. package/ReactCommon/react/renderer/components/view/ViewProps.h +7 -1
  444. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +2 -10
  445. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +5 -4
  446. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +1 -1
  447. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +58 -33
  448. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +2 -8
  449. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
  450. package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +2 -0
  451. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +62 -8
  452. package/ReactCommon/react/renderer/components/view/conversions.h +57 -14
  453. package/ReactCommon/react/renderer/components/view/propsConversions.h +163 -28
  454. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +7 -2
  455. package/ReactCommon/react/renderer/core/Android.mk +1 -1
  456. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +5 -2
  457. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +19 -21
  458. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +4 -0
  459. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +12 -31
  460. package/ReactCommon/react/renderer/core/EventDispatcher.h +1 -4
  461. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +0 -6
  462. package/ReactCommon/react/renderer/core/Props.cpp +10 -2
  463. package/ReactCommon/react/renderer/core/Props.h +6 -1
  464. package/ReactCommon/react/renderer/core/PropsParserContext.h +29 -0
  465. package/ReactCommon/react/renderer/core/RawProps.cpp +2 -1
  466. package/ReactCommon/react/renderer/core/RawProps.h +3 -1
  467. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +10 -2
  468. package/ReactCommon/react/renderer/core/RawPropsParser.h +11 -2
  469. package/ReactCommon/react/renderer/core/ReactPrimitives.h +0 -2
  470. package/ReactCommon/react/renderer/core/ShadowNode.cpp +7 -10
  471. package/ReactCommon/react/renderer/core/ShadowNode.h +4 -0
  472. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +1 -0
  473. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +11 -1
  474. package/ReactCommon/react/renderer/core/propsConversions.h +18 -8
  475. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +16 -4
  476. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +85 -20
  477. package/ReactCommon/react/renderer/core/tests/TestComponent.h +6 -2
  478. package/ReactCommon/react/renderer/graphics/Android.mk +5 -2
  479. package/ReactCommon/react/renderer/graphics/BUCK +12 -1
  480. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +2 -1
  481. package/ReactCommon/react/renderer/graphics/Transform.cpp +1 -1
  482. package/ReactCommon/react/renderer/graphics/Transform.h +1 -1
  483. package/ReactCommon/react/renderer/graphics/conversions.h +34 -19
  484. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +67 -0
  485. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/PlatformColorParser.h +29 -0
  486. package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +42 -1
  487. package/ReactCommon/react/renderer/graphics/platform/ios/PlatformColorParser.h +34 -0
  488. package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.h +12 -0
  489. package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.mm +206 -0
  490. package/ReactCommon/react/renderer/imagemanager/BUCK +1 -1
  491. package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.mm +1 -1
  492. package/ReactCommon/react/renderer/mapbuffer/BUCK +2 -2
  493. package/ReactCommon/react/renderer/mounting/Android.mk +2 -1
  494. package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
  495. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +6 -2
  496. package/ReactCommon/react/renderer/mounting/ShadowTree.h +3 -1
  497. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -0
  498. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +10 -1
  499. package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +12 -1
  500. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +8 -1
  501. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +10 -3
  502. package/ReactCommon/react/renderer/runtimescheduler/Android.mk +2 -1
  503. package/ReactCommon/react/renderer/runtimescheduler/BUCK +1 -0
  504. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +10 -4
  505. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +9 -2
  506. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +4 -2
  507. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +4 -2
  508. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +30 -0
  509. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +34 -0
  510. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +4 -2
  511. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +4 -2
  512. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +11 -5
  513. package/ReactCommon/react/renderer/runtimescheduler/Task.h +5 -3
  514. package/ReactCommon/react/renderer/runtimescheduler/primitives.h +4 -2
  515. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +34 -0
  516. package/ReactCommon/react/renderer/{core/Constants.h → scheduler/InspectorData.h} +9 -8
  517. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +44 -29
  518. package/ReactCommon/react/renderer/scheduler/Scheduler.h +14 -0
  519. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +49 -29
  520. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +12 -4
  521. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +1 -0
  522. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.h +2 -0
  523. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +22 -0
  524. package/ReactCommon/react/renderer/timeline/BUCK +6 -6
  525. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +34 -30
  526. package/ReactCommon/react/renderer/uimanager/UIManager.h +6 -3
  527. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
  528. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +101 -108
  529. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +4 -7
  530. package/ReactCommon/react/test_utils/BUCK +3 -0
  531. package/ReactCommon/react/test_utils/MockSurfaceHandler.h +25 -0
  532. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +18 -4
  533. package/ReactCommon/react/utils/Android.mk +3 -1
  534. package/ReactCommon/react/utils/BUCK +1 -0
  535. package/ReactCommon/react/utils/ContextContainer.h +0 -27
  536. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  537. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  538. package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +12 -0
  539. package/android/com/facebook/react/react-native/{0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.aar → 0.0.0-18697adec/react-native-0.0.0-18697adec.aar} +0 -0
  540. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.md5 +1 -0
  541. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha1 +1 -0
  542. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha256 +1 -0
  543. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.aar.sha512 +1 -0
  544. package/android/com/facebook/react/react-native/{0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.module → 0.0.0-18697adec/react-native-0.0.0-18697adec.module} +30 -17
  545. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.md5 +1 -0
  546. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha1 +1 -0
  547. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha256 +1 -0
  548. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.module.sha512 +1 -0
  549. package/android/com/facebook/react/react-native/{0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.pom → 0.0.0-18697adec/react-native-0.0.0-18697adec.pom} +8 -2
  550. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.md5 +1 -0
  551. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha1 +1 -0
  552. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha256 +1 -0
  553. package/android/com/facebook/react/react-native/0.0.0-18697adec/react-native-0.0.0-18697adec.pom.sha512 +1 -0
  554. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
  555. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  556. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  557. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
  558. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
  559. package/flow/HermesInternalType.js +114 -0
  560. package/flow/global.js +68 -0
  561. package/index.js +37 -24
  562. package/jest/renderer.js +3 -7
  563. package/jest/setup.js +2 -1
  564. package/package.json +55 -16
  565. package/react.gradle +19 -13
  566. package/scripts/generate-specs-cli.js +20 -2
  567. package/scripts/ios-configure-glog.sh +4 -0
  568. package/scripts/react-native-xcode.sh +1 -1
  569. package/scripts/react_native_pods.rb +195 -38
  570. package/template/_flowconfig +1 -1
  571. package/template/android/app/build.gradle +2 -2
  572. package/template/android/build.gradle +1 -2
  573. package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  574. package/template/android/gradle.properties +1 -1
  575. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +2 -0
  576. package/template/ios/Podfile +1 -0
  577. package/template/package.json +3 -4
  578. package/third-party-podspecs/RCT-Folly.podspec +6 -3
  579. package/Libraries/BUCK +0 -26
  580. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -87
  581. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
  582. package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
  583. package/Libraries/Components/StaticContainer.react.js +0 -51
  584. package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -38
  585. package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -25
  586. package/Libraries/Interaction/InteractionMixin.js +0 -54
  587. package/Libraries/ReactNative/queryLayoutByID.js +0 -58
  588. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/DatePickerDialogTestCase.java +0 -172
  589. package/ReactAndroid/src/androidTest/js/DatePickerDialogTestModule.js +0 -45
  590. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +0 -27
  591. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java +0 -137
  592. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +0 -153
  593. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerMode.java +0 -15
  594. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java +0 -117
  595. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/BUCK +0 -20
  596. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/RuntimeSchedulerManager.java +0 -39
  597. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/Android.mk +0 -34
  598. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/BUCK +0 -35
  599. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/OnLoad.cpp +0 -15
  600. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.cpp +0 -46
  601. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.h +0 -40
  602. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.aar.md5 +0 -1
  603. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.aar.sha1 +0 -1
  604. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.aar.sha256 +0 -1
  605. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.aar.sha512 +0 -1
  606. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.module.md5 +0 -1
  607. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.module.sha1 +0 -1
  608. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.module.sha256 +0 -1
  609. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.module.sha512 +0 -1
  610. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.pom.md5 +0 -1
  611. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.pom.sha1 +0 -1
  612. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.pom.sha256 +0 -1
  613. package/android/com/facebook/react/react-native/0.0.0-16bb2ae4f/react-native-0.0.0-16bb2ae4f.pom.sha512 +0 -1
  614. package/scripts/generate-specs.sh +0 -100
  615. package/template/_editorconfig +0 -3
  616. package/template/_gitattributes +0 -3
@@ -0,0 +1,100 @@
1
+ /*
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.react.devsupport;
9
+
10
+ import com.facebook.common.logging.FLog;
11
+ import com.facebook.react.common.ReactConstants;
12
+ import com.facebook.react.devsupport.interfaces.PackagerStatusCallback;
13
+ import java.io.IOException;
14
+ import java.util.Locale;
15
+ import java.util.concurrent.TimeUnit;
16
+ import okhttp3.Call;
17
+ import okhttp3.Callback;
18
+ import okhttp3.OkHttpClient;
19
+ import okhttp3.Request;
20
+ import okhttp3.Response;
21
+ import okhttp3.ResponseBody;
22
+
23
+ /** Use this class to check if the JavaScript packager is running on the provided host. */
24
+ public class PackagerStatusCheck {
25
+
26
+ private static final String PACKAGER_OK_STATUS = "packager-status:running";
27
+ private static final int HTTP_CONNECT_TIMEOUT_MS = 5000;
28
+ private static final String PACKAGER_STATUS_URL_TEMPLATE = "http://%s/status";
29
+
30
+ private final OkHttpClient mClient;
31
+
32
+ public PackagerStatusCheck() {
33
+ mClient =
34
+ new OkHttpClient.Builder()
35
+ .connectTimeout(HTTP_CONNECT_TIMEOUT_MS, TimeUnit.MILLISECONDS)
36
+ .readTimeout(0, TimeUnit.MILLISECONDS)
37
+ .writeTimeout(0, TimeUnit.MILLISECONDS)
38
+ .build();
39
+ }
40
+
41
+ public PackagerStatusCheck(OkHttpClient client) {
42
+ mClient = client;
43
+ }
44
+
45
+ public void run(String host, final PackagerStatusCallback callback) {
46
+ String statusURL = createPackagerStatusURL(host);
47
+ Request request = new Request.Builder().url(statusURL).build();
48
+
49
+ mClient
50
+ .newCall(request)
51
+ .enqueue(
52
+ new Callback() {
53
+ @Override
54
+ public void onFailure(Call call, IOException e) {
55
+ FLog.w(
56
+ ReactConstants.TAG,
57
+ "The packager does not seem to be running as we got an IOException requesting "
58
+ + "its status: "
59
+ + e.getMessage());
60
+ callback.onPackagerStatusFetched(false);
61
+ }
62
+
63
+ @Override
64
+ public void onResponse(Call call, Response response) throws IOException {
65
+ if (!response.isSuccessful()) {
66
+ FLog.e(
67
+ ReactConstants.TAG,
68
+ "Got non-success http code from packager when requesting status: "
69
+ + response.code());
70
+ callback.onPackagerStatusFetched(false);
71
+ return;
72
+ }
73
+ ResponseBody body = response.body();
74
+ if (body == null) {
75
+ FLog.e(
76
+ ReactConstants.TAG,
77
+ "Got null body response from packager when requesting status");
78
+ callback.onPackagerStatusFetched(false);
79
+ return;
80
+ }
81
+ String bodyString =
82
+ body.string(); // cannot call body.string() twice, stored it into variable.
83
+ // https://github.com/square/okhttp/issues/1240#issuecomment-68142603
84
+ if (!PACKAGER_OK_STATUS.equals(bodyString)) {
85
+ FLog.e(
86
+ ReactConstants.TAG,
87
+ "Got unexpected response from packager when requesting status: "
88
+ + bodyString);
89
+ callback.onPackagerStatusFetched(false);
90
+ return;
91
+ }
92
+ callback.onPackagerStatusFetched(true);
93
+ }
94
+ });
95
+ }
96
+
97
+ private static String createPackagerStatusURL(String host) {
98
+ return String.format(Locale.US, PACKAGER_STATUS_URL_TEMPLATE, host);
99
+ }
100
+ }
@@ -9,12 +9,16 @@ package com.facebook.react.fabric;
9
9
 
10
10
  import android.annotation.SuppressLint;
11
11
  import androidx.annotation.NonNull;
12
+ import androidx.annotation.Nullable;
12
13
  import com.facebook.jni.HybridData;
13
14
  import com.facebook.proguard.annotations.DoNotStrip;
14
15
  import com.facebook.react.bridge.NativeMap;
16
+ import com.facebook.react.bridge.ReadableNativeMap;
15
17
  import com.facebook.react.bridge.RuntimeExecutor;
18
+ import com.facebook.react.bridge.RuntimeScheduler;
16
19
  import com.facebook.react.bridge.queue.MessageQueueThread;
17
20
  import com.facebook.react.fabric.events.EventBeatManager;
21
+ import com.facebook.react.fabric.events.EventEmitterWrapper;
18
22
  import com.facebook.react.uimanager.PixelUtil;
19
23
 
20
24
  @DoNotStrip
@@ -35,6 +39,7 @@ public class Binding {
35
39
 
36
40
  private native void installFabricUIManager(
37
41
  RuntimeExecutor runtimeExecutor,
42
+ RuntimeScheduler runtimeScheduler,
38
43
  Object uiManager,
39
44
  EventBeatManager eventBeatManager,
40
45
  MessageQueueThread jsMessageQueueThread,
@@ -76,8 +81,12 @@ public class Binding {
76
81
 
77
82
  public native void driveCxxAnimations();
78
83
 
84
+ public native ReadableNativeMap getInspectorDataForInstance(
85
+ EventEmitterWrapper eventEmitterWrapper);
86
+
79
87
  public void register(
80
88
  @NonNull RuntimeExecutor runtimeExecutor,
89
+ @Nullable RuntimeScheduler runtimeScheduler,
81
90
  @NonNull FabricUIManager fabricUIManager,
82
91
  @NonNull EventBeatManager eventBeatManager,
83
92
  @NonNull MessageQueueThread jsMessageQueueThread,
@@ -86,6 +95,7 @@ public class Binding {
86
95
  fabricUIManager.setBinding(this);
87
96
  installFabricUIManager(
88
97
  runtimeExecutor,
98
+ runtimeScheduler,
89
99
  fabricUIManager,
90
100
  eventBeatManager,
91
101
  jsMessageQueueThread,
@@ -14,15 +14,15 @@ import java.util.Map;
14
14
  /**
15
15
  * Utility class for Fabric components, this will be removed
16
16
  *
17
- * <p>//TODO T31905686: remove this class when the component names are unified between JS - Android
18
- * - iOS - C++
17
+ * <p>TODO T97384889: remove this class when the component names are unified between JS - Android -
18
+ * iOS - C++
19
19
  */
20
20
  public class FabricComponents {
21
21
 
22
22
  private static @NonNull final Map<String, String> sComponentNames = new HashMap<>();
23
23
 
24
24
  static {
25
- // TODO T31905686: unify component names between JS - Android - iOS - C++
25
+ // TODO T97384889: unify component names between JS - Android - iOS - C++
26
26
  sComponentNames.put("View", "RCTView");
27
27
  sComponentNames.put("Image", "RCTImageView");
28
28
  sComponentNames.put("ScrollView", "RCTScrollView");
@@ -40,6 +40,7 @@ public class FabricComponents {
40
40
  sComponentNames.put("Map", "RCTMap");
41
41
  sComponentNames.put("WebView", "RCTWebView");
42
42
  sComponentNames.put("Keyframes", "RCTKeyframes");
43
+ sComponentNames.put("ImpressionTrackingView", "RCTImpressionTrackingView");
43
44
  }
44
45
 
45
46
  /** @return the name of component in the Fabric environment */
@@ -55,6 +55,7 @@ public class FabricJSIModuleProvider implements JSIModuleProvider<UIManager> {
55
55
 
56
56
  binding.register(
57
57
  mReactApplicationContext.getCatalystInstance().getRuntimeExecutor(),
58
+ mReactApplicationContext.getCatalystInstance().getRuntimeScheduler(),
58
59
  uiManager,
59
60
  eventBeatManager,
60
61
  jsMessageQueueThread,
@@ -35,6 +35,7 @@ import com.facebook.debug.holder.PrinterHolder;
35
35
  import com.facebook.debug.tags.ReactDebugOverlayTags;
36
36
  import com.facebook.infer.annotation.ThreadConfined;
37
37
  import com.facebook.proguard.annotations.DoNotStripAny;
38
+ import com.facebook.react.bridge.ColorPropConverter;
38
39
  import com.facebook.react.bridge.LifecycleEventListener;
39
40
  import com.facebook.react.bridge.NativeArray;
40
41
  import com.facebook.react.bridge.NativeMap;
@@ -42,7 +43,7 @@ import com.facebook.react.bridge.ReactApplicationContext;
42
43
  import com.facebook.react.bridge.ReactContext;
43
44
  import com.facebook.react.bridge.ReactMarker;
44
45
  import com.facebook.react.bridge.ReactMarkerConstants;
45
- import com.facebook.react.bridge.ReactSoftException;
46
+ import com.facebook.react.bridge.ReactSoftExceptionLogger;
46
47
  import com.facebook.react.bridge.ReadableArray;
47
48
  import com.facebook.react.bridge.ReadableMap;
48
49
  import com.facebook.react.bridge.UIManager;
@@ -200,7 +201,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
200
201
  @Deprecated
201
202
  public <T extends View> int addRootView(
202
203
  final T rootView, final WritableMap initialProps, final @Nullable String initialUITemplate) {
203
- ReactSoftException.logSoftException(
204
+ ReactSoftExceptionLogger.logSoftException(
204
205
  TAG,
205
206
  new IllegalViewOperationException(
206
207
  "Do not call addRootView in Fabric; it is unsupported. Call startSurface instead."));
@@ -223,6 +224,29 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
223
224
  return rootTag;
224
225
  }
225
226
 
227
+ /**
228
+ * This API returns metadata associated to the React Component that rendered the Android View
229
+ * received as a parameter.
230
+ *
231
+ * @param surfaceId {@link int} that represents the surfaceId for the View received as a
232
+ * parameter. In practice surfaceId can be retrieved calling the {@link View#getId()} method
233
+ * on the {@link ReactRoot} that holds the View received as a second parameter.
234
+ * @param view {@link View} view that will be used to retrieve the React view hierarchy metadata.
235
+ * @return a {@link ReadableMap} that contains metadata associated to the React Component that
236
+ * rendered the Android View received as a parameter. For more details about the keys stored
237
+ * in the {@link ReadableMap} refer to the "getInspectorDataForInstance" method from
238
+ * com/facebook/react/fabric/jni/Binding.cpp file.
239
+ */
240
+ @UiThread
241
+ @ThreadConfined(UI)
242
+ public ReadableMap getInspectorDataForInstance(final int surfaceId, final View view) {
243
+ UiThreadUtil.assertOnUiThread();
244
+ int reactTag = view.getId();
245
+
246
+ EventEmitterWrapper eventEmitter = mMountingManager.getEventEmitter(surfaceId, reactTag);
247
+ return mBinding.getInspectorDataForInstance(eventEmitter);
248
+ }
249
+
226
250
  @Override
227
251
  public void preInitializeViewManagers(List<String> viewManagerNames) {
228
252
  for (String viewManagerName : viewManagerNames) {
@@ -270,14 +294,28 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
270
294
  return rootTag;
271
295
  }
272
296
 
273
- public void startSurface(final SurfaceHandler surfaceHandler) {
274
- int rootTag = ReactRootViewTagGenerator.getNextRootViewTag();
275
- mMountingManager.startSurface(rootTag);
297
+ public void startSurface(final SurfaceHandler surfaceHandler, final @Nullable View rootView) {
298
+ final int rootTag = ReactRootViewTagGenerator.getNextRootViewTag();
299
+
300
+ if (rootView == null) {
301
+ mMountingManager.startSurface(rootTag);
302
+ } else {
303
+ Context context = rootView.getContext();
304
+ ThemedReactContext reactContext =
305
+ new ThemedReactContext(
306
+ mReactApplicationContext, context, surfaceHandler.getModuleName(), rootTag);
307
+ mMountingManager.startSurface(rootTag, rootView, reactContext);
308
+ }
276
309
 
277
- startSurfaceWithId(surfaceHandler, rootTag, false);
310
+ surfaceHandler.setSurfaceId(rootTag);
311
+ if (surfaceHandler instanceof SurfaceHandlerBinding) {
312
+ mBinding.registerSurface((SurfaceHandlerBinding) surfaceHandler);
313
+ }
314
+ surfaceHandler.setMountable(rootView != null);
315
+ surfaceHandler.start();
278
316
  }
279
317
 
280
- public void attachRootView(final View rootView, final SurfaceHandler surfaceHandler) {
318
+ public void attachRootView(final SurfaceHandler surfaceHandler, final View rootView) {
281
319
  ThemedReactContext reactContext =
282
320
  new ThemedReactContext(
283
321
  mReactApplicationContext,
@@ -289,30 +327,9 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
289
327
  surfaceHandler.setMountable(true);
290
328
  }
291
329
 
292
- public void startSurfaceWithView(final View rootView, final SurfaceHandler surfaceHandler) {
293
- final int rootTag = ReactRootViewTagGenerator.getNextRootViewTag();
294
-
295
- Context context = rootView.getContext();
296
- ThemedReactContext reactContext =
297
- new ThemedReactContext(
298
- mReactApplicationContext, context, surfaceHandler.getModuleName(), rootTag);
299
- mMountingManager.startSurface(rootTag, rootView, reactContext);
300
-
301
- startSurfaceWithId(surfaceHandler, rootTag, true);
302
- }
303
-
304
- private void startSurfaceWithId(SurfaceHandler surfaceHandler, int rootTag, boolean isMountable) {
305
- surfaceHandler.setSurfaceId(rootTag);
306
- if (surfaceHandler instanceof SurfaceHandlerBinding) {
307
- mBinding.registerSurface((SurfaceHandlerBinding) surfaceHandler);
308
- }
309
- surfaceHandler.setMountable(isMountable);
310
- surfaceHandler.start();
311
- }
312
-
313
330
  public void stopSurface(final SurfaceHandler surfaceHandler) {
314
331
  if (!surfaceHandler.isRunning()) {
315
- ReactSoftException.logSoftException(
332
+ ReactSoftExceptionLogger.logSoftException(
316
333
  FabricUIManager.TAG,
317
334
  new IllegalStateException("Trying to stop surface that hasn't started yet"));
318
335
  return;
@@ -360,7 +377,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
360
377
  FLog.i(TAG, "FabricUIManager.onCatalystInstanceDestroy");
361
378
 
362
379
  if (mDestroyed) {
363
- ReactSoftException.logSoftException(
380
+ ReactSoftExceptionLogger.logSoftException(
364
381
  FabricUIManager.TAG, new IllegalStateException("Cannot double-destroy FabricUIManager"));
365
382
  return;
366
383
  }
@@ -448,6 +465,14 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
448
465
  null);
449
466
  }
450
467
 
468
+ @SuppressWarnings("unused")
469
+ public int getColor(int surfaceId, ReadableMap platformColor) {
470
+ ThemedReactContext context =
471
+ mMountingManager.getSurfaceManagerEnforced(surfaceId, "getColor").getContext();
472
+ Integer color = ColorPropConverter.getColor(platformColor, context);
473
+ return color != null ? color : 0;
474
+ }
475
+
451
476
  @SuppressWarnings("unused")
452
477
  private long measure(
453
478
  int surfaceId,
@@ -758,7 +783,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
758
783
 
759
784
  // TODO T83615646: make this a hard-crash in the future.
760
785
  if (surfaceMountingManager == null) {
761
- ReactSoftException.logSoftException(
786
+ ReactSoftExceptionLogger.logSoftException(
762
787
  TAG,
763
788
  new IllegalViewOperationException(
764
789
  "Cannot updateRootLayoutSpecs on surfaceId that does not exist: " + surfaceId));
@@ -785,6 +810,14 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
785
810
  doLeftAndRightSwapInRTL);
786
811
  }
787
812
 
813
+ @Override
814
+ public View resolveView(int reactTag) {
815
+ UiThreadUtil.assertOnUiThread();
816
+
817
+ SurfaceMountingManager surfaceManager = mMountingManager.getSurfaceManagerForView(reactTag);
818
+ return surfaceManager == null ? null : surfaceManager.getView(reactTag);
819
+ }
820
+
788
821
  @Override
789
822
  public void receiveEvent(int reactTag, String eventName, @Nullable WritableMap params) {
790
823
  receiveEvent(View.NO_ID, reactTag, eventName, params);
@@ -47,7 +47,7 @@ public class EventEmitterWrapper {
47
47
  * @param eventName {@link String} name of the event to execute.
48
48
  * @param params {@link WritableMap} payload of the event
49
49
  */
50
- public void invoke(@NonNull String eventName, @Nullable WritableMap params) {
50
+ public synchronized void invoke(@NonNull String eventName, @Nullable WritableMap params) {
51
51
  if (!isValid()) {
52
52
  return;
53
53
  }
@@ -62,7 +62,7 @@ public class EventEmitterWrapper {
62
62
  * @param eventName {@link String} name of the event to execute.
63
63
  * @param params {@link WritableMap} payload of the event
64
64
  */
65
- public void invokeUnique(
65
+ public synchronized void invokeUnique(
66
66
  @NonNull String eventName, @Nullable WritableMap params, int customCoalesceKey) {
67
67
  if (!isValid()) {
68
68
  return;
@@ -71,7 +71,7 @@ public class EventEmitterWrapper {
71
71
  invokeUniqueEvent(eventName, payload, customCoalesceKey);
72
72
  }
73
73
 
74
- public void destroy() {
74
+ public synchronized void destroy() {
75
75
  if (mHybridData != null) {
76
76
  mHybridData.resetNative();
77
77
  }
@@ -11,7 +11,7 @@ LOCAL_MODULE := fabricjni
11
11
 
12
12
  LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp)
13
13
 
14
- LOCAL_SHARED_LIBRARIES := libreactconfig librrc_slider librrc_progressbar librrc_switch librrc_modal libyoga libglog libfb libfbjni libglog_init libfolly_json libfolly_futures libreact_render_mounting libreactnativeutilsjni libreact_utils libreact_render_debug libreact_render_graphics libreact_render_core react_render_componentregistry librrc_view librrc_unimplementedview librrc_root librrc_scrollview libbetter libreact_render_attributedstring libreact_render_uimanager libreact_render_templateprocessor libreact_render_scheduler libreact_render_animations libreact_render_imagemanager libreact_render_textlayoutmanager libreact_codegen_rncore rrc_text librrc_image librrc_textinput libreact_debug libreact_render_mapbuffer libmapbufferjni libreact_render_telemetry
14
+ LOCAL_SHARED_LIBRARIES := libjsi libreactconfig librrc_slider librrc_progressbar librrc_switch librrc_modal libyoga libglog libfb libfbjni libglog_init libfolly_json libfolly_futures libreact_render_mounting libreactnativeutilsjni libreact_utils libreact_render_debug libreact_render_graphics libreact_render_core react_render_componentregistry librrc_view librrc_unimplementedview librrc_root librrc_scrollview libbetter libreact_render_attributedstring libreact_render_uimanager libreact_render_templateprocessor libreact_render_scheduler libreact_render_animations libreact_render_imagemanager libreact_render_textlayoutmanager libreact_codegen_rncore rrc_text librrc_image librrc_textinput libreact_debug libreact_render_mapbuffer libmapbufferjni libreact_render_telemetry libreact_render_runtimescheduler
15
15
 
16
16
  LOCAL_STATIC_LIBRARIES :=
17
17
 
@@ -56,6 +56,7 @@ $(call import-module,react/renderer/graphics)
56
56
  $(call import-module,react/renderer/imagemanager)
57
57
  $(call import-module,react/renderer/mapbuffer)
58
58
  $(call import-module,react/renderer/mounting)
59
+ $(call import-module,react/renderer/runtimescheduler)
59
60
  $(call import-module,react/renderer/scheduler)
60
61
  $(call import-module,react/renderer/templateprocessor)
61
62
  $(call import-module,react/renderer/textlayoutmanager)
@@ -19,7 +19,7 @@ rn_xplat_cxx_library(
19
19
  ],
20
20
  fbandroid_allow_jni_merging = True,
21
21
  labels = ["supermodule:xplat/default/public.react_native.infra"],
22
- platforms = (ANDROID),
22
+ platforms = ANDROID,
23
23
  preprocessor_flags = [
24
24
  "-DLOG_TAG=\"ReactNative\"",
25
25
  "-DWITH_FBSYSTRACE=1",
@@ -233,6 +233,33 @@ std::shared_ptr<Scheduler> Binding::getScheduler() {
233
233
  return scheduler_;
234
234
  }
235
235
 
236
+ jni::local_ref<ReadableNativeMap::jhybridobject>
237
+ Binding::getInspectorDataForInstance(
238
+ jni::alias_ref<EventEmitterWrapper::javaobject> eventEmitterWrapper) {
239
+ std::shared_ptr<Scheduler> scheduler = getScheduler();
240
+ if (!scheduler) {
241
+ LOG(ERROR) << "Binding::startSurface: scheduler disappeared";
242
+ return ReadableNativeMap::newObjectCxxArgs(folly::dynamic::object());
243
+ }
244
+
245
+ EventEmitterWrapper *cEventEmitter = cthis(eventEmitterWrapper);
246
+ InspectorData data =
247
+ scheduler->getInspectorDataForInstance(cEventEmitter->eventEmitter);
248
+
249
+ folly::dynamic result = folly::dynamic::object;
250
+ result["fileName"] = data.fileName;
251
+ result["lineNumber"] = data.lineNumber;
252
+ result["columnNumber"] = data.columnNumber;
253
+ result["selectedIndex"] = data.selectedIndex;
254
+ result["props"] = data.props;
255
+ auto hierarchy = folly::dynamic::array();
256
+ for (auto hierarchyItem : data.hierarchy) {
257
+ hierarchy.push_back(hierarchyItem);
258
+ }
259
+ result["hierarchy"] = hierarchy;
260
+ return ReadableNativeMap::newObjectCxxArgs(result);
261
+ }
262
+
236
263
  void Binding::startSurface(
237
264
  jint surfaceId,
238
265
  jni::alias_ref<jstring> moduleName,
@@ -249,6 +276,7 @@ void Binding::startSurface(
249
276
  layoutContext.pointScaleFactor = pointScaleFactor_;
250
277
 
251
278
  auto surfaceHandler = SurfaceHandler{moduleName->toStdString(), surfaceId};
279
+ surfaceHandler.setContextContainer(scheduler->getContextContainer());
252
280
  surfaceHandler.setProps(initialProps->consume());
253
281
  surfaceHandler.constraintLayout({}, layoutContext);
254
282
 
@@ -260,7 +288,9 @@ void Binding::startSurface(
260
288
  animationDriver_);
261
289
 
262
290
  {
291
+ SystraceSection s2("FabricUIManagerBinding::startSurface::surfaceId::lock");
263
292
  std::unique_lock<better::shared_mutex> lock(surfaceHandlerRegistryMutex_);
293
+ SystraceSection s3("FabricUIManagerBinding::startSurface::surfaceId");
264
294
  surfaceHandlerRegistry_.emplace(surfaceId, std::move(surfaceHandler));
265
295
  }
266
296
  }
@@ -308,6 +338,7 @@ void Binding::startSurfaceWithConstraints(
308
338
  isRTL ? LayoutDirection::RightToLeft : LayoutDirection::LeftToRight;
309
339
 
310
340
  auto surfaceHandler = SurfaceHandler{moduleName->toStdString(), surfaceId};
341
+ surfaceHandler.setContextContainer(scheduler_->getContextContainer());
311
342
  surfaceHandler.setProps(initialProps->consume());
312
343
  surfaceHandler.constraintLayout(constraints, context);
313
344
 
@@ -319,7 +350,11 @@ void Binding::startSurfaceWithConstraints(
319
350
  animationDriver_);
320
351
 
321
352
  {
353
+ SystraceSection s2(
354
+ "FabricUIManagerBinding::startSurfaceWithConstraints::surfaceId::lock");
322
355
  std::unique_lock<better::shared_mutex> lock(surfaceHandlerRegistryMutex_);
356
+ SystraceSection s3(
357
+ "FabricUIManagerBinding::startSurfaceWithConstraints::surfaceId");
323
358
  surfaceHandlerRegistry_.emplace(surfaceId, std::move(surfaceHandler));
324
359
  }
325
360
  }
@@ -459,6 +494,7 @@ bool isMapBufferSerializationEnabled() {
459
494
 
460
495
  void Binding::installFabricUIManager(
461
496
  jni::alias_ref<JRuntimeExecutor::javaobject> runtimeExecutorHolder,
497
+ jni::alias_ref<JRuntimeScheduler::javaobject> runtimeSchedulerHolder,
462
498
  jni::alias_ref<jobject> javaUIManager,
463
499
  EventBeatManager *eventBeatManager,
464
500
  jni::alias_ref<JavaMessageQueueThread::javaobject> jsMessageQueueThread,
@@ -493,6 +529,19 @@ void Binding::installFabricUIManager(
493
529
  std::make_shared<JMessageQueueThread>(jsMessageQueueThread);
494
530
  auto runtimeExecutor = runtimeExecutorHolder->cthis()->get();
495
531
 
532
+ if (runtimeSchedulerHolder) {
533
+ auto runtimeScheduler = runtimeSchedulerHolder->cthis()->get().lock();
534
+ if (runtimeScheduler) {
535
+ runtimeScheduler->setEnableYielding(config->getBool(
536
+ "react_native_new_architecture:runtimescheduler_enable_yielding_android"));
537
+ runtimeExecutor =
538
+ [runtimeScheduler](
539
+ std::function<void(jsi::Runtime & runtime)> &&callback) {
540
+ runtimeScheduler->scheduleWork(std::move(callback));
541
+ };
542
+ }
543
+ }
544
+
496
545
  auto enableV2AsynchronousEventBeat =
497
546
  config->getBool("react_fabric:enable_asynchronous_event_beat_v2_android");
498
547
 
@@ -540,9 +589,6 @@ void Binding::installFabricUIManager(
540
589
  disablePreallocateViews_ = reactNativeConfig_->getBool(
541
590
  "react_fabric:disabled_view_preallocation_android");
542
591
 
543
- disableVirtualNodePreallocation_ = reactNativeConfig_->getBool(
544
- "react_fabric:disable_virtual_node_preallocation");
545
-
546
592
  enableEarlyEventEmitterUpdate_ = reactNativeConfig_->getBool(
547
593
  "react_fabric:enable_early_event_emitter_update");
548
594
 
@@ -559,8 +605,8 @@ void Binding::installFabricUIManager(
559
605
  toolbox.backgroundExecutor = backgroundExecutor_->get();
560
606
  }
561
607
 
562
- animationDriver_ =
563
- std::make_shared<LayoutAnimationDriver>(runtimeExecutor, this);
608
+ animationDriver_ = std::make_shared<LayoutAnimationDriver>(
609
+ runtimeExecutor, contextContainer, this);
564
610
  scheduler_ = std::make_shared<Scheduler>(
565
611
  toolbox, (animationDriver_ ? animationDriver_.get() : nullptr), this);
566
612
  }
@@ -1177,8 +1223,7 @@ void Binding::schedulerDidRequestPreliminaryViewAllocation(
1177
1223
 
1178
1224
  auto shadowView = ShadowView(shadowNode);
1179
1225
 
1180
- if (disableVirtualNodePreallocation_ &&
1181
- !shadowView.traits.check(ShadowNodeTraits::Trait::FormsView)) {
1226
+ if (!shadowView.traits.check(ShadowNodeTraits::Trait::FormsView)) {
1182
1227
  return;
1183
1228
  }
1184
1229
 
@@ -1191,9 +1236,6 @@ void Binding::schedulerDidCloneShadowNode(
1191
1236
  const ShadowNode &newShadowNode) {
1192
1237
  // This is only necessary if view preallocation was skipped during
1193
1238
  // createShadowNode
1194
- if (!disableVirtualNodePreallocation_) {
1195
- return;
1196
- }
1197
1239
 
1198
1240
  // We may need to PreAllocate a ShadowNode at this point if this is the
1199
1241
  // earliest point it is possible to do so:
@@ -1308,6 +1350,8 @@ void Binding::registerNatives() {
1308
1350
  makeNativeMethod(
1309
1351
  "installFabricUIManager", Binding::installFabricUIManager),
1310
1352
  makeNativeMethod("startSurface", Binding::startSurface),
1353
+ makeNativeMethod(
1354
+ "getInspectorDataForInstance", Binding::getInspectorDataForInstance),
1311
1355
  makeNativeMethod(
1312
1356
  "startSurfaceWithConstraints", Binding::startSurfaceWithConstraints),
1313
1357
  makeNativeMethod(
@@ -10,15 +10,18 @@
10
10
  #include <fbjni/fbjni.h>
11
11
  #include <react/jni/JMessageQueueThread.h>
12
12
  #include <react/jni/JRuntimeExecutor.h>
13
+ #include <react/jni/JRuntimeScheduler.h>
13
14
  #include <react/jni/ReadableNativeMap.h>
14
15
  #include <react/renderer/animations/LayoutAnimationDriver.h>
15
16
  #include <react/renderer/scheduler/Scheduler.h>
16
17
  #include <react/renderer/scheduler/SchedulerDelegate.h>
17
18
  #include <react/renderer/uimanager/LayoutAnimationStatusDelegate.h>
19
+
18
20
  #include <memory>
19
21
  #include <mutex>
20
22
  #include "ComponentFactory.h"
21
23
  #include "EventBeatManager.h"
24
+ #include "EventEmitterWrapper.h"
22
25
  #include "JBackgroundExecutor.h"
23
26
  #include "SurfaceHandlerBinding.h"
24
27
 
@@ -96,10 +99,14 @@ class Binding : public jni::HybridClass<Binding>,
96
99
  jboolean isRTL,
97
100
  jboolean doLeftAndRightSwapInRTL);
98
101
 
102
+ jni::local_ref<ReadableNativeMap::jhybridobject> getInspectorDataForInstance(
103
+ jni::alias_ref<EventEmitterWrapper::javaobject> eventEmitterWrapper);
104
+
99
105
  static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jclass>);
100
106
 
101
107
  void installFabricUIManager(
102
108
  jni::alias_ref<JRuntimeExecutor::javaobject> runtimeExecutorHolder,
109
+ jni::alias_ref<JRuntimeScheduler::javaobject> runtimeSchedulerHolder,
103
110
  jni::alias_ref<jobject> javaUIManager,
104
111
  EventBeatManager *eventBeatManager,
105
112
  jni::alias_ref<JavaMessageQueueThread::javaobject> jsMessageQueueThread,
@@ -192,7 +199,6 @@ class Binding : public jni::HybridClass<Binding>,
192
199
 
193
200
  std::shared_ptr<const ReactNativeConfig> reactNativeConfig_{nullptr};
194
201
  bool disablePreallocateViews_{false};
195
- bool disableVirtualNodePreallocation_{false};
196
202
  bool enableFabricLogs_{false};
197
203
  bool enableEarlyEventEmitterUpdate_{false};
198
204
  };
@@ -13,6 +13,7 @@ import static com.facebook.react.fabric.FabricUIManager.ENABLE_FABRIC_LOGS;
13
13
  import static com.facebook.react.fabric.FabricUIManager.IS_DEVELOPMENT_ENVIRONMENT;
14
14
 
15
15
  import android.os.SystemClock;
16
+ import android.view.View;
16
17
  import androidx.annotation.AnyThread;
17
18
  import androidx.annotation.NonNull;
18
19
  import androidx.annotation.Nullable;
@@ -21,7 +22,7 @@ import com.facebook.common.logging.FLog;
21
22
  import com.facebook.infer.annotation.ThreadConfined;
22
23
  import com.facebook.react.bridge.ReactIgnorableMountingException;
23
24
  import com.facebook.react.bridge.ReactNoCrashSoftException;
24
- import com.facebook.react.bridge.ReactSoftException;
25
+ import com.facebook.react.bridge.ReactSoftExceptionLogger;
25
26
  import com.facebook.react.bridge.RetryableMountingLayerException;
26
27
  import com.facebook.react.fabric.mounting.mountitems.DispatchCommandMountItem;
27
28
  import com.facebook.react.fabric.mounting.mountitems.MountItem;
@@ -131,7 +132,7 @@ public class MountItemDispatcher {
131
132
  if (mReDispatchCounter < 10 && didDispatchItems) {
132
133
  // Executing twice in a row is normal. Only log after that point.
133
134
  if (mReDispatchCounter > 2) {
134
- ReactSoftException.logSoftException(
135
+ ReactSoftExceptionLogger.logSoftException(
135
136
  TAG,
136
137
  new ReactNoCrashSoftException(
137
138
  "Re-dispatched "
@@ -224,14 +225,14 @@ public class MountItemDispatcher {
224
225
  // exception but never crash in debug.
225
226
  // It's not clear that logging this is even useful, because these events are very
226
227
  // common, mundane, and there's not much we can do about them currently.
227
- ReactSoftException.logSoftException(
228
+ ReactSoftExceptionLogger.logSoftException(
228
229
  TAG,
229
230
  new ReactNoCrashSoftException(
230
231
  "Caught exception executing ViewCommand: " + command.toString(), e));
231
232
  }
232
233
  } catch (Throwable e) {
233
234
  // Non-Retryable exceptions are logged as soft exceptions in prod, but crash in Debug.
234
- ReactSoftException.logSoftException(
235
+ ReactSoftExceptionLogger.logSoftException(
235
236
  TAG,
236
237
  new RuntimeException(
237
238
  "Caught exception executing ViewCommand: " + command.toString(), e));
@@ -274,13 +275,20 @@ public class MountItemDispatcher {
274
275
  executeOrEnqueue(mountItem);
275
276
  } catch (Throwable e) {
276
277
  // If there's an exception, we want to log diagnostics in prod and rethrow.
277
- FLog.e(TAG, "dispatchMountItems: caught exception, displaying all MountItems", e);
278
+ FLog.e(TAG, "dispatchMountItems: caught exception, displaying mount state", e);
278
279
  for (MountItem m : mountItemsToDispatch) {
279
280
  printMountItem(m, "dispatchMountItems: mountItem");
280
281
  }
282
+ if (mountItem.getSurfaceId() != View.NO_ID) {
283
+ SurfaceMountingManager surfaceManager =
284
+ mMountingManager.getSurfaceManager(mountItem.getSurfaceId());
285
+ if (surfaceManager != null) {
286
+ surfaceManager.printSurfaceState();
287
+ }
288
+ }
281
289
 
282
290
  if (ReactIgnorableMountingException.isIgnorable(e)) {
283
- ReactSoftException.logSoftException(TAG, e);
291
+ ReactSoftExceptionLogger.logSoftException(TAG, e);
284
292
  } else {
285
293
  throw e;
286
294
  }