react-native-tvos 0.76.3-0 → 0.77.0-0rc1

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 (1064) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +1 -0
  2. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +13 -0
  3. package/Libraries/Animated/AnimatedEvent.js +1 -1
  4. package/Libraries/Animated/AnimatedImplementation.js +2 -2
  5. package/Libraries/Animated/NativeAnimatedAllowlist.js +20 -9
  6. package/Libraries/Animated/animations/Animation.js +60 -25
  7. package/Libraries/Animated/animations/DecayAnimation.js +26 -38
  8. package/Libraries/Animated/animations/SpringAnimation.js +33 -39
  9. package/Libraries/Animated/animations/TimingAnimation.js +34 -42
  10. package/Libraries/Animated/components/AnimatedFlatList.js +1 -1
  11. package/Libraries/Animated/components/AnimatedSectionList.js +3 -1
  12. package/Libraries/Animated/createAnimatedComponent.js +60 -33
  13. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  14. package/Libraries/Animated/nodes/AnimatedInterpolation.js +1 -1
  15. package/Libraries/Animated/nodes/AnimatedNode.js +39 -45
  16. package/Libraries/Animated/nodes/AnimatedObject.js +13 -3
  17. package/Libraries/Animated/nodes/AnimatedProps.js +104 -46
  18. package/Libraries/Animated/nodes/AnimatedStyle.js +116 -39
  19. package/Libraries/Animated/nodes/AnimatedTransform.js +56 -23
  20. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  21. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -3
  22. package/Libraries/Animated/useAnimatedProps.js +41 -35
  23. package/Libraries/AppDelegate/RCTAppDelegate.h +10 -64
  24. package/Libraries/AppDelegate/RCTAppDelegate.mm +23 -21
  25. package/Libraries/AppDelegate/RCTAppSetupUtils.h +5 -1
  26. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +8 -14
  27. package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +32 -0
  28. package/Libraries/AppDelegate/RCTDependencyProvider.h +26 -0
  29. package/Libraries/AppDelegate/RCTRootViewFactory.h +6 -2
  30. package/Libraries/AppDelegate/RCTRootViewFactory.mm +27 -43
  31. package/Libraries/AppDelegate/RCTUIConfiguratorProtocol.h +56 -0
  32. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -1
  33. package/Libraries/Blob/React-RCTBlob.podspec +3 -1
  34. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +19 -3
  35. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +77 -5
  36. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +4 -4
  37. package/Libraries/Components/Button.js +9 -4
  38. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +3 -1
  39. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +7 -0
  40. package/Libraries/Components/Pressable/Pressable.js +4 -4
  41. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +13 -7
  42. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +3 -2
  43. package/Libraries/Components/SafeAreaView/SafeAreaView.js +4 -4
  44. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +0 -1
  45. package/Libraries/Components/ScrollView/ScrollView.js +49 -89
  46. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  47. package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -0
  48. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +0 -2
  49. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +8 -9
  50. package/Libraries/Components/Switch/Switch.js +8 -6
  51. package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
  52. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +4 -4
  53. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +6 -4
  54. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -1
  55. package/Libraries/Components/TextInput/TextInput.d.ts +27 -4
  56. package/Libraries/Components/TextInput/TextInput.flow.js +36 -19
  57. package/Libraries/Components/TextInput/TextInput.js +37 -13
  58. package/Libraries/Components/TextInput/TextInputState.js +11 -13
  59. package/Libraries/Components/Touchable/BoundingDimensions.js +11 -3
  60. package/Libraries/Components/Touchable/Position.js +7 -2
  61. package/Libraries/Components/Touchable/Touchable.js +4 -0
  62. package/Libraries/Components/Touchable/TouchableBounce.js +6 -2
  63. package/Libraries/Components/Touchable/TouchableHighlight.js +5 -5
  64. package/Libraries/Components/Touchable/TouchableOpacity.js +6 -5
  65. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -2
  66. package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -1
  67. package/Libraries/Components/View/View.js +4 -8
  68. package/Libraries/Components/View/ViewNativeComponent.js +6 -109
  69. package/Libraries/Components/View/ViewPropTypes.d.ts +7 -0
  70. package/Libraries/Components/View/ViewPropTypes.js +0 -3
  71. package/Libraries/Core/ExceptionsManager.js +50 -29
  72. package/Libraries/Core/ReactNativeVersion.js +3 -3
  73. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -1
  74. package/Libraries/Core/setUpBatchedBridge.js +1 -10
  75. package/Libraries/Core/setUpDeveloperTools.js +1 -5
  76. package/Libraries/Core/setUpErrorHandling.js +20 -18
  77. package/Libraries/Core/setUpReactDevTools.js +107 -8
  78. package/Libraries/Core/setUpSegmentFetcher.js +1 -0
  79. package/Libraries/Core/setUpTimers.js +21 -18
  80. package/Libraries/Debugging/DebuggingOverlay.js +4 -5
  81. package/Libraries/Image/AssetSourceResolver.js +12 -1
  82. package/Libraries/Image/Image.android.js +1 -5
  83. package/Libraries/Image/Image.d.ts +20 -29
  84. package/Libraries/Image/Image.ios.js +0 -2
  85. package/Libraries/Image/ImageBackground.js +2 -5
  86. package/Libraries/Image/ImageProps.js +7 -6
  87. package/Libraries/Image/ImageResizeMode.d.ts +8 -1
  88. package/Libraries/Image/ImageResizeMode.js +4 -1
  89. package/Libraries/Image/ImageSource.d.ts +0 -2
  90. package/Libraries/Image/ImageSource.js +0 -2
  91. package/Libraries/Image/ImageTypes.flow.js +11 -9
  92. package/Libraries/Image/ImageUtils.js +6 -3
  93. package/Libraries/Image/ImageViewNativeComponent.js +5 -3
  94. package/Libraries/Image/RCTImageUtils.mm +2 -0
  95. package/Libraries/Image/RCTResizeMode.h +4 -1
  96. package/Libraries/Image/RCTResizeMode.mm +1 -0
  97. package/Libraries/Image/React-RCTImage.podspec +1 -1
  98. package/Libraries/Inspector/Inspector.js +1 -0
  99. package/Libraries/Inspector/NetworkOverlay.js +4 -0
  100. package/Libraries/Inspector/ReactDevToolsOverlay.js +8 -14
  101. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +3 -5
  102. package/Libraries/Interaction/InteractionManager.js +6 -1
  103. package/Libraries/Interaction/InteractionManagerStub.js +176 -0
  104. package/Libraries/Interaction/TouchHistoryMath.js +22 -19
  105. package/Libraries/JSInspector/NetworkAgent.js +1 -1
  106. package/Libraries/LinkingIOS/RCTLinkingManager.mm +2 -1
  107. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  108. package/Libraries/Lists/FlatList.d.ts +1 -2
  109. package/Libraries/Lists/FlatList.js +2 -2
  110. package/Libraries/Lists/SectionListModern.js +7 -7
  111. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +2 -2
  112. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
  113. package/Libraries/LogBox/Data/LogBoxData.js +3 -3
  114. package/Libraries/LogBox/LogBox.js +18 -5
  115. package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
  116. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  117. package/Libraries/LogBox/UI/AnsiHighlight.js +26 -17
  118. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -1
  119. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  120. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +1 -1
  121. package/Libraries/LogBox/UI/LogBoxMessage.js +2 -2
  122. package/Libraries/Modal/Modal.d.ts +12 -0
  123. package/Libraries/Modal/Modal.js +31 -4
  124. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  125. package/Libraries/NativeComponent/BaseViewConfig.android.js +72 -1
  126. package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -1
  127. package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -3
  128. package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -1
  129. package/Libraries/NativeComponent/TVViewConfig.js +1 -0
  130. package/Libraries/Network/FormData.js +11 -3
  131. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  132. package/Libraries/Network/XHRInterceptor.js +63 -14
  133. package/Libraries/Network/XMLHttpRequest.js +26 -1
  134. package/Libraries/NewAppScreen/components/HermesBadge.js +1 -1
  135. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +49 -2
  136. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -4
  137. package/Libraries/Pressability/HoverState.js +2 -0
  138. package/Libraries/Pressability/Pressability.js +2 -3
  139. package/Libraries/Pressability/usePressability.js +4 -1
  140. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  141. package/Libraries/ReactNative/AppContainer.js +1 -1
  142. package/Libraries/ReactNative/AppRegistry.js +1 -11
  143. package/Libraries/ReactNative/DisplayMode.js +1 -1
  144. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -3
  145. package/Libraries/ReactNative/RendererImplementation.js +18 -17
  146. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -3
  147. package/Libraries/ReactNative/renderApplication.js +9 -8
  148. package/Libraries/ReactNative/requireNativeComponent.js +5 -2
  149. package/Libraries/Renderer/shims/ReactFabric.js +3 -3
  150. package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
  151. package/Libraries/Renderer/shims/ReactNative.js +3 -3
  152. package/Libraries/Renderer/shims/ReactNativeTypes.js +22 -35
  153. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +5 -6
  154. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
  155. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  156. package/Libraries/StyleSheet/StyleSheet.js +7 -1
  157. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +13 -2
  158. package/Libraries/StyleSheet/StyleSheetTypes.js +24 -6
  159. package/Libraries/StyleSheet/processBackgroundImage.js +87 -110
  160. package/Libraries/StyleSheet/processTransform.js +3 -34
  161. package/Libraries/Text/RCTTextAttributes.h +1 -2
  162. package/Libraries/Text/RCTTextAttributes.mm +9 -13
  163. package/Libraries/Text/Text.js +248 -249
  164. package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +1 -0
  165. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +1 -0
  166. package/Libraries/Text/TextInput/RCTBaseTextInputView.h +1 -0
  167. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +25 -2
  168. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +1 -0
  169. package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +1 -0
  170. package/Libraries/Text/TextNativeComponent.js +0 -1
  171. package/Libraries/TurboModule/TurboModuleRegistry.js +5 -5
  172. package/Libraries/Types/CoreEventTypes.d.ts +3 -10
  173. package/Libraries/Types/CoreEventTypes.js +4 -6
  174. package/Libraries/Utilities/Appearance.js +3 -1
  175. package/Libraries/Utilities/BackHandler.android.js +6 -18
  176. package/Libraries/Utilities/BackHandler.d.ts +0 -4
  177. package/Libraries/Utilities/BackHandler.ios.js +0 -8
  178. package/Libraries/Utilities/BackHandler.js.flow +0 -4
  179. package/Libraries/Utilities/HMRClient.js +3 -4
  180. package/Libraries/Utilities/Platform.flow.js +2 -2
  181. package/Libraries/Utilities/__mocks__/BackHandler.js +3 -8
  182. package/Libraries/Utilities/codegenNativeComponent.js +1 -1
  183. package/Libraries/Utilities/useMergeRefs.js +26 -7
  184. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  185. package/Libraries/WebSocket/WebSocketEvent.js +4 -1
  186. package/Libraries/WebSocket/WebSocketInterceptor.js +31 -13
  187. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +6 -5
  188. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  189. package/React/Base/RCTBridge.h +3 -0
  190. package/React/Base/RCTBridge.mm +12 -11
  191. package/React/Base/RCTBridgeModule.h +1 -9
  192. package/React/Base/RCTBridgeProxy.h +3 -0
  193. package/React/Base/RCTBridgeProxy.mm +10 -0
  194. package/React/Base/RCTCallInvoker.mm +5 -0
  195. package/React/Base/RCTConstants.h +2 -12
  196. package/React/Base/RCTConstants.m +3 -31
  197. package/React/Base/RCTConvert.mm +3 -0
  198. package/React/Base/RCTKeyCommands.m +0 -2
  199. package/React/Base/RCTModuleData.h +1 -7
  200. package/React/Base/RCTModuleData.mm +27 -34
  201. package/React/Base/RCTModuleMethod.mm +1 -1
  202. package/React/Base/RCTTouchEvent.m +1 -1
  203. package/React/Base/RCTUtils.h +1 -1
  204. package/React/Base/RCTUtils.m +9 -10
  205. package/React/Base/RCTVersion.m +3 -3
  206. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +7 -0
  207. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +2 -5
  208. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +1 -1
  209. package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +57 -0
  210. package/React/CoreModules/RCTAccessibilityManager.h +1 -0
  211. package/React/CoreModules/RCTAccessibilityManager.mm +27 -0
  212. package/React/CoreModules/RCTActionSheetManager.mm +14 -7
  213. package/React/CoreModules/RCTAppearance.h +1 -1
  214. package/React/CoreModules/RCTAppearance.mm +8 -2
  215. package/React/CoreModules/RCTDevLoadingView.mm +42 -25
  216. package/React/CoreModules/RCTDevMenu.mm +5 -1
  217. package/{ReactAndroid/src/main/java/com/facebook/perftest/PerfTestConfig.java → React/CoreModules/RCTDevToolsRuntimeSettingsModule.h} +3 -7
  218. package/React/CoreModules/RCTDevToolsRuntimeSettingsModule.mm +58 -0
  219. package/React/CoreModules/RCTDeviceInfo.mm +4 -1
  220. package/React/CoreModules/RCTEventDispatcher.mm +1 -1
  221. package/React/CoreModules/RCTExceptionsManager.h +2 -6
  222. package/React/CoreModules/RCTExceptionsManager.mm +35 -30
  223. package/React/CoreModules/React-CoreModules.podspec +12 -2
  224. package/React/CxxBridge/RCTCxxBridge.mm +20 -23
  225. package/React/CxxModule/RCTCxxMethod.mm +10 -2
  226. package/React/DevSupport/RCTInspectorDevServerHelper.mm +1 -5
  227. package/React/DevSupport/RCTPackagerConnection.mm +11 -0
  228. package/React/DevSupport/RCTPausedInDebuggerOverlayController.mm +5 -1
  229. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +2395 -0
  230. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +2854 -0
  231. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +2982 -0
  232. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +8201 -0
  233. package/React/Fabric/AppleEventBeat.cpp +31 -0
  234. package/{ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.h → React/Fabric/AppleEventBeat.h} +8 -11
  235. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +0 -8
  236. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +1 -1
  237. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.h +1 -1
  238. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +8 -18
  239. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +0 -1
  240. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -1
  241. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +3 -1
  242. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +3 -0
  243. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +38 -41
  244. package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +2 -1
  245. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +36 -16
  246. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +9 -0
  247. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +173 -105
  248. package/React/Fabric/Mounting/RCTMountingManager.h +1 -1
  249. package/React/Fabric/Mounting/RCTMountingManager.mm +1 -2
  250. package/React/Fabric/RCTScheduler.h +3 -2
  251. package/React/Fabric/RCTScheduler.mm +5 -8
  252. package/React/Fabric/RCTSurfacePointerHandler.mm +8 -6
  253. package/React/Fabric/RCTSurfacePresenter.mm +6 -18
  254. package/React/Fabric/Surface/RCTFabricSurface.mm +7 -6
  255. package/React/Fabric/Utils/PlatformRunLoopObserver.h +6 -3
  256. package/React/Fabric/Utils/PlatformRunLoopObserver.mm +2 -5
  257. package/React/Fabric/Utils/RCTLinearGradient.h +19 -0
  258. package/React/Fabric/Utils/RCTLinearGradient.mm +134 -0
  259. package/React/I18n/FBXXHashUtils.h +10 -8
  260. package/React/Inspector/RCTCxxInspectorPackagerConnection.mm +3 -0
  261. package/React/Inspector/RCTCxxInspectorPackagerConnectionDelegate.mm +3 -0
  262. package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +12 -1
  263. package/React/Inspector/RCTInspector.mm +1 -1
  264. package/React/Modules/{RCTUIManager.m → RCTUIManager.mm} +7 -4
  265. package/React/React-RCTFBReactNativeSpec.podspec +87 -0
  266. package/React/React-RCTFabric.podspec +3 -1
  267. package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +274 -0
  268. package/React/Tests/Text/RCTParagraphComponentViewTests.mm +20 -20
  269. package/React/Tests/Text/RCTTextAttributesTest.mm +49 -0
  270. package/React/Views/RCTBorderDrawing.h +5 -5
  271. package/React/Views/RCTBorderDrawing.m +21 -23
  272. package/React/Views/{RCTComponentData.m → RCTComponentData.mm} +5 -4
  273. package/React/Views/RCTFont.h +2 -0
  274. package/React/Views/RCTFont.mm +4 -5
  275. package/React/Views/RCTLayout.m +3 -0
  276. package/React/Views/RCTModalHostViewController.m +1 -1
  277. package/React/Views/RCTModalHostViewManager.m +3 -23
  278. package/React/Views/RCTView.m +9 -10
  279. package/React/Views/RCTViewManager.m +1 -1
  280. package/React/Views/ScrollView/RCTScrollEvent.m +3 -0
  281. package/React/Views/ScrollView/RCTScrollView.h +2 -0
  282. package/React/Views/ScrollView/RCTScrollView.m +23 -0
  283. package/React/Views/ScrollView/RCTScrollViewManager.m +1 -0
  284. package/React/third-party.xcconfig +1 -1
  285. package/React-Core.podspec +4 -2
  286. package/ReactAndroid/api/ReactAndroid.api +340 -815
  287. package/ReactAndroid/build.gradle.kts +48 -13
  288. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +5 -0
  289. package/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp +13 -0
  290. package/ReactAndroid/gradle.properties +8 -2
  291. package/ReactAndroid/hermes-engine/build.gradle.kts +28 -26
  292. package/ReactAndroid/src/main/AndroidManifest.xml +1 -1
  293. package/ReactAndroid/src/main/java/com/facebook/debug/debugoverlay/model/DebugOverlayTag.kt +21 -0
  294. package/ReactAndroid/src/main/java/com/facebook/debug/holder/NoopPrinter.kt +4 -5
  295. package/ReactAndroid/src/main/java/com/facebook/debug/holder/Printer.kt +4 -4
  296. package/ReactAndroid/src/main/java/com/facebook/debug/holder/PrinterHolder.kt +2 -2
  297. package/ReactAndroid/src/main/java/com/facebook/debug/tags/ReactDebugOverlayTags.kt +45 -0
  298. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/KeepGettersAndSetters.kt +24 -0
  299. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +131 -0
  300. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +2 -2
  301. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +61 -0
  302. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +4 -0
  303. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +66 -34
  304. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +72 -27
  305. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +25 -7
  306. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +35 -3
  307. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +43 -27
  308. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +2 -2
  309. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.kt +53 -0
  310. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +43 -0
  311. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +1 -2
  312. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +28 -0
  313. package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.kt +13 -0
  314. package/ReactAndroid/src/main/java/com/facebook/react/{ViewManagerOnDemandReactPackage.java → ViewManagerOnDemandReactPackage.kt} +8 -8
  315. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +3 -0
  316. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +2 -2
  317. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +22 -30
  318. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.kt +3 -1
  319. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.kt +5 -5
  320. package/ReactAndroid/src/main/java/com/facebook/react/bridge/AssertionException.kt +14 -0
  321. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +2 -0
  322. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +9 -10
  323. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +2 -2
  324. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +4 -4
  325. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxCallbackImpl.java +3 -6
  326. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicNative.kt +2 -5
  327. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{InvalidIteratorException.java → InvalidIteratorException.kt} +4 -9
  328. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JSApplicationCausedNativeException.java → JSApplicationCausedNativeException.kt} +7 -16
  329. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSApplicationIllegalArgumentException.kt +16 -0
  330. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyArray.kt +148 -0
  331. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.kt +180 -0
  332. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.kt +16 -0
  333. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.kt +25 -0
  334. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeMap.kt +2 -2
  335. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NoSuchKeyException.kt +14 -0
  336. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{ObjectAlreadyConsumedException.java → ObjectAlreadyConsumedException.kt} +4 -9
  337. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +4 -3
  338. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactIgnorableMountingException.kt +35 -0
  339. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.kt +17 -0
  340. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.kt +22 -0
  341. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +65 -0
  342. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArray.kt +4 -4
  343. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMap.kt +2 -2
  344. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.kt +92 -0
  345. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.kt +8 -13
  346. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{RetryableMountingLayerException.java → RetryableMountingLayerException.kt} +6 -11
  347. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt +1 -5
  348. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.kt +52 -0
  349. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.kt +6 -9
  350. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +49 -0
  351. package/ReactAndroid/src/main/java/com/facebook/react/common/{SurfaceDelegate.java → SurfaceDelegate.kt} +11 -11
  352. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegateFactory.kt +22 -0
  353. package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.kt +4 -0
  354. package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.kt +1 -1
  355. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.kt +1 -1
  356. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.kt +35 -0
  357. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +14 -15
  358. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +52 -3
  359. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt +14 -18
  360. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +2 -2
  361. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.java +124 -0
  362. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +3 -3
  363. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +33 -26
  364. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +6 -3
  365. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSettingsActivity.kt +2 -0
  366. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +28 -38
  367. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +22 -0
  368. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialog.kt +2 -1
  369. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +2 -2
  370. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +1 -1
  371. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceDevHelper.java +12 -2
  372. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +37 -3
  373. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +3 -6
  374. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java +18 -4
  375. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +1 -2
  376. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +6 -7
  377. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +22 -18
  378. package/ReactAndroid/src/main/java/com/facebook/react/fabric/{BindingImpl.kt → FabricUIManagerBinding.kt} +26 -20
  379. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.java +1 -1
  380. package/ReactAndroid/src/main/java/com/facebook/react/fabric/LongStreamingStats.kt +62 -0
  381. package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +10 -14
  382. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.java +10 -57
  383. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +5 -17
  384. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +3 -0
  385. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +45 -62
  386. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +10 -18
  387. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DestroyUnmountedViewMountItem.kt +30 -0
  388. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/FabricNameComponentMapping.kt +3 -9
  389. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +27 -11
  390. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +5 -0
  391. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +63 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt +20 -10
  393. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/ReactSurface.kt +10 -10
  394. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/SurfaceHandler.kt +0 -11
  395. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +78 -70
  396. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsAccessor.kt +2 -0
  397. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +106 -133
  398. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +25 -29
  399. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +25 -31
  400. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +136 -155
  401. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +23 -29
  402. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +25 -22
  403. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +1 -0
  404. package/ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfo.kt +4 -27
  405. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +121 -3
  406. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +0 -1
  407. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.kt +1 -1
  408. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.kt +1 -1
  409. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +5 -5
  410. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt +0 -11
  411. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +7 -8
  412. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +2 -0
  413. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +1 -1
  414. package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.kt +1 -1
  415. package/ReactAndroid/src/main/java/com/facebook/react/modules/devtoolsruntimesettings/ReactDevToolsRuntimeSettingsModule.kt +49 -0
  416. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +57 -5
  417. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogTitle.kt +55 -0
  418. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +21 -5
  419. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ImageCacheControl.kt +31 -0
  420. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.kt +6 -3
  421. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +19 -5
  422. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +21 -14
  423. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/XmlFormat.kt +143 -0
  424. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +5 -2
  425. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +2 -2
  426. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +270 -0
  427. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +4 -3
  428. package/ReactAndroid/src/main/java/com/facebook/react/modules/reactdevtoolssettings/ReactDevToolsSettingsManagerModule.kt +34 -0
  429. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.kt +1 -0
  430. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/SoundManagerModule.kt +4 -0
  431. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +126 -0
  432. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.kt +87 -0
  433. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +3 -3
  434. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/VibrationModule.kt +8 -4
  435. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +2 -0
  436. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/NativeModulePerfLogger.kt +11 -11
  437. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +15 -8
  438. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +153 -81
  439. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +75 -0
  440. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +2 -3
  441. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.java +6 -2
  442. package/ReactAndroid/src/main/java/com/facebook/react/runtime/cxxreactpackage/CxxReactPackage.kt +2 -2
  443. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/{Continuation.java → Continuation.kt} +4 -8
  444. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/{ExecutorException.java → ExecutorException.kt} +3 -9
  445. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.java +1 -1
  446. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/TaskCompletionSource.kt +50 -0
  447. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedErrorNotifier.kt +27 -0
  448. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/{UnobservedTaskException.java → UnobservedTaskException.kt} +2 -8
  449. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +272 -0
  450. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +398 -62
  451. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +42 -36
  452. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +40 -1
  453. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +7 -0
  454. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +3 -3
  455. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +1 -1
  456. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +4 -4
  457. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +12 -4
  458. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +13 -14
  459. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ReactClippingProhibitedView.java → ReactClippingProhibitedView.kt} +6 -6
  460. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ReactCompoundView.java → ReactCompoundView.kt} +3 -5
  461. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ReactCompoundViewGroup.java → ReactCompoundViewGroup.kt} +3 -3
  462. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +2 -0
  463. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +2 -0
  464. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +4 -3
  465. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +2 -0
  466. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.java +1 -1
  467. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.java +1 -1
  468. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +5 -1
  469. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.java +0 -2
  470. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.java +0 -2
  471. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropertyHolder.java +0 -2
  472. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +25 -0
  473. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundDrawable.kt +257 -0
  474. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +1071 -0
  475. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +11 -9
  476. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +200 -24
  477. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +16 -20
  478. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +189 -0
  479. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutsetBoxShadowDrawable.kt +15 -11
  480. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +1 -0
  481. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +7 -0
  482. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +2 -2
  483. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +1 -0
  484. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +3 -2
  485. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderColors.kt +107 -0
  486. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +53 -4
  487. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +14 -3
  488. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +5 -1
  489. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +20 -29
  490. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +137 -0
  491. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/OutlineStyle.kt +26 -0
  492. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/ReactFindViewUtil.kt +129 -0
  493. package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.kt +1 -1
  494. package/ReactAndroid/src/main/java/com/facebook/react/views/common/ContextUtils.kt +2 -1
  495. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +96 -90
  496. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMethod.kt +1 -0
  497. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMode.kt +4 -1
  498. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.kt +1 -1
  499. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.kt +8 -56
  500. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +74 -171
  501. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +7 -4
  502. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.kt +4 -0
  503. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +0 -35
  504. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.kt +1 -1
  505. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +8 -0
  506. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +2 -4
  507. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +1 -1
  508. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +2 -2
  509. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +25 -25
  510. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +1 -1
  511. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +3 -3
  512. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerLegacyView.kt +46 -0
  513. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +27 -7
  514. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +67 -103
  515. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +15 -93
  516. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +55 -84
  517. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewCommandHelper.kt +101 -0
  518. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +53 -49
  519. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +12 -63
  520. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt +5 -11
  521. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +131 -0
  522. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.kt +2 -2
  523. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +153 -0
  524. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java +6 -0
  525. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +72 -0
  526. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +7 -1
  527. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.kt +60 -0
  528. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.kt +45 -0
  529. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +12 -59
  530. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +4 -0
  531. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.kt +92 -0
  532. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +20 -54
  533. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManagerCallback.kt +25 -0
  534. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +114 -0
  535. package/ReactAndroid/src/main/java/com/facebook/react/views/text/{ReactVirtualTextShadowNode.java → ReactVirtualTextShadowNode.kt} +3 -8
  536. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.kt +38 -0
  537. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +161 -56
  538. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextTransform.kt +48 -0
  539. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.java +2 -0
  540. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLineHeightSpan.kt +25 -38
  541. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/LegacyLineHeightSpan.kt +69 -0
  542. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactTextPaintHolderSpan.kt +13 -0
  543. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +54 -58
  544. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +16 -60
  545. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedView.kt +2 -2
  546. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.kt +14 -4
  547. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.kt +0 -5
  548. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.kt +85 -0
  549. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.java +9 -5
  550. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +121 -354
  551. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +489 -0
  552. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +42 -0
  553. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +11 -0
  554. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaBoxSizing.java +33 -0
  555. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +3 -1
  556. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.java +2 -2
  557. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +2 -0
  558. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +4 -0
  559. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +10 -0
  560. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +4 -0
  561. package/ReactAndroid/src/main/jni/CMakeLists.txt +1 -0
  562. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +7 -0
  563. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnection.cpp +4 -2
  564. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnection.h +2 -0
  565. package/ReactAndroid/src/main/jni/react/fabric/{AsyncEventBeat.cpp → AndroidEventBeat.cpp} +10 -32
  566. package/ReactAndroid/src/main/jni/react/fabric/{AsyncEventBeat.h → AndroidEventBeat.h} +6 -9
  567. package/ReactAndroid/src/main/jni/react/fabric/Binding.h +3 -156
  568. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +1 -0
  569. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +422 -313
  570. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +2 -4
  571. package/ReactAndroid/src/main/jni/react/fabric/{Binding.cpp → FabricUIManagerBinding.cpp} +249 -169
  572. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +174 -0
  573. package/ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.cpp +5 -6
  574. package/ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.h +2 -2
  575. package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +2 -2
  576. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +16 -48
  577. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +1 -3
  578. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +8 -36
  579. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.h +2 -9
  580. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +146 -174
  581. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +31 -36
  582. package/ReactAndroid/src/main/jni/react/jni/JCallback.h +1 -1
  583. package/ReactAndroid/src/main/jni/react/jni/JInspector.cpp +1 -1
  584. package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.cpp +2 -3
  585. package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.h +1 -1
  586. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.cpp +2 -3
  587. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.h +1 -1
  588. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.cpp +29 -8
  589. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.h +3 -1
  590. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +2 -1
  591. package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +0 -1
  592. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/BindingsInstallerHolder.cpp +12 -3
  593. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/BindingsInstallerHolder.h +15 -4
  594. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/OnLoad.cpp +0 -3
  595. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +1 -1
  596. package/ReactAndroid/src/main/jni/third-party/fast_float/CMakeLists.txt +13 -0
  597. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +5 -6
  598. package/ReactAndroid/src/main/res/views/alert/layout/alert_title_layout.xml +22 -0
  599. package/ReactCommon/React-Fabric.podspec +4 -2
  600. package/ReactCommon/React-FabricComponents.podspec +7 -4
  601. package/ReactCommon/React-FabricImage.podspec +6 -2
  602. package/ReactCommon/ReactCommon.podspec +5 -3
  603. package/ReactCommon/callinvoker/React-callinvoker.podspec +0 -6
  604. package/ReactCommon/cxxreact/CMakeLists.txt +0 -1
  605. package/ReactCommon/cxxreact/CxxNativeModule.cpp +6 -3
  606. package/ReactCommon/cxxreact/JSBigString.cpp +4 -4
  607. package/ReactCommon/cxxreact/JSExecutor.cpp +2 -4
  608. package/ReactCommon/cxxreact/React-cxxreact.podspec +4 -2
  609. package/ReactCommon/cxxreact/ReactNativeVersion.h +3 -3
  610. package/ReactCommon/devtoolsruntimesettings/CMakeLists.txt +22 -0
  611. package/ReactCommon/devtoolsruntimesettings/DevToolsRuntimeSettings.cpp +27 -0
  612. package/ReactCommon/devtoolsruntimesettings/DevToolsRuntimeSettings.h +56 -0
  613. package/ReactCommon/hermes/React-hermes.podspec +3 -1
  614. package/ReactCommon/jsc/JSCRuntime.cpp +9 -9
  615. package/ReactCommon/jserrorhandler/CMakeLists.txt +2 -1
  616. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +369 -98
  617. package/ReactCommon/jserrorhandler/JsErrorHandler.h +34 -8
  618. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +8 -4
  619. package/ReactCommon/jserrorhandler/StackTraceParser.cpp +317 -0
  620. package/ReactCommon/jserrorhandler/StackTraceParser.h +23 -0
  621. package/ReactCommon/jserrorhandler/tests/StackTraceParserTest.cpp +1196 -0
  622. package/ReactCommon/jsi/React-jsi.podspec +8 -3
  623. package/ReactCommon/jsi/jsi/decorator.h +16 -0
  624. package/ReactCommon/jsi/jsi/jsi.cpp +113 -2
  625. package/ReactCommon/jsi/jsi/jsi.h +19 -6
  626. package/ReactCommon/jsi/jsi/test/testlib.cpp +59 -0
  627. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +4 -2
  628. package/ReactCommon/jsinspector-modern/HostAgent.cpp +6 -40
  629. package/ReactCommon/jsinspector-modern/HostAgent.h +4 -1
  630. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +2 -0
  631. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +8 -7
  632. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +2 -2
  633. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +19 -9
  634. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.h +4 -2
  635. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +6 -3
  636. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
  637. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +59 -0
  638. package/ReactCommon/jsinspector-modern/TracingAgent.h +41 -0
  639. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +29 -33
  640. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +130 -0
  641. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +4 -13
  642. package/ReactCommon/logger/React-logger.podspec +2 -1
  643. package/ReactCommon/react/bridging/Base.h +29 -4
  644. package/ReactCommon/react/bridging/Convert.h +2 -2
  645. package/ReactCommon/react/config/ReactNativeConfig.cpp +0 -3
  646. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +66 -63
  647. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +66 -64
  648. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +174 -219
  649. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +31 -35
  650. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +36 -48
  651. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +15 -18
  652. package/ReactCommon/react/featureflags/tests/ReactNativeFeatureFlagsTest.cpp +23 -0
  653. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +4 -16
  654. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.h +1 -1
  655. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +22 -22
  656. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +65 -45
  657. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +5 -2
  658. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +2 -2
  659. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.h +0 -8
  660. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +4 -22
  661. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleWithJSIBindings.h +9 -1
  662. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
  663. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +10 -0
  664. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +18 -2
  665. package/ReactCommon/react/nativemodule/devtoolsruntimesettings/CMakeLists.txt +24 -0
  666. package/ReactCommon/react/nativemodule/devtoolsruntimesettings/DevToolsRuntimeSettingsModule.cpp +35 -0
  667. package/ReactCommon/react/nativemodule/devtoolsruntimesettings/DevToolsRuntimeSettingsModule.h +27 -0
  668. package/ReactCommon/react/nativemodule/devtoolsruntimesettings/README.md +6 -0
  669. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +21 -3
  670. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +53 -61
  671. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +24 -28
  672. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +19 -3
  673. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +18 -3
  674. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.cpp +6 -1
  675. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h +3 -1
  676. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +18 -3
  677. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +2 -1
  678. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +6 -3
  679. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleJSIBindings.cpp +5 -4
  680. package/ReactCommon/react/nativemodule/samples/platform/android/SampleLegacyModule.kt +277 -0
  681. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.kt +245 -0
  682. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +4 -0
  683. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleLegacyModule.mm +2 -2
  684. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +3 -2
  685. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +261 -28
  686. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +131 -0
  687. package/ReactCommon/react/performance/timeline/CircularBuffer.h +133 -0
  688. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +53 -0
  689. package/ReactCommon/react/performance/timeline/PerformanceEntryBuffer.h +40 -0
  690. package/ReactCommon/react/performance/timeline/PerformanceEntryCircularBuffer.cpp +38 -0
  691. package/ReactCommon/react/performance/timeline/PerformanceEntryCircularBuffer.h +34 -0
  692. package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.cpp +59 -0
  693. package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.h +39 -0
  694. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +140 -206
  695. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +82 -131
  696. package/ReactCommon/react/performance/timeline/PerformanceObserver.cpp +92 -0
  697. package/ReactCommon/react/performance/timeline/PerformanceObserver.h +139 -0
  698. package/ReactCommon/react/performance/timeline/PerformanceObserverRegistry.cpp +34 -0
  699. package/ReactCommon/react/performance/timeline/PerformanceObserverRegistry.h +54 -0
  700. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  701. package/ReactCommon/react/performance/timeline/tests/CircularBufferTest.cpp +127 -0
  702. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryReporterTest.cpp +238 -254
  703. package/ReactCommon/react/performance/timeline/tests/PerformanceObserverTest.cpp +272 -0
  704. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +4 -4
  705. package/ReactCommon/react/renderer/attributedstring/AttributedString.cpp +13 -28
  706. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +8 -6
  707. package/ReactCommon/react/renderer/attributedstring/conversions.h +4 -0
  708. package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringBoxTest.cpp +3 -3
  709. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +5 -18
  710. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +110 -36
  711. package/ReactCommon/react/renderer/components/image/ImageProps.h +8 -1
  712. package/ReactCommon/react/renderer/components/image/ImageShadowNode.h +1 -1
  713. package/ReactCommon/react/renderer/components/image/conversions.h +27 -0
  714. package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.cpp +0 -1
  715. package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.h +0 -1
  716. package/ReactCommon/react/renderer/components/rncore/Props.cpp +1 -0
  717. package/ReactCommon/react/renderer/components/rncore/Props.h +1 -0
  718. package/ReactCommon/react/renderer/components/rncore/ShadowNodes.cpp +0 -1
  719. package/ReactCommon/react/renderer/components/rncore/ShadowNodes.h +0 -11
  720. package/ReactCommon/react/renderer/components/rncore/States.h +0 -12
  721. package/ReactCommon/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewComponentDescriptor.h +18 -0
  722. package/ReactCommon/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewShadowNode.cpp +29 -0
  723. package/ReactCommon/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewShadowNode.h +26 -0
  724. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +8 -6
  725. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +5 -0
  726. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +0 -8
  727. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +0 -1
  728. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +98 -100
  729. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +0 -1
  730. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +2 -2
  731. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +19 -10
  732. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +18 -16
  733. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +1 -0
  734. package/ReactCommon/react/renderer/components/text/tests/BaseTextShadowNodeTest.cpp +93 -0
  735. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +38 -2
  736. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h +10 -0
  737. package/ReactCommon/react/renderer/components/textinput/{platform/ios/react/renderer/components/iostextinput/TextInputEventEmitter.cpp → TextInputEventEmitter.cpp} +3 -1
  738. package/ReactCommon/react/renderer/components/textinput/{platform/ios/react/renderer/components/iostextinput/TextInputEventEmitter.h → TextInputEventEmitter.h} +1 -0
  739. package/ReactCommon/react/renderer/components/textinput/baseConversions.h +46 -0
  740. package/ReactCommon/react/{utils/CoreFeatures.cpp → renderer/components/textinput/basePrimitives.h} +7 -4
  741. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +8 -6
  742. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +44 -57
  743. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.h +1 -3
  744. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +3 -20
  745. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +0 -4
  746. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.cpp +8 -1
  747. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.h +1 -0
  748. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.cpp +1 -18
  749. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +1 -5
  750. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/conversions.h +0 -20
  751. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/primitives.h +1 -20
  752. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/propsConversions.h +0 -12
  753. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +36 -34
  754. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +206 -149
  755. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +8 -2
  756. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +48 -36
  757. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +18 -18
  758. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +2 -2
  759. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +60 -60
  760. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +23 -17
  761. package/ReactCommon/react/renderer/components/view/conversions.h +136 -68
  762. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +22 -20
  763. package/ReactCommon/react/renderer/components/view/primitives.h +2 -0
  764. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +20 -20
  765. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +2 -2
  766. package/ReactCommon/react/renderer/core/EventBeat.cpp +47 -14
  767. package/ReactCommon/react/renderer/core/EventBeat.h +87 -31
  768. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +4 -9
  769. package/ReactCommon/react/renderer/core/EventDispatcher.h +1 -3
  770. package/ReactCommon/react/renderer/core/EventEmitter.h +0 -2
  771. package/ReactCommon/react/renderer/core/EventLogger.h +4 -1
  772. package/ReactCommon/react/renderer/core/EventQueue.cpp +3 -18
  773. package/ReactCommon/react/renderer/core/EventQueue.h +1 -8
  774. package/ReactCommon/react/renderer/core/LayoutPrimitives.h +1 -1
  775. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +4 -4
  776. package/ReactCommon/react/renderer/core/Props.cpp +3 -2
  777. package/ReactCommon/react/renderer/core/RawEvent.h +6 -0
  778. package/ReactCommon/react/renderer/core/RawValue.h +20 -20
  779. package/ReactCommon/react/renderer/core/ShadowNode.cpp +21 -28
  780. package/ReactCommon/react/renderer/core/ShadowNode.h +4 -13
  781. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +24 -1
  782. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +38 -1
  783. package/ReactCommon/react/renderer/core/ShadowNodeFragment.h +0 -1
  784. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +5 -5
  785. package/ReactCommon/react/renderer/core/conversions.h +3 -3
  786. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +4 -2
  787. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +2 -51
  788. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +18 -18
  789. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +2 -0
  790. package/ReactCommon/react/renderer/dom/DOM.cpp +4 -7
  791. package/ReactCommon/react/renderer/graphics/BackgroundImage.h +4 -32
  792. package/ReactCommon/react/renderer/graphics/LinearGradient.h +62 -0
  793. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +4 -1
  794. package/ReactCommon/react/renderer/graphics/Transform.h +4 -4
  795. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +20 -48
  796. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +2 -2
  797. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.mm +2 -0
  798. package/ReactCommon/react/renderer/imagemanager/ImageRequest.cpp +4 -8
  799. package/ReactCommon/react/renderer/imagemanager/ImageRequest.h +2 -12
  800. package/ReactCommon/react/renderer/imagemanager/ImageResponse.h +1 -0
  801. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +27 -3
  802. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.h +15 -0
  803. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +5 -2
  804. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImageManager.mm +24 -16
  805. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +44 -8
  806. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +4 -3
  807. package/ReactCommon/react/renderer/imagemanager/primitives.h +5 -0
  808. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +36 -23
  809. package/ReactCommon/react/renderer/mounting/Differentiator.h +41 -2
  810. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +12 -7
  811. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +0 -3
  812. package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +5 -4
  813. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +10 -130
  814. package/ReactCommon/react/renderer/mounting/ShadowTree.h +2 -7
  815. package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +1 -1
  816. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +0 -8
  817. package/ReactCommon/react/renderer/mounting/ShadowView.h +0 -44
  818. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +4 -4
  819. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.h +1 -1
  820. package/ReactCommon/react/renderer/mounting/stubs/stubs.h +2 -2
  821. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +3 -3
  822. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +35 -109
  823. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +10 -6
  824. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +5 -2
  825. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +36 -16
  826. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +4 -3
  827. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +6 -2
  828. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.h +1 -0
  829. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.cpp +9 -6
  830. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.h +11 -1
  831. package/ReactCommon/react/renderer/observers/mutation/MutationObserver.cpp +14 -16
  832. package/ReactCommon/react/renderer/observers/mutation/MutationObserver.h +15 -4
  833. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +2 -2
  834. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +2 -1
  835. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +6 -0
  836. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +42 -51
  837. package/ReactCommon/react/renderer/runtimescheduler/primitives.h +0 -1
  838. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +86 -68
  839. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +33 -37
  840. package/ReactCommon/react/renderer/scheduler/Scheduler.h +3 -3
  841. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +4 -2
  842. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +1 -2
  843. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +3 -3
  844. package/ReactCommon/react/renderer/scheduler/SurfaceManager.h +1 -1
  845. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +10 -10
  846. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +25 -0
  847. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +33 -18
  848. package/ReactCommon/react/renderer/uimanager/UIManager.h +1 -1
  849. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
  850. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +1 -3
  851. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +1 -1
  852. package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +1 -1
  853. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +10 -10
  854. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +5 -2
  855. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +4 -2
  856. package/ReactCommon/react/runtime/ReactInstance.cpp +189 -39
  857. package/ReactCommon/react/runtime/ReactInstance.h +1 -0
  858. package/ReactCommon/react/runtime/TimerManager.cpp +1 -1
  859. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +3 -6
  860. package/ReactCommon/react/runtime/iostests/RCTHostTests.mm +20 -2
  861. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +7 -2
  862. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost+Internal.h +3 -0
  863. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +14 -6
  864. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +59 -21
  865. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +11 -6
  866. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +65 -27
  867. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +2 -131
  868. package/ReactCommon/react/timing/CMakeLists.txt +1 -1
  869. package/ReactCommon/react/timing/primitives.h +2 -0
  870. package/ReactCommon/react/utils/RunLoopObserver.cpp +2 -4
  871. package/ReactCommon/react/utils/RunLoopObserver.h +1 -3
  872. package/ReactCommon/react/utils/SharedFunction.h +1 -0
  873. package/ReactCommon/reactperflogger/CMakeLists.txt +4 -1
  874. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -0
  875. package/ReactCommon/reactperflogger/reactperflogger/FuseboxPerfettoDataSource.cpp +143 -0
  876. package/ReactCommon/reactperflogger/reactperflogger/FuseboxPerfettoDataSource.h +48 -0
  877. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfLogger.cpp +65 -0
  878. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfLogger.h +35 -0
  879. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +2 -0
  880. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +2 -1
  881. package/ReactCommon/yoga/yoga/YGEnums.cpp +14 -2
  882. package/ReactCommon/yoga/yoga/YGEnums.h +8 -2
  883. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +38 -28
  884. package/ReactCommon/yoga/yoga/YGNodeStyle.h +3 -0
  885. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +51 -117
  886. package/ReactCommon/yoga/yoga/algorithm/Align.h +4 -4
  887. package/ReactCommon/yoga/yoga/algorithm/Baseline.cpp +2 -6
  888. package/ReactCommon/yoga/yoga/algorithm/BoundAxis.h +13 -6
  889. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +349 -341
  890. package/ReactCommon/yoga/yoga/algorithm/FlexLine.cpp +19 -18
  891. package/ReactCommon/yoga/yoga/algorithm/FlexLine.h +2 -4
  892. package/ReactCommon/yoga/yoga/enums/BoxSizing.h +40 -0
  893. package/ReactCommon/yoga/yoga/enums/Display.h +2 -1
  894. package/ReactCommon/yoga/yoga/enums/Errata.h +1 -1
  895. package/ReactCommon/yoga/yoga/node/LayoutableChildren.h +148 -0
  896. package/ReactCommon/yoga/yoga/node/Node.cpp +60 -7
  897. package/ReactCommon/yoga/yoga/node/Node.h +51 -9
  898. package/ReactCommon/yoga/yoga/style/Style.h +64 -1
  899. package/ReactCommon/yoga/yoga/style/StyleLength.h +0 -32
  900. package/ReactCommon/yoga/yoga/style/StyleValuePool.h +4 -4
  901. package/cli.js +2 -2
  902. package/gradle/libs.versions.toml +9 -8
  903. package/index.js +10 -3
  904. package/jest/setup.js +36 -1
  905. package/package.json +11 -13
  906. package/scripts/cocoapods/codegen_utils.rb +42 -17
  907. package/scripts/cocoapods/helpers.rb +16 -2
  908. package/scripts/cocoapods/new_architecture.rb +2 -0
  909. package/scripts/cocoapods/spm.rb +1 -1
  910. package/scripts/cocoapods/utils.rb +2 -0
  911. package/scripts/codegen/generate-artifacts-executor.js +321 -106
  912. package/scripts/codegen/generate-specs-cli-executor.js +3 -3
  913. package/scripts/codegen/templates/RCTAppDependencyProviderH.template +25 -0
  914. package/scripts/codegen/templates/RCTAppDependencyProviderMM.template +55 -0
  915. package/scripts/codegen/templates/RCTThirdPartyComponentsProviderH.template +16 -0
  916. package/scripts/codegen/templates/RCTThirdPartyComponentsProviderMM.template +23 -0
  917. package/scripts/codegen/templates/ReactAppDependencyProvider.podspec.template +34 -0
  918. package/scripts/generate-provider-cli.js +1 -2
  919. package/scripts/ios-configure-glog.sh +2 -2
  920. package/scripts/react-native-xcode.sh +8 -5
  921. package/scripts/react_native_pods.rb +16 -0
  922. package/sdks/.hermesversion +1 -1
  923. package/sdks/hermes-engine/hermes-engine.podspec +15 -9
  924. package/sdks/hermes-engine/hermes-utils.rb +29 -8
  925. package/sdks/hermes-engine/utils/build-ios-framework.sh +4 -24
  926. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  927. package/sdks/hermesc/osx-bin/hermes +0 -0
  928. package/sdks/hermesc/osx-bin/hermesc +0 -0
  929. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  930. package/src/private/animated/NativeAnimatedHelper.js +18 -16
  931. package/src/private/animated/useAnimatedPropsMemo.js +356 -0
  932. package/src/private/components/HScrollViewNativeComponents.js +1 -27
  933. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +11 -8
  934. package/src/private/components/VScrollViewNativeComponents.js +2 -25
  935. package/src/private/debugging/ReactDevToolsSettingsManager.android.js +20 -0
  936. package/src/private/debugging/ReactDevToolsSettingsManager.ios.js +30 -0
  937. package/{Libraries/ReactNative/ReactFabricInternals.js → src/private/debugging/ReactDevToolsSettingsManager.js.flow} +5 -6
  938. package/src/private/{fusebox → debugging}/setUpFuseboxReactDevToolsDispatcher.js +6 -0
  939. package/src/private/devmenu/DevMenu.d.ts +20 -0
  940. package/src/private/devmenu/DevMenu.js +31 -0
  941. package/src/private/featureflags/ReactNativeFeatureFlags.js +95 -86
  942. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +8 -2
  943. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -19
  944. package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
  945. package/src/private/setup/setUpDOM.js +14 -6
  946. package/src/private/setup/setUpMutationObserver.js +5 -0
  947. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -0
  948. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +8 -0
  949. package/src/private/specs/modules/NativeAccessibilityInfo.js +9 -0
  950. package/src/private/specs/modules/NativeAccessibilityManager.js +4 -0
  951. package/src/private/specs/modules/NativeActionSheetManager.js +2 -0
  952. package/src/private/specs/modules/NativeAppearance.js +4 -10
  953. package/src/private/specs/modules/NativeExceptionsManager.js +0 -12
  954. package/src/private/specs/modules/{NativeDevToolsSettingsManager.js → NativeReactDevToolsSettingsManager.js} +3 -5
  955. package/src/private/webapis/dom/geometry/DOMRect.js +2 -2
  956. package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +2 -2
  957. package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -3
  958. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +102 -11
  959. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +26 -0
  960. package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +1 -0
  961. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
  962. package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +9 -0
  963. package/src/private/webapis/performance/EventTiming.js +13 -8
  964. package/src/private/webapis/performance/Performance.js +66 -73
  965. package/src/private/webapis/performance/PerformanceEntry.js +2 -5
  966. package/src/private/webapis/performance/PerformanceObserver.js +65 -164
  967. package/src/private/webapis/performance/RawPerformanceEntry.js +1 -1
  968. package/src/private/webapis/performance/UserTiming.js +11 -7
  969. package/src/private/webapis/performance/Utilities.js +18 -0
  970. package/src/private/webapis/performance/specs/NativePerformance.js +71 -2
  971. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +267 -0
  972. package/third-party-podspecs/DoubleConversion.podspec +1 -0
  973. package/third-party-podspecs/RCT-Folly.podspec +20 -11
  974. package/third-party-podspecs/boost.podspec +4 -0
  975. package/third-party-podspecs/fast_float.podspec +29 -0
  976. package/third-party-podspecs/glog.podspec +2 -1
  977. package/types/index.d.ts +1 -1
  978. package/types/public/ReactNativeTypes.d.ts +4 -8
  979. package/types/tsconfig.json +13 -13
  980. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +0 -35
  981. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +0 -20
  982. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +0 -49
  983. package/Libraries/DevToolsSettings/DevToolsSettingsManager.js.flow +0 -19
  984. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +0 -13
  985. package/React/Base/RCTRuntimeExecutorModule.h +0 -19
  986. package/ReactAndroid/src/main/java/com/facebook/debug/debugoverlay/model/DebugOverlayTag.java +0 -30
  987. package/ReactAndroid/src/main/java/com/facebook/debug/tags/ReactDebugOverlayTags.java +0 -38
  988. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/KeepGettersAndSetters.java +0 -27
  989. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.java +0 -159
  990. package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +0 -131
  991. package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackageTurboModuleManagerDelegate.java +0 -57
  992. package/ReactAndroid/src/main/java/com/facebook/react/EagerModuleProvider.java +0 -26
  993. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.java +0 -69
  994. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.java +0 -67
  995. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.java +0 -56
  996. package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.java +0 -14
  997. package/ReactAndroid/src/main/java/com/facebook/react/bridge/AssertionException.java +0 -20
  998. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSApplicationIllegalArgumentException.java +0 -20
  999. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyArray.java +0 -219
  1000. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.java +0 -266
  1001. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.java +0 -22
  1002. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.java +0 -28
  1003. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NoSuchKeyException.java +0 -20
  1004. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactIgnorableMountingException.java +0 -36
  1005. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.java +0 -27
  1006. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.java +0 -29
  1007. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.java +0 -66
  1008. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.java +0 -174
  1009. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeArray.java +0 -68
  1010. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.java +0 -57
  1011. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegateFactory.java +0 -24
  1012. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +0 -79
  1013. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/AndroidManifest.xml +0 -10
  1014. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.kt +0 -74
  1015. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.kt +0 -45
  1016. package/ReactAndroid/src/main/java/com/facebook/react/fabric/LongStreamingStats.java +0 -76
  1017. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +0 -90
  1018. package/ReactAndroid/src/main/java/com/facebook/react/flipper/ReactNativeFlipper.kt +0 -34
  1019. package/ReactAndroid/src/main/java/com/facebook/react/modules/devtoolssettings/DevToolsSettingsManagerModule.kt +0 -40
  1020. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +0 -280
  1021. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java +0 -175
  1022. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java +0 -104
  1023. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessDevSupportManager.java +0 -159
  1024. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/TaskCompletionSource.java +0 -73
  1025. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedErrorNotifier.java +0 -42
  1026. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -329
  1027. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.kt +0 -85
  1028. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.java +0 -30
  1029. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/ReactFindViewUtil.java +0 -138
  1030. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerView.java +0 -82
  1031. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewCommandHelper.java +0 -141
  1032. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +0 -151
  1033. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.java +0 -194
  1034. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.java +0 -65
  1035. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +0 -66
  1036. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.java +0 -55
  1037. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.java +0 -153
  1038. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManagerCallback.java +0 -25
  1039. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +0 -198
  1040. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.java +0 -47
  1041. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextTransform.java +0 -63
  1042. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.java +0 -95
  1043. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +0 -25
  1044. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +0 -146
  1045. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +0 -588
  1046. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CompositeTurboModuleManagerDelegate.cpp +0 -58
  1047. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CompositeTurboModuleManagerDelegate.h +0 -48
  1048. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTRuntimeExecutor.h +0 -32
  1049. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTRuntimeExecutor.mm +0 -34
  1050. package/ReactCommon/react/nativemodule/samples/platform/android/SampleLegacyModule.java +0 -246
  1051. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +0 -281
  1052. package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.cpp +0 -130
  1053. package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.h +0 -91
  1054. package/ReactCommon/react/performance/timeline/BoundedConsumableBuffer.h +0 -247
  1055. package/ReactCommon/react/performance/timeline/tests/BoundedConsumableBufferTest.cpp +0 -219
  1056. package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +0 -57
  1057. package/ReactCommon/react/utils/CoreFeatures.h +0 -30
  1058. package/src/private/components/useSyncOnScroll.js +0 -48
  1059. package/src/private/fusebox/README.md +0 -12
  1060. package/src/private/webapis/performance/specs/NativePerformanceObserver.js +0 -61
  1061. package/src/private/webapis/performance/specs/__mocks__/NativePerformance.js +0 -67
  1062. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceObserver.js +0 -127
  1063. package/types/experimental.d.ts +0 -59
  1064. /package/src/private/{fusebox → debugging}/FuseboxSessionObserver.js +0 -0
@@ -7,6 +7,7 @@
7
7
 
8
8
  package com.facebook.react.views.view;
9
9
 
10
+ import static com.facebook.infer.annotation.Assertions.nullsafeFIXME;
10
11
  import static com.facebook.react.common.ReactConstants.TAG;
11
12
 
12
13
  import android.annotation.SuppressLint;
@@ -14,13 +15,9 @@ import android.annotation.TargetApi;
14
15
  import android.content.Context;
15
16
  import android.graphics.BlendMode;
16
17
  import android.graphics.Canvas;
17
- import android.graphics.Color;
18
18
  import android.graphics.Paint;
19
- import android.graphics.Path;
20
19
  import android.graphics.Rect;
21
- import android.graphics.RectF;
22
20
  import android.graphics.drawable.Drawable;
23
- import android.graphics.drawable.LayerDrawable;
24
21
  import android.os.Build;
25
22
  import android.os.Bundle;
26
23
  import android.view.FocusFinder;
@@ -39,20 +36,18 @@ import androidx.core.view.ViewCompat;
39
36
 
40
37
  import com.facebook.common.logging.FLog;
41
38
  import com.facebook.infer.annotation.Assertions;
39
+ import com.facebook.infer.annotation.Nullsafe;
42
40
  import com.facebook.react.R;
43
41
  import com.facebook.react.bridge.ReactContext;
44
42
  import com.facebook.react.bridge.ReactNoCrashSoftException;
45
43
  import com.facebook.react.bridge.ReactSoftExceptionLogger;
46
44
  import com.facebook.react.bridge.UiThreadUtil;
47
- import com.facebook.react.common.annotations.UnstableReactNativeAPI;
48
- import com.facebook.react.common.annotations.VisibleForTesting;
49
- import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
50
- import com.facebook.react.modules.i18nmanager.I18nUtil;
45
+ import com.facebook.react.config.ReactFeatureFlags;
51
46
  import com.facebook.react.touch.OnInterceptTouchEventListener;
52
47
  import com.facebook.react.touch.ReactHitSlopView;
53
48
  import com.facebook.react.touch.ReactInterceptingViewGroup;
54
49
  import com.facebook.react.uimanager.BackgroundStyleApplicator;
55
- import com.facebook.react.uimanager.IllegalViewOperationException;
50
+ import com.facebook.react.uimanager.BlendModeHelper;
56
51
  import com.facebook.react.uimanager.LengthPercentage;
57
52
  import com.facebook.react.uimanager.LengthPercentageType;
58
53
  import com.facebook.react.uimanager.MeasureSpecAssertions;
@@ -80,11 +75,8 @@ import com.facebook.react.uimanager.events.PressOutEvent;
80
75
  import com.facebook.react.uimanager.style.BackgroundImageLayer;
81
76
  import com.facebook.react.uimanager.style.BorderRadiusProp;
82
77
  import com.facebook.react.uimanager.style.BorderStyle;
83
- import com.facebook.react.uimanager.style.ComputedBorderRadius;
84
- import com.facebook.react.uimanager.style.CornerRadii;
85
78
  import com.facebook.react.uimanager.style.LogicalEdge;
86
79
  import com.facebook.react.uimanager.style.Overflow;
87
- import java.util.List;
88
80
 
89
81
  import java.lang.ref.WeakReference;
90
82
  import java.util.ArrayList;
@@ -93,6 +85,7 @@ import java.util.ArrayList;
93
85
  * Backing for a React View. Has support for borders, but since borders aren't common, lazy
94
86
  * initializes most of the storage needed for them.
95
87
  */
88
+ @Nullsafe(Nullsafe.Mode.LOCAL)
96
89
  public class ReactViewGroup extends ViewGroup
97
90
  implements ReactInterceptingViewGroup,
98
91
  ReactClippingViewGroup,
@@ -102,11 +95,8 @@ public class ReactViewGroup extends ViewGroup
102
95
  ReactOverflowViewWithInset {
103
96
 
104
97
  private static final int ARRAY_CAPACITY_INCREMENT = 12;
105
- private static final int DEFAULT_BACKGROUND_COLOR = Color.TRANSPARENT;
106
98
  private static final LayoutParams sDefaultLayoutParam = new ViewGroup.LayoutParams(0, 0);
107
99
  private final Rect mOverflowInset = new Rect();
108
- /* should only be used in {@link #updateClippingToRect} */
109
- private static final Rect sHelperRect = new Rect();
110
100
 
111
101
  private @NonNull int[] focusDestinations = new int[0];
112
102
  private boolean autoFocus = false;
@@ -130,7 +120,7 @@ public class ReactViewGroup extends ViewGroup
130
120
  */
131
121
  private static final class ChildrenLayoutChangeListener implements View.OnLayoutChangeListener {
132
122
 
133
- private final ReactViewGroup mParent;
123
+ @Nullable private ReactViewGroup mParent;
134
124
 
135
125
  private ChildrenLayoutChangeListener(ReactViewGroup parent) {
136
126
  mParent = parent;
@@ -147,12 +137,18 @@ public class ReactViewGroup extends ViewGroup
147
137
  int oldTop,
148
138
  int oldRight,
149
139
  int oldBottom) {
150
- if (mParent.getRemoveClippedSubviews()) {
140
+ if (mParent != null && mParent.getRemoveClippedSubviews()) {
151
141
  mParent.updateSubviewClipStatus(v);
152
142
  }
153
143
  }
144
+
145
+ public void shutdown() {
146
+ mParent = null;
147
+ }
154
148
  }
155
149
 
150
+ private int mRecycleCount = 0;
151
+
156
152
  // Following properties are here to support the option {@code removeClippedSubviews}. This is a
157
153
  // temporary optimization/hack that is mainly applicable to the large list of images. The way
158
154
  // it's implemented is that we store an additional array of children in view node. We selectively
@@ -167,17 +163,21 @@ public class ReactViewGroup extends ViewGroup
167
163
  private @Nullable Rect mClippingRect;
168
164
  private @Nullable Rect mHitSlopRect;
169
165
  private Overflow mOverflow;
170
- private PointerEvents mPointerEvents;
166
+ private PointerEvents mPointerEvents = PointerEvents.AUTO;
171
167
  private @Nullable ChildrenLayoutChangeListener mChildrenLayoutChangeListener;
172
- private @Nullable CSSBackgroundDrawable mCSSBackgroundDrawable;
173
168
  private @Nullable OnInterceptTouchEventListener mOnInterceptTouchEventListener;
174
169
  private boolean mNeedsOffscreenAlphaCompositing;
175
170
  private @Nullable ViewGroupDrawingOrderHelper mDrawingOrderHelper;
176
- private @Nullable Path mPath;
177
171
  private float mBackfaceOpacity;
178
172
  private String mBackfaceVisibility;
179
173
 
180
- public ReactViewGroup(Context context) {
174
+ /**
175
+ * Creates a new `ReactViewGroup` instance.
176
+ *
177
+ * @param context A {@link Context} instance. It's Nullable to not break compatibility with OSS
178
+ * users (could be made non-null in the future but requires proper comms).
179
+ */
180
+ public ReactViewGroup(@Nullable Context context) {
181
181
  super(context);
182
182
  initView();
183
183
  }
@@ -185,7 +185,7 @@ public class ReactViewGroup extends ViewGroup
185
185
  /**
186
186
  * Set all default values here as opposed to in the constructor or field defaults. It is important
187
187
  * that these properties are set during the constructor, but also on-demand whenever an existing
188
- * ReactTextView is recycled.
188
+ * ReactViewGroup is recycled.
189
189
  */
190
190
  private void initView() {
191
191
  setClipChildren(false);
@@ -198,18 +198,18 @@ public class ReactViewGroup extends ViewGroup
198
198
  mOverflow = Overflow.VISIBLE;
199
199
  mPointerEvents = PointerEvents.AUTO;
200
200
  mChildrenLayoutChangeListener = null;
201
- mCSSBackgroundDrawable = null;
202
201
  mOnInterceptTouchEventListener = null;
203
202
  mNeedsOffscreenAlphaCompositing = false;
204
203
  mDrawingOrderHelper = null;
205
- mPath = null;
206
204
  mBackfaceOpacity = 1.f;
207
205
  mBackfaceVisibility = "visible";
208
206
  }
209
207
 
210
208
  /* package */ void recycleView() {
209
+ mRecycleCount++;
211
210
  // Remove dangling listeners
212
211
  if (mAllChildren != null && mChildrenLayoutChangeListener != null) {
212
+ mChildrenLayoutChangeListener.shutdown();
213
213
  for (int i = 0; i < mAllChildrenCount; i++) {
214
214
  mAllChildren[i].removeOnLayoutChangeListener(mChildrenLayoutChangeListener);
215
215
  }
@@ -218,7 +218,6 @@ public class ReactViewGroup extends ViewGroup
218
218
  // Set default field values
219
219
  initView();
220
220
  mOverflowInset.setEmpty();
221
- sHelperRect.setEmpty();
222
221
 
223
222
  // Remove any children
224
223
  removeAllViews();
@@ -270,44 +269,12 @@ public class ReactViewGroup extends ViewGroup
270
269
 
271
270
  @Override
272
271
  public void setBackgroundColor(int color) {
273
- if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
274
- BackgroundStyleApplicator.setBackgroundColor(this, color);
275
- } else {
276
- if (color == Color.TRANSPARENT && mCSSBackgroundDrawable == null) {
277
- // don't do anything, no need to allocate ReactBackgroundDrawable for transparent background
278
- } else {
279
- getOrCreateReactViewBackground().setColor(color);
280
- }
281
- }
282
- }
283
-
284
- @UnstableReactNativeAPI
285
- /*package*/ void setBackgroundImage(@Nullable List<BackgroundImageLayer> backgroundImageLayers) {
286
- if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
287
- BackgroundStyleApplicator.setBackgroundImage(this, backgroundImageLayers);
288
- } else {
289
- getOrCreateReactViewBackground().setBackgroundImage(backgroundImageLayers);
290
- }
272
+ BackgroundStyleApplicator.setBackgroundColor(this, color);
291
273
  }
292
274
 
293
275
  @Deprecated(since = "0.76.0", forRemoval = true)
294
276
  public void setTranslucentBackgroundDrawable(@Nullable Drawable background) {
295
- if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
296
- BackgroundStyleApplicator.setFeedbackUnderlay(this, background);
297
- } else {
298
- // it's required to call setBackground to null, as in some of the cases we may set new
299
- // background to be a layer drawable that contains a drawable that has been setup
300
- // as a background previously. This will not work correctly as the drawable callback logic is
301
- // messed up in AOSP
302
- updateBackgroundDrawable(null);
303
- if (mCSSBackgroundDrawable != null && background != null) {
304
- LayerDrawable layerDrawable =
305
- new LayerDrawable(new Drawable[] {mCSSBackgroundDrawable, background});
306
- updateBackgroundDrawable(layerDrawable);
307
- } else if (background != null) {
308
- updateBackgroundDrawable(background);
309
- }
310
- }
277
+ BackgroundStyleApplicator.setFeedbackUnderlay(this, background);
311
278
  }
312
279
 
313
280
  @Override
@@ -329,7 +296,7 @@ public class ReactViewGroup extends ViewGroup
329
296
  }
330
297
 
331
298
  @Override
332
- public boolean onTouchEvent(MotionEvent ev) {
299
+ public boolean onTouchEvent(MotionEvent event) {
333
300
  // We do not accept the touch event if this view is not supposed to receive it.
334
301
  if (!PointerEvents.canBeTouchTarget(mPointerEvents)) {
335
302
  return false;
@@ -342,6 +309,15 @@ public class ReactViewGroup extends ViewGroup
342
309
  return true;
343
310
  }
344
311
 
312
+ @Override
313
+ public boolean onHoverEvent(MotionEvent event) {
314
+ if (ReactFeatureFlags.dispatchPointerEvents) {
315
+ // Match the logic from onTouchEvent if pointer events are enabled
316
+ return PointerEvents.canBeTouchTarget(mPointerEvents);
317
+ }
318
+ return super.onHoverEvent(event);
319
+ }
320
+
345
321
  @Override
346
322
  public boolean dispatchGenericMotionEvent(MotionEvent ev) {
347
323
  // We do not dispatch the motion event if its children are not supposed to receive it
@@ -367,20 +343,12 @@ public class ReactViewGroup extends ViewGroup
367
343
  }
368
344
 
369
345
  public void setBorderWidth(int position, float width) {
370
- if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
371
- BackgroundStyleApplicator.setBorderWidth(
372
- this, LogicalEdge.values()[position], PixelUtil.toDIPFromPixel(width));
373
- } else {
374
- getOrCreateReactViewBackground().setBorderWidth(position, width);
375
- }
346
+ BackgroundStyleApplicator.setBorderWidth(
347
+ this, LogicalEdge.values()[position], PixelUtil.toDIPFromPixel(width));
376
348
  }
377
349
 
378
350
  public void setBorderColor(int position, @Nullable Integer color) {
379
- if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
380
- BackgroundStyleApplicator.setBorderColor(this, LogicalEdge.values()[position], color);
381
- } else {
382
- getOrCreateReactViewBackground().setBorderColor(position, color);
383
- }
351
+ BackgroundStyleApplicator.setBorderColor(this, LogicalEdge.values()[position], color);
384
352
  }
385
353
 
386
354
  /**
@@ -396,34 +364,21 @@ public class ReactViewGroup extends ViewGroup
396
364
  */
397
365
  @Deprecated(since = "0.75.0", forRemoval = true)
398
366
  public void setBorderRadius(float borderRadius, int position) {
399
- if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
400
- @Nullable
401
- LengthPercentage radius =
402
- Float.isNaN(borderRadius)
403
- ? null
404
- : new LengthPercentage(borderRadius, LengthPercentageType.POINT);
405
- BackgroundStyleApplicator.setBorderRadius(this, BorderRadiusProp.values()[position], radius);
406
- } else {
407
- getOrCreateReactViewBackground().setRadius(borderRadius, position);
408
- }
367
+ @Nullable
368
+ LengthPercentage radius =
369
+ Float.isNaN(borderRadius)
370
+ ? null
371
+ : new LengthPercentage(borderRadius, LengthPercentageType.POINT);
372
+ BackgroundStyleApplicator.setBorderRadius(this, BorderRadiusProp.values()[position], radius);
409
373
  }
410
374
 
411
375
  public void setBorderRadius(BorderRadiusProp property, @Nullable LengthPercentage borderRadius) {
412
- if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
413
- BackgroundStyleApplicator.setBorderRadius(this, property, borderRadius);
414
- } else {
415
- CSSBackgroundDrawable backgroundDrawable = getOrCreateReactViewBackground();
416
- backgroundDrawable.setBorderRadius(property, borderRadius);
417
- }
376
+ BackgroundStyleApplicator.setBorderRadius(this, property, borderRadius);
418
377
  }
419
378
 
420
379
  public void setBorderStyle(@Nullable String style) {
421
- if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
422
- BackgroundStyleApplicator.setBorderStyle(
423
- this, style == null ? null : BorderStyle.fromString(style));
424
- } else {
425
- getOrCreateReactViewBackground().setBorderStyle(style);
426
- }
380
+ BackgroundStyleApplicator.setBorderStyle(
381
+ this, style == null ? null : BorderStyle.fromString(style));
427
382
  }
428
383
 
429
384
  @Override
@@ -469,7 +424,7 @@ public class ReactViewGroup extends ViewGroup
469
424
 
470
425
  @Override
471
426
  public void getClippingRect(Rect outClippingRect) {
472
- outClippingRect.set(mClippingRect);
427
+ outClippingRect.set(nullsafeFIXME(mClippingRect, "Fix in Kotlin"));
473
428
  }
474
429
 
475
430
  @Override
@@ -489,8 +444,23 @@ public class ReactViewGroup extends ViewGroup
489
444
  Assertions.assertNotNull(mAllChildren);
490
445
  int clippedSoFar = 0;
491
446
  for (int i = 0; i < mAllChildrenCount; i++) {
492
- updateSubviewClipStatus(clippingRect, i, clippedSoFar);
493
- if (mAllChildren[i].getParent() == null) {
447
+ try {
448
+ updateSubviewClipStatus(clippingRect, i, clippedSoFar);
449
+ } catch (IndexOutOfBoundsException e) {
450
+ throw new IllegalStateException(
451
+ "Invalid clipping state. i="
452
+ + i
453
+ + " clippedSoFar="
454
+ + clippedSoFar
455
+ + " count="
456
+ + getChildCount()
457
+ + " allChildrenCount="
458
+ + mAllChildrenCount
459
+ + " recycleCount="
460
+ + mRecycleCount,
461
+ e);
462
+ }
463
+ if (isViewClipped(mAllChildren[i])) {
494
464
  clippedSoFar++;
495
465
  }
496
466
  }
@@ -500,10 +470,9 @@ public class ReactViewGroup extends ViewGroup
500
470
  UiThreadUtil.assertOnUiThread();
501
471
 
502
472
  View child = Assertions.assertNotNull(mAllChildren)[idx];
503
- sHelperRect.set(child.getLeft(), child.getTop(), child.getRight(), child.getBottom());
504
473
  boolean intersects =
505
474
  clippingRect.intersects(
506
- sHelperRect.left, sHelperRect.top, sHelperRect.right, sHelperRect.bottom);
475
+ child.getLeft(), child.getTop(), child.getRight(), child.getBottom());
507
476
  boolean needUpdateClippingRecursive = false;
508
477
  // We never want to clip children that are being animated, as this can easily break layout :
509
478
  // when layout animation changes size and/or position of views contained inside a listview that
@@ -513,13 +482,13 @@ public class ReactViewGroup extends ViewGroup
513
482
  // it won't be size and located properly.
514
483
  Animation animation = child.getAnimation();
515
484
  boolean isAnimating = animation != null && !animation.hasEnded();
516
- if (!intersects && child.getParent() != null && !isAnimating) {
485
+ if (!intersects && !isViewClipped(child) && !isAnimating) {
517
486
  recoverFocus(child);
518
487
  // We can try saving on invalidate call here as the view that we remove is out of visible area
519
488
  // therefore invalidation is not necessary.
520
489
  removeViewInLayout(child);
521
490
  needUpdateClippingRecursive = true;
522
- } else if (intersects && child.getParent() == null) {
491
+ } else if (intersects && isViewClipped(child)) {
523
492
  addViewInLayout(child, idx - clippedSoFar, sDefaultLayoutParam, true);
524
493
  invalidate();
525
494
  needUpdateClippingRecursive = true;
@@ -529,8 +498,6 @@ public class ReactViewGroup extends ViewGroup
529
498
  }
530
499
  if (needUpdateClippingRecursive) {
531
500
  if (child instanceof ReactClippingViewGroup) {
532
- // we don't use {@link sHelperRect} until the end of this loop, therefore it's safe
533
- // to call this method that may write to the same {@link sHelperRect} object.
534
501
  ReactClippingViewGroup clippingChild = (ReactClippingViewGroup) child;
535
502
  if (clippingChild.getRemoveClippedSubviews()) {
536
503
  clippingChild.updateClippingRect();
@@ -548,13 +515,12 @@ public class ReactViewGroup extends ViewGroup
548
515
  Assertions.assertNotNull(mAllChildren);
549
516
 
550
517
  // do fast check whether intersect state changed
551
- sHelperRect.set(subview.getLeft(), subview.getTop(), subview.getRight(), subview.getBottom());
552
518
  boolean intersects =
553
519
  mClippingRect.intersects(
554
- sHelperRect.left, sHelperRect.top, sHelperRect.right, sHelperRect.bottom);
520
+ subview.getLeft(), subview.getTop(), subview.getRight(), subview.getBottom());
555
521
 
556
522
  // If it was intersecting before, should be attached to the parent
557
- boolean oldIntersects = (subview.getParent() != null);
523
+ boolean oldIntersects = !isViewClipped(subview);
558
524
 
559
525
  if (intersects != oldIntersects) {
560
526
  int clippedSoFar = 0;
@@ -563,18 +529,13 @@ public class ReactViewGroup extends ViewGroup
563
529
  updateSubviewClipStatus(mClippingRect, i, clippedSoFar);
564
530
  break;
565
531
  }
566
- if (mAllChildren[i].getParent() == null) {
532
+ if (isViewClipped(mAllChildren[i])) {
567
533
  clippedSoFar++;
568
534
  }
569
535
  }
570
536
  }
571
537
  }
572
538
 
573
- @Override
574
- public boolean getChildVisibleRect(View child, Rect r, android.graphics.Point offset) {
575
- return super.getChildVisibleRect(child, r, offset);
576
- }
577
-
578
539
  private View getFirstFocusableView(ReactViewGroup viewGroup) {
579
540
  ArrayList<View> focusables = new ArrayList<View>(0);
580
541
  /**
@@ -683,85 +644,33 @@ public class ReactViewGroup extends ViewGroup
683
644
  return ViewUtil.getUIManagerType(getId()) == UIManagerType.FABRIC;
684
645
  }
685
646
 
686
- private void handleAddView(View view) {
647
+ @Override
648
+ public void onViewAdded(View child) {
687
649
  UiThreadUtil.assertOnUiThread();
688
650
 
689
651
  if (!customDrawOrderDisabled()) {
690
- getDrawingOrderHelper().handleAddView(view);
652
+ getDrawingOrderHelper().handleAddView(child);
691
653
  setChildrenDrawingOrderEnabled(getDrawingOrderHelper().shouldEnableCustomDrawingOrder());
692
654
  } else {
693
655
  setChildrenDrawingOrderEnabled(false);
694
656
  }
657
+ super.onViewAdded(child);
695
658
  }
696
659
 
697
- private void handleRemoveView(View view) {
660
+ @Override
661
+ public void onViewRemoved(View child) {
698
662
  UiThreadUtil.assertOnUiThread();
699
663
 
700
664
  if (!customDrawOrderDisabled()) {
701
- if (indexOfChild(view) == -1) {
665
+ if (indexOfChild(child) == -1) {
702
666
  return;
703
667
  }
704
- getDrawingOrderHelper().handleRemoveView(view);
668
+ getDrawingOrderHelper().handleRemoveView(child);
705
669
  setChildrenDrawingOrderEnabled(getDrawingOrderHelper().shouldEnableCustomDrawingOrder());
706
670
  } else {
707
671
  setChildrenDrawingOrderEnabled(false);
708
672
  }
709
- }
710
-
711
- private void handleRemoveViews(int start, int count) {
712
- int endIndex = start + count;
713
- for (int index = start; index < endIndex; index++) {
714
- if (index < getChildCount()) {
715
- handleRemoveView(getChildAt(index));
716
- }
717
- }
718
- }
719
-
720
- @Override
721
- public void addView(View child, int index, ViewGroup.LayoutParams params) {
722
- // This will get called for every overload of addView so there is not need to override every
723
- // method.
724
- handleAddView(child);
725
- super.addView(child, index, params);
726
- }
727
-
728
- @Override
729
- protected boolean addViewInLayout(
730
- View child, int index, LayoutParams params, boolean preventRequestLayout) {
731
- handleAddView(child);
732
- return super.addViewInLayout(child, index, params, preventRequestLayout);
733
- }
734
-
735
- @Override
736
- public void removeView(View view) {
737
- handleRemoveView(view);
738
- recoverFocus(view);
739
- super.removeView(view);
740
- }
741
-
742
- @Override
743
- public void removeViewAt(int index) {
744
- handleRemoveView(getChildAt(index));
745
- recoverFocus(getChildAt(index));
746
- super.removeViewAt(index);
747
- }
748
-
749
- @Override
750
- public void removeViewInLayout(View view) {
751
- handleRemoveView(view);
752
- super.removeViewInLayout(view);
753
- }
754
-
755
- @Override
756
- public void removeViewsInLayout(int start, int count) {
757
- handleRemoveViews(start, count);
758
- super.removeViewsInLayout(start, count);
759
- }
760
-
761
- @Override
762
- public void removeViews(int start, int count) {
763
- handleRemoveViews(start, count);
764
- super.removeViews(start, count);
673
+ super.onViewRemoved(child);
765
674
  }
766
675
 
767
676
  @Override
@@ -835,18 +744,19 @@ public class ReactViewGroup extends ViewGroup
835
744
  /*package*/ void addViewWithSubviewClippingEnabled(
836
745
  final View child, int index, ViewGroup.LayoutParams params) {
837
746
  Assertions.assertCondition(mRemoveClippedSubviews);
838
- Assertions.assertNotNull(mClippingRect);
839
- Assertions.assertNotNull(mAllChildren);
840
747
  addInArray(child, index);
748
+
841
749
  // we add view as "clipped" and then run {@link #updateSubviewClipStatus} to conditionally
842
750
  // attach it
751
+ Rect clippingRect = Assertions.assertNotNull(mClippingRect);
752
+ View[] childArray = Assertions.assertNotNull(mAllChildren);
843
753
  int clippedSoFar = 0;
844
754
  for (int i = 0; i < index; i++) {
845
- if (mAllChildren[i].getParent() == null) {
755
+ if (isViewClipped(childArray[i])) {
846
756
  clippedSoFar++;
847
757
  }
848
758
  }
849
- updateSubviewClipStatus(mClippingRect, index, clippedSoFar);
759
+ updateSubviewClipStatus(clippingRect, index, clippedSoFar);
850
760
  child.addOnLayoutChangeListener(mChildrenLayoutChangeListener);
851
761
 
852
762
  if (child instanceof ReactClippingProhibitedView) {
@@ -878,13 +788,13 @@ public class ReactViewGroup extends ViewGroup
878
788
 
879
789
  Assertions.assertCondition(mRemoveClippedSubviews);
880
790
  Assertions.assertNotNull(mClippingRect);
881
- Assertions.assertNotNull(mAllChildren);
791
+ View[] childArray = Assertions.assertNotNull(mAllChildren);
882
792
  view.removeOnLayoutChangeListener(mChildrenLayoutChangeListener);
883
793
  int index = indexOfChildInAllChildren(view);
884
- if (mAllChildren[index].getParent() != null) {
794
+ if (!isViewClipped(childArray[index])) {
885
795
  int clippedSoFar = 0;
886
796
  for (int i = 0; i < index; i++) {
887
- if (mAllChildren[i].getParent() == null) {
797
+ if (isViewClipped(childArray[i])) {
888
798
  clippedSoFar++;
889
799
  }
890
800
  }
@@ -895,19 +805,26 @@ public class ReactViewGroup extends ViewGroup
895
805
 
896
806
  /*package*/ void removeAllViewsWithSubviewClippingEnabled() {
897
807
  Assertions.assertCondition(mRemoveClippedSubviews);
898
- Assertions.assertNotNull(mAllChildren);
808
+ View[] childArray = Assertions.assertNotNull(mAllChildren);
899
809
  for (int i = 0; i < mAllChildrenCount; i++) {
900
- mAllChildren[i].removeOnLayoutChangeListener(mChildrenLayoutChangeListener);
810
+ childArray[i].removeOnLayoutChangeListener(mChildrenLayoutChangeListener);
901
811
  }
902
812
  removeAllViewsInLayout();
903
813
  mAllChildrenCount = 0;
904
814
  }
905
815
 
816
+ /**
817
+ * @return {@code true} if the view has been removed from the ViewGroup.
818
+ */
819
+ private boolean isViewClipped(View view) {
820
+ return view.getParent() == null;
821
+ }
822
+
906
823
  private int indexOfChildInAllChildren(View child) {
907
824
  final int count = mAllChildrenCount;
908
- final View[] children = Assertions.assertNotNull(mAllChildren);
825
+ final View[] childArray = Assertions.assertNotNull(mAllChildren);
909
826
  for (int i = 0; i < count; i++) {
910
- if (children[i] == child) {
827
+ if (childArray[i] == child) {
911
828
  return i;
912
829
  }
913
830
  }
@@ -915,26 +832,26 @@ public class ReactViewGroup extends ViewGroup
915
832
  }
916
833
 
917
834
  private void addInArray(View child, int index) {
918
- View[] children = Assertions.assertNotNull(mAllChildren);
835
+ View[] childArray = Assertions.assertNotNull(mAllChildren);
919
836
  final int count = mAllChildrenCount;
920
- final int size = children.length;
837
+ final int size = childArray.length;
921
838
  if (index == count) {
922
839
  if (size == count) {
923
840
  mAllChildren = new View[size + ARRAY_CAPACITY_INCREMENT];
924
- System.arraycopy(children, 0, mAllChildren, 0, size);
925
- children = mAllChildren;
841
+ System.arraycopy(childArray, 0, mAllChildren, 0, size);
842
+ childArray = mAllChildren;
926
843
  }
927
- children[mAllChildrenCount++] = child;
844
+ childArray[mAllChildrenCount++] = child;
928
845
  } else if (index < count) {
929
846
  if (size == count) {
930
847
  mAllChildren = new View[size + ARRAY_CAPACITY_INCREMENT];
931
- System.arraycopy(children, 0, mAllChildren, 0, index);
932
- System.arraycopy(children, index, mAllChildren, index + 1, count - index);
933
- children = mAllChildren;
848
+ System.arraycopy(childArray, 0, mAllChildren, 0, index);
849
+ System.arraycopy(childArray, index, mAllChildren, index + 1, count - index);
850
+ childArray = mAllChildren;
934
851
  } else {
935
- System.arraycopy(children, index, children, index + 1, count - index);
852
+ System.arraycopy(childArray, index, childArray, index + 1, count - index);
936
853
  }
937
- children[index] = child;
854
+ childArray[index] = child;
938
855
  mAllChildrenCount++;
939
856
  } else {
940
857
  throw new IndexOutOfBoundsException("index=" + index + " count=" + count);
@@ -942,69 +859,18 @@ public class ReactViewGroup extends ViewGroup
942
859
  }
943
860
 
944
861
  private void removeFromArray(int index) {
945
- final View[] children = Assertions.assertNotNull(mAllChildren);
862
+ final View[] childArray = Assertions.assertNotNull(mAllChildren);
946
863
  final int count = mAllChildrenCount;
947
864
  if (index == count - 1) {
948
- children[--mAllChildrenCount] = null;
865
+ childArray[--mAllChildrenCount] = null;
949
866
  } else if (index >= 0 && index < count) {
950
- System.arraycopy(children, index + 1, children, index, count - index - 1);
951
- children[--mAllChildrenCount] = null;
867
+ System.arraycopy(childArray, index + 1, childArray, index, count - index - 1);
868
+ childArray[--mAllChildrenCount] = null;
952
869
  } else {
953
870
  throw new IndexOutOfBoundsException();
954
871
  }
955
872
  }
956
873
 
957
- private boolean needsIsolatedLayer() {
958
- if (!ReactNativeFeatureFlags.enableAndroidMixBlendModeProp()) {
959
- return false;
960
- }
961
-
962
- for (int i = 0; i < getChildCount(); i++) {
963
- if (getChildAt(i).getTag(R.id.mix_blend_mode) != null) {
964
- return true;
965
- }
966
- }
967
-
968
- return false;
969
- }
970
-
971
- @VisibleForTesting
972
- public int getBackgroundColor() {
973
- if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
974
- @Nullable Integer color = BackgroundStyleApplicator.getBackgroundColor(this);
975
- return color == null ? DEFAULT_BACKGROUND_COLOR : color;
976
- } else {
977
- if (getBackground() != null) {
978
- return ((CSSBackgroundDrawable) getBackground()).getColor();
979
- }
980
- return DEFAULT_BACKGROUND_COLOR;
981
- }
982
- }
983
-
984
- /* package */ CSSBackgroundDrawable getOrCreateReactViewBackground() {
985
- if (mCSSBackgroundDrawable == null) {
986
- mCSSBackgroundDrawable = new CSSBackgroundDrawable(getContext());
987
- Drawable backgroundDrawable = getBackground();
988
- updateBackgroundDrawable(
989
- null); // required so that drawable callback is cleared before we add the
990
- // drawable back as a part of LayerDrawable
991
- if (backgroundDrawable == null) {
992
- updateBackgroundDrawable(mCSSBackgroundDrawable);
993
- } else {
994
- LayerDrawable layerDrawable =
995
- new LayerDrawable(new Drawable[] {mCSSBackgroundDrawable, backgroundDrawable});
996
- updateBackgroundDrawable(layerDrawable);
997
- }
998
- if (!ReactNativeFeatureFlags.setAndroidLayoutDirection()) {
999
- mCSSBackgroundDrawable.setLayoutDirectionOverride(
1000
- I18nUtil.getInstance().isRTL(getContext())
1001
- ? LAYOUT_DIRECTION_RTL
1002
- : LAYOUT_DIRECTION_LTR);
1003
- }
1004
- }
1005
- return mCSSBackgroundDrawable;
1006
- }
1007
-
1008
874
  @Override
1009
875
  public @Nullable Rect getHitSlopRect() {
1010
876
  return mHitSlopRect;
@@ -1041,7 +907,7 @@ public class ReactViewGroup extends ViewGroup
1041
907
 
1042
908
  @Override
1043
909
  public void setOverflowInset(int left, int top, int right, int bottom) {
1044
- if (needsIsolatedLayer()
910
+ if (BlendModeHelper.needsIsolatedLayer(this)
1045
911
  && (mOverflowInset.left != left
1046
912
  || mOverflowInset.top != top
1047
913
  || mOverflowInset.right != right
@@ -1071,7 +937,7 @@ public class ReactViewGroup extends ViewGroup
1071
937
  public void draw(Canvas canvas) {
1072
938
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
1073
939
  && ViewUtil.getUIManagerType(this) == UIManagerType.FABRIC
1074
- && needsIsolatedLayer()) {
940
+ && BlendModeHelper.needsIsolatedLayer(this)) {
1075
941
 
1076
942
  // Check if the view is a stacking context and has children, if it does, do the rendering
1077
943
  // offscreen and then composite back. This follows the idea of group isolation on blending
@@ -1092,33 +958,10 @@ public class ReactViewGroup extends ViewGroup
1092
958
 
1093
959
  @Override
1094
960
  protected void dispatchDraw(Canvas canvas) {
1095
- if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
1096
- if (mOverflow != Overflow.VISIBLE || getTag(R.id.filter) != null) {
1097
- BackgroundStyleApplicator.clipToPaddingBox(this, canvas);
1098
- }
1099
- super.dispatchDraw(canvas);
1100
- return;
1101
- }
1102
-
1103
- try {
1104
- dispatchOverflowDraw(canvas);
1105
- super.dispatchDraw(canvas);
1106
- } catch (NullPointerException | StackOverflowError e) {
1107
- // Adding special exception management for StackOverflowError for logging purposes.
1108
- // This will be removed in the future.
1109
- RootView rootView = RootViewUtil.getRootView(ReactViewGroup.this);
1110
- if (rootView != null) {
1111
- rootView.handleException(e);
1112
- } else {
1113
- if (getContext() instanceof ReactContext) {
1114
- ReactContext reactContext = (ReactContext) getContext();
1115
- reactContext.handleException(
1116
- new IllegalViewOperationException("StackOverflowException", this, e));
1117
- } else {
1118
- throw e;
1119
- }
1120
- }
961
+ if (mOverflow != Overflow.VISIBLE || getTag(R.id.filter) != null) {
962
+ BackgroundStyleApplicator.clipToPaddingBox(this, canvas);
1121
963
  }
964
+ super.dispatchDraw(canvas);
1122
965
  }
1123
966
 
1124
967
  @Override
@@ -1130,7 +973,8 @@ public class ReactViewGroup extends ViewGroup
1130
973
  }
1131
974
 
1132
975
  BlendMode mixBlendMode = null;
1133
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && needsIsolatedLayer()) {
976
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
977
+ && BlendModeHelper.needsIsolatedLayer(this)) {
1134
978
  mixBlendMode = (BlendMode) child.getTag(R.id.mix_blend_mode);
1135
979
  if (mixBlendMode != null) {
1136
980
  Paint p = new Paint();
@@ -1157,83 +1001,6 @@ public class ReactViewGroup extends ViewGroup
1157
1001
  return result;
1158
1002
  }
1159
1003
 
1160
- private void dispatchOverflowDraw(Canvas canvas) {
1161
- Overflow tempOverflow = mOverflow;
1162
-
1163
- // If the view contains a filter, we clip to the padding box.
1164
- if (getTag(R.id.filter) != null) {
1165
- tempOverflow = Overflow.HIDDEN;
1166
- }
1167
-
1168
- switch (tempOverflow) {
1169
- case VISIBLE:
1170
- if (mPath != null) {
1171
- mPath.rewind();
1172
- }
1173
- break;
1174
- case HIDDEN:
1175
- case SCROLL:
1176
- float left = 0f;
1177
- float top = 0f;
1178
- float right = getWidth();
1179
- float bottom = getHeight();
1180
-
1181
- boolean hasClipPath = false;
1182
-
1183
- if (mCSSBackgroundDrawable != null) {
1184
- final RectF borderWidth = mCSSBackgroundDrawable.getDirectionAwareBorderInsets();
1185
-
1186
- if (borderWidth.top > 0
1187
- || borderWidth.left > 0
1188
- || borderWidth.bottom > 0
1189
- || borderWidth.right > 0) {
1190
- left += borderWidth.left;
1191
- top += borderWidth.top;
1192
- right -= borderWidth.right;
1193
- bottom -= borderWidth.bottom;
1194
- }
1195
-
1196
- final ComputedBorderRadius borderRadius =
1197
- mCSSBackgroundDrawable.getComputedBorderRadius();
1198
-
1199
- if (borderRadius.hasRoundedBorders()) {
1200
- if (mPath == null) {
1201
- mPath = new Path();
1202
- }
1203
-
1204
- CornerRadii topLeftRadius = borderRadius.getTopLeft().toPixelFromDIP();
1205
- CornerRadii topRightRadius = borderRadius.getTopRight().toPixelFromDIP();
1206
- CornerRadii bottomLeftRadius = borderRadius.getBottomLeft().toPixelFromDIP();
1207
- CornerRadii bottomRightRadius = borderRadius.getBottomRight().toPixelFromDIP();
1208
-
1209
- mPath.rewind();
1210
- mPath.addRoundRect(
1211
- new RectF(left, top, right, bottom),
1212
- new float[] {
1213
- Math.max(topLeftRadius.getHorizontal() - borderWidth.left, 0),
1214
- Math.max(topLeftRadius.getVertical() - borderWidth.top, 0),
1215
- Math.max(topRightRadius.getHorizontal() - borderWidth.right, 0),
1216
- Math.max(topRightRadius.getVertical() - borderWidth.top, 0),
1217
- Math.max(bottomRightRadius.getHorizontal() - borderWidth.right, 0),
1218
- Math.max(bottomRightRadius.getVertical() - borderWidth.bottom, 0),
1219
- Math.max(bottomLeftRadius.getHorizontal() - borderWidth.left, 0),
1220
- Math.max(bottomLeftRadius.getVertical() - borderWidth.bottom, 0),
1221
- },
1222
- Path.Direction.CW);
1223
- canvas.clipPath(mPath);
1224
- hasClipPath = true;
1225
- }
1226
- }
1227
-
1228
- if (!hasClipPath) {
1229
- canvas.clipRect(new RectF(left, top, right, bottom));
1230
- }
1231
- break;
1232
- default:
1233
- break;
1234
- }
1235
- }
1236
-
1237
1004
  public void setOpacityIfPossible(float opacity) {
1238
1005
  mBackfaceOpacity = opacity;
1239
1006
  setBackfaceVisibilityDependantOpacity();