react-native-tvos 0.75.2-0rc0 → 0.76.0-0rc0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Libraries/Alert/Alert.js +3 -0
- package/Libraries/Animated/AnimatedEvent.js +1 -1
- package/Libraries/Animated/AnimatedImplementation.js +7 -7
- package/Libraries/Animated/NativeAnimatedAllowlist.js +111 -0
- package/Libraries/Animated/animations/Animation.js +11 -1
- package/Libraries/Animated/animations/DecayAnimation.js +1 -1
- package/Libraries/Animated/animations/SpringAnimation.js +1 -1
- package/Libraries/Animated/animations/TimingAnimation.js +2 -1
- package/Libraries/Animated/components/AnimatedScrollView.js +3 -2
- package/Libraries/Animated/createAnimatedComponent.js +10 -9
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +3 -2
- package/Libraries/Animated/nodes/AnimatedNode.js +42 -33
- package/Libraries/Animated/nodes/AnimatedObject.js +56 -50
- package/Libraries/Animated/nodes/AnimatedProps.js +77 -40
- package/Libraries/Animated/nodes/AnimatedStyle.js +103 -59
- package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
- package/Libraries/Animated/nodes/AnimatedTransform.js +102 -67
- package/Libraries/Animated/nodes/AnimatedValue.js +2 -1
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +21 -22
- package/Libraries/Animated/useAnimatedProps.js +142 -7
- package/Libraries/AppDelegate/RCTAppDelegate.h +7 -5
- package/Libraries/AppDelegate/RCTAppDelegate.mm +2 -29
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -1
- package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -3
- package/Libraries/BatchedBridge/NativeModules.js +2 -0
- package/Libraries/Blob/FileReader.js +1 -1
- package/Libraries/Blob/URL.js +2 -62
- package/Libraries/Blob/URLSearchParams.js +71 -0
- package/Libraries/Blob/URLSearchParams.js.flow +23 -0
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
- package/Libraries/Components/Pressable/Pressable.js +5 -6
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +1 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +1 -1
- package/Libraries/Components/ScrollView/ScrollView.js +132 -171
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +3 -1
- package/Libraries/Components/TV/TVEventHandler.js +11 -6
- package/Libraries/Components/TV/TVFocusEventHandler.js +2 -1
- package/Libraries/Components/TV/TVFocusGuideView.js +16 -15
- package/Libraries/Components/TV/TVTextScrollView.js +11 -10
- package/Libraries/Components/TV/TVViewPropTypes.js +1 -1
- package/Libraries/Components/TV/tagForComponentOrHandle.js +13 -13
- package/Libraries/Components/TV/useTVEventHandler.js +7 -3
- package/Libraries/Components/TabBarIOS/RCTTabBarNativeComponent.js +3 -2
- package/Libraries/Components/TabBarIOS/TabBarIOS.ios.js +6 -55
- package/Libraries/Components/TabBarIOS/{TabBarIOS.android.js → TabBarIOS.js} +8 -5
- package/Libraries/Components/TabBarIOS/TabBarIOSProps.js +52 -0
- package/Libraries/Components/TabBarIOS/{TabBarItemIOS.android.js → TabBarItemIOS.js} +3 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +32 -2
- package/Libraries/Components/TextInput/TextInput.js +230 -94
- package/Libraries/Components/Touchable/TVTouchable.js +6 -5
- package/Libraries/Components/Touchable/Touchable.js +2 -3
- package/Libraries/Components/Touchable/TouchableBounce.js +2 -5
- package/Libraries/Components/Touchable/TouchableHighlight.js +3 -4
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -4
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +22 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +2 -0
- package/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
- package/Libraries/Components/View/ViewNativeComponent.js +5 -1
- package/Libraries/Components/View/ViewPropTypes.js +14 -0
- package/Libraries/Core/ExceptionsManager.js +2 -0
- package/Libraries/Core/InitializeCore.js +3 -1
- package/Libraries/Core/ReactFiberErrorDialog.js +3 -0
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/setUpErrorHandling.js +7 -1
- package/Libraries/Core/setUpGlobals.js +1 -0
- package/Libraries/Core/setUpReactRefresh.js +0 -4
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
- package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +3 -1
- package/Libraries/Image/AssetSourceResolver.js +28 -1
- package/Libraries/Image/Image.android.js +9 -14
- package/Libraries/Image/Image.ios.js +11 -22
- package/Libraries/Image/ImageBackground.js +1 -8
- package/Libraries/Image/ImageUtils.js +9 -9
- package/Libraries/Image/ImageViewNativeComponent.js +1 -0
- package/Libraries/Image/RCTImageLoader.mm +19 -10
- package/Libraries/Image/RCTImageView.mm +2 -2
- package/Libraries/Image/RCTResizeMode.h +28 -0
- package/Libraries/Image/React-RCTImage.podspec +1 -1
- package/Libraries/Inspector/Inspector.js +3 -2
- package/Libraries/Inspector/InspectorPanel.js +16 -10
- package/Libraries/Inspector/NetworkOverlay.js +1 -1
- package/Libraries/Interaction/TaskQueue.js +1 -0
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -0
- package/Libraries/Lists/FlatList.js +1 -1
- package/Libraries/Lists/SectionList.js +2 -2
- package/Libraries/Lists/SectionListModern.js +3 -3
- package/Libraries/LogBox/Data/LogBoxData.js +24 -3
- package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -2
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +9 -8
- package/Libraries/Modal/Modal.js +0 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +3 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +2 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +27 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +17 -1
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +9 -2
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -2
- package/Libraries/NativeComponent/NativeComponentRegistry.js +22 -22
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -21
- package/Libraries/NativeComponent/TVViewConfig.js +4 -1
- package/Libraries/Network/RCTNetworkTask.h +1 -1
- package/Libraries/Network/RCTNetworkTask.mm +13 -9
- package/Libraries/Network/RCTNetworking.mm +6 -0
- package/Libraries/Network/XMLHttpRequest.js +4 -2
- package/Libraries/NewAppScreen/components/DebugInstructions.js +7 -7
- package/Libraries/NewAppScreen/components/HermesBadge.js +3 -6
- package/Libraries/Pressability/Pressability.js +6 -3
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
- package/Libraries/ReactNative/AppContainer-dev.js +5 -8
- package/Libraries/ReactNative/AppContainer-prod.js +1 -5
- package/Libraries/ReactNative/AppContainer.js +0 -1
- package/Libraries/ReactNative/AppRegistry.js +0 -6
- package/Libraries/ReactNative/BridgelessUIManager.js +1 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +5 -5
- package/Libraries/ReactNative/RendererImplementation.js +28 -6
- package/Libraries/ReactNative/getNativeComponentAttributes.js +8 -0
- package/Libraries/ReactNative/renderApplication.js +0 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.js +12 -4
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +74 -15
- package/Libraries/StyleSheet/StyleSheetTypes.js +60 -5
- package/Libraries/StyleSheet/processBackgroundImage.js +384 -0
- package/Libraries/StyleSheet/processBoxShadow.js +211 -0
- package/Libraries/StyleSheet/processFilter.js +231 -42
- package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +1 -0
- package/Libraries/Text/RCTTextAttributes.h +1 -0
- package/Libraries/Text/RCTTextAttributes.mm +8 -0
- package/Libraries/Text/Text/RCTTextShadowView.mm +46 -0
- package/Libraries/Text/Text.js +394 -196
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +3 -1
- package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +20 -9
- package/Libraries/Text/TextNativeComponent.js +2 -1
- package/Libraries/TurboModule/TurboModuleRegistry.js +13 -50
- package/Libraries/Types/CodegenTypes.js +3 -1
- package/Libraries/Utilities/Appearance.js +108 -84
- package/Libraries/Utilities/BackHandler.ios.js +25 -23
- package/Libraries/Utilities/DevLoadingView.js +2 -4
- package/Libraries/Utilities/HMRClient.js +2 -1
- package/Libraries/Utilities/Platform.d.ts +1 -0
- package/Libraries/Utilities/Platform.flow.js +2 -0
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
- package/Libraries/Utilities/createPerformanceLogger.js +0 -9
- package/Libraries/Utilities/stringifyViewConfig.js +22 -0
- package/Libraries/Utilities/useColorScheme.js +3 -3
- package/Libraries/Vibration/Vibration.js +1 -1
- package/Libraries/WebSocket/WebSocket.js +1 -1
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.js +6 -5
- package/README-core.md +5 -5
- package/README.md +76 -41
- package/React/Base/RCTBridge.mm +20 -2
- package/React/Base/RCTBundleURLProvider.h +19 -0
- package/React/Base/RCTBundleURLProvider.mm +62 -8
- package/React/Base/RCTConvert.h +0 -3
- package/React/Base/RCTConvert.mm +0 -13
- package/React/Base/RCTKeyCommands.m +1 -2
- package/React/Base/RCTVersion.m +2 -2
- package/React/CoreModules/RCTAppearance.mm +5 -0
- package/React/CoreModules/RCTDevLoadingView.mm +5 -0
- package/React/CoreModules/RCTDevMenu.mm +1 -1
- package/React/CoreModules/RCTDeviceInfo.mm +13 -8
- package/React/CoreModules/RCTPerfMonitor.mm +7 -13
- package/React/CoreModules/RCTRedBox.mm +4 -0
- package/React/CoreModules/RCTStatusBarManager.mm +5 -1
- package/React/CoreModules/React-CoreModules.podspec +3 -1
- package/React/CxxBridge/NSDataBigString.mm +2 -25
- package/React/CxxBridge/RCTCxxBridge.mm +27 -5
- package/React/DevSupport/RCTInspectorDevServerHelper.mm +6 -0
- package/React/DevSupport/RCTInspectorNetworkHelper.h +29 -0
- package/React/DevSupport/RCTInspectorNetworkHelper.mm +115 -0
- package/React/DevSupport/RCTInspectorUtils.h +26 -0
- package/React/DevSupport/RCTInspectorUtils.mm +50 -0
- package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +4 -1
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +2 -2
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +23 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +9 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +137 -10
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +74 -35
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +61 -12
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +8 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +356 -59
- package/React/Fabric/Mounting/RCTMountingManager.mm +0 -5
- package/React/Fabric/RCTScheduler.mm +2 -1
- package/React/Fabric/RCTSurfacePresenter.mm +0 -31
- package/React/Fabric/Utils/RCTBoxShadow.h +21 -0
- package/React/Fabric/Utils/RCTBoxShadow.mm +301 -0
- package/React/Modules/RCTRedBoxExtraDataViewController.m +105 -85
- package/React/Views/RCTBorderDrawing.h +9 -5
- package/React/Views/RCTBorderDrawing.m +23 -14
- package/React/Views/RCTModalHostView.m +2 -1
- package/React/Views/RCTModalHostViewController.m +1 -1
- package/React/Views/RCTModalHostViewManager.m +23 -3
- package/React/Views/RCTView.m +9 -5
- package/React/Views/RCTViewManager.h +3 -0
- package/React/Views/RCTViewManager.m +63 -8
- package/React/Views/RefreshControl/RCTRefreshControl.m +18 -0
- package/React-Core.podspec +4 -1
- package/ReactAndroid/api/ReactAndroid.api +593 -273
- package/ReactAndroid/build.gradle.kts +105 -282
- package/ReactAndroid/cmake-utils/ReactNative-application.cmake +10 -55
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/hermes-engine/build.gradle.kts +3 -2
- package/ReactAndroid/publish.gradle +1 -1
- package/ReactAndroid/src/main/AndroidManifest.xml +1 -1
- package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.kt +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +56 -12
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +26 -3
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +117 -41
- package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +13 -6
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +2 -17
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +6 -2
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.kt +52 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.kt +74 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeValueListener.kt +13 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/{AnimatedNodeWithUpdateableConfig.java → AnimatedNodeWithUpdateableConfig.kt} +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/animated/{AnimationDriver.java → AnimationDriver.kt} +13 -14
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +111 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.kt +73 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.kt +55 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +100 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.kt +104 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +278 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ModulusAnimatedNode.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.kt +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +40 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +81 -52
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.kt +120 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +120 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.kt +187 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.kt +61 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.kt +52 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +36 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.kt +87 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.kt +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicNative.kt +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.kt +52 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JavaJSExecutor.java → JavaJSExecutor.kt} +13 -18
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JavaScriptExecutorFactory.java → JavaScriptExecutorFactory.kt} +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.kt +24 -0
- package/ReactAndroid/src/main/java/com/facebook/react/{animated/AnimatedNodeValueListener.java → bridge/PerformanceCounter.kt} +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{Promise.java → Promise.kt} +19 -29
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +13 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt +178 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThread.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.java +28 -47
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationImpl.java +5 -19
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.java +4 -6
- package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.kt +107 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/JavascriptException.kt +2 -10
- package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.java +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.kt +124 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.kt +197 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/build/{ReactBuildConfig.java → ReactBuildConfig.kt} +9 -6
- package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.kt +111 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.kt +38 -0
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +16 -62
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt +5 -20
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +7 -55
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +16 -16
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +0 -73
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +30 -13
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +120 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.kt +3 -7
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +10 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +12 -5
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialog.kt +29 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +10 -12
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PausedInDebuggerOverlayDialogManager.java +19 -5
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.kt +38 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +31 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +168 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.java +94 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.java +34 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/BindingImpl.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.kt +45 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +75 -37
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +43 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +64 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +23 -25
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +110 -360
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +16 -22
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +1 -5
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.kt +40 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +40 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/SystraceSection.kt +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +157 -13
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +266 -26
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +54 -6
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +55 -7
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +294 -30
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +54 -6
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +43 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.java +2 -5
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.java +19 -57
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.java +2 -15
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +14 -14
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.java +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.kt +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{DefaultHardwareBackBtnHandler.java → DefaultHardwareBackBtnHandler.kt} +4 -6
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +65 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt +79 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.kt +21 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerExecutor.java → JavaScriptTimerExecutor.kt} +7 -8
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +363 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.kt +30 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{PermissionListener.java → PermissionListener.kt} +9 -9
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +144 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +83 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +36 -48
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/interfaces/DeveloperSettings.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +58 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +163 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.kt +31 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +56 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +152 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +2 -6
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nUtil.kt +4 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpCompat.java +35 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java +1 -7
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +189 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +4 -28
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java +48 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +55 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessDevSupportManager.java +9 -14
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +0 -18
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +243 -210
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +47 -45
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt +11 -4
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.kt +44 -0
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +263 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +64 -32
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +109 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.kt +85 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +44 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +89 -17
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.kt +35 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{IViewManagerWithChildren.java → IViewManagerWithChildren.kt} +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +58 -11
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +29 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LengthPercentage.kt +8 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +23 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +4 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +21 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +14 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +9 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +33 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +20 -10
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +24 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowBorderRadius.kt +29 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +160 -87
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +85 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +191 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutsetBoxShadowDrawable.kt +159 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +57 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.kt +37 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +55 -29
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +48 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +28 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +105 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +27 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderStyle.kt +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +30 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +19 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +76 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LogicalEdge.kt +79 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Overflow.kt +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +3 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +125 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +259 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.kt +61 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.kt +307 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +725 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +7 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +35 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostHelper.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +13 -30
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +61 -90
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +70 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +165 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +65 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewShadowNode.kt +12 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.kt +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +80 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +64 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +79 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +22 -33
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +65 -19
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.kt +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +11 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.kt +110 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.java +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +73 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +143 -77
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +36 -32
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +11 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +79 -104
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactOpacitySpan.kt +33 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +89 -9
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +67 -38
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.kt +95 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +6 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +257 -96
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +86 -25
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +63 -0
- package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +23 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +4 -0
- package/ReactAndroid/src/main/jni/CMakeLists.txt +182 -3
- package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +1 -1
- package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/CMakeLists.txt +24 -0
- package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/SoMerging-utils.cmake +23 -0
- package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.c +157 -0
- package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.h +108 -0
- package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +5 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +12 -1
- package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +5 -1
- package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocketDelegate.cpp +11 -2
- package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocketDelegate.h +1 -3
- package/ReactAndroid/src/main/jni/react/fabric/Binding.cpp +35 -19
- package/ReactAndroid/src/main/jni/react/fabric/Binding.h +3 -0
- package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +9 -1
- package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +6 -43
- package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.h +4 -27
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +76 -40
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +25 -1
- package/ReactAndroid/src/main/jni/react/fabric/MountItem.cpp +0 -7
- package/ReactAndroid/src/main/jni/react/fabric/MountItem.h +1 -7
- package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +0 -2
- package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +49 -13
- package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +3 -2
- package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +5 -1
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +369 -33
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +79 -7
- package/ReactAndroid/src/main/jni/react/hermes/instrumentation/CMakeLists.txt +7 -6
- package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +5 -6
- package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +0 -1
- package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +41 -0
- package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +3 -1
- package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.cpp +76 -0
- package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.h +44 -0
- package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.cpp +46 -0
- package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.h +56 -0
- package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +1 -0
- package/ReactAndroid/src/main/jni/react/jni/JWeakRefUtils.h +23 -0
- package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +3 -1
- package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +4 -0
- package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +71 -18
- package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.h +17 -6
- package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +6 -7
- package/ReactAndroid/src/main/jni/react/jsctooling/CMakeLists.txt +34 -0
- package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +5 -1
- package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +10 -2
- package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +16 -33
- package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +2 -11
- package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +4 -1
- package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +8 -4
- package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.cpp +4 -3
- package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.h +8 -3
- package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +4 -1
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +64 -22
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +35 -6
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +1 -0
- package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/CMakeLists.txt +7 -5
- package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +7 -2
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +156 -166
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +23 -17
- package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +17 -5
- package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -1
- package/ReactAndroid/src/main/jni/third-party/glog/CMakeLists.txt +1 -1
- package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_background.xml +1 -1
- package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_dialog_background.xml +7 -0
- package/ReactAndroid/src/main/res/devsupport/drawable-hdpi/ic_resume.png +0 -0
- package/ReactAndroid/src/main/res/devsupport/drawable-mdpi/ic_resume.png +0 -0
- package/ReactAndroid/src/main/res/devsupport/drawable-xhdpi/ic_resume.png +0 -0
- package/ReactAndroid/src/main/res/devsupport/drawable-xxhdpi/ic_resume.png +0 -0
- package/ReactAndroid/src/main/res/devsupport/drawable-xxxhdpi/ic_resume.png +0 -0
- package/ReactAndroid/src/main/res/devsupport/layout/paused_in_debugger_view.xml +19 -18
- package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -2
- package/ReactAndroid/src/main/res/devsupport/values/styles.xml +4 -0
- package/ReactAndroid/src/main/res/devsupport/xml/rn_dev_preferences.xml +0 -6
- package/ReactAndroid/src/main/res/views/alert/layout/alert_title_layout.xml +22 -0
- package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
- package/ReactCommon/cxxreact/CMakeLists.txt +2 -1
- package/ReactCommon/cxxreact/CxxModule.h +0 -2
- package/ReactCommon/cxxreact/JSExecutor.cpp +2 -7
- package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -0
- package/ReactCommon/cxxreact/ReactMarker.cpp +10 -2
- package/ReactCommon/cxxreact/ReactMarker.h +5 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/cxxreact/SystraceSection.h +15 -10
- package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +1 -1
- package/ReactCommon/hermes/executor/CMakeLists.txt +3 -3
- package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +2 -5
- package/ReactCommon/jsc/CMakeLists.txt +5 -3
- package/ReactCommon/jserrorhandler/CMakeLists.txt +1 -1
- package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +40 -1
- package/ReactCommon/jserrorhandler/JsErrorHandler.h +12 -1
- package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +6 -0
- package/ReactCommon/jsi/jsi/decorator.h +57 -4
- package/ReactCommon/jsi/jsi/instrumentation.h +15 -3
- package/ReactCommon/jsi/jsi/jsi.cpp +6 -2
- package/ReactCommon/jsiexecutor/CMakeLists.txt +1 -1
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +10 -4
- package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +5 -1
- package/ReactCommon/jsinspector-modern/Base64.h +98 -0
- package/ReactCommon/jsinspector-modern/CMakeLists.txt +6 -1
- package/ReactCommon/jsinspector-modern/CdpJson.h +1 -1
- package/ReactCommon/jsinspector-modern/ExecutionContext.cpp +3 -4
- package/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.h +5 -5
- package/ReactCommon/jsinspector-modern/HostAgent.cpp +45 -22
- package/ReactCommon/jsinspector-modern/HostAgent.h +7 -1
- package/ReactCommon/jsinspector-modern/HostTarget.cpp +36 -7
- package/ReactCommon/jsinspector-modern/HostTarget.h +25 -5
- package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +14 -3
- package/ReactCommon/jsinspector-modern/InspectorFlags.h +1 -1
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +5 -1
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +18 -1
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.h +4 -5
- package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +440 -0
- package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +266 -0
- package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -0
- package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +22 -0
- package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +46 -0
- package/ReactCommon/jsinspector-modern/RuntimeTarget.h +31 -0
- package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +2 -2
- package/ReactCommon/jsinspector-modern/RuntimeTargetDebuggerSessionObserver.cpp +112 -0
- package/ReactCommon/jsinspector-modern/Utf8.h +56 -0
- package/ReactCommon/jsinspector-modern/WebSocketInterfaces.h +6 -0
- package/ReactCommon/jsinspector-modern/tests/ConsoleApiTest.cpp +54 -0
- package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +801 -0
- package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +6 -0
- package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +29 -12
- package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +38 -0
- package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +2 -1
- package/ReactCommon/jsinspector-modern/tests/RuntimeTargetDebuggerSessionObserverTest.cpp +214 -0
- package/ReactCommon/jsinspector-modern/tests/Utf8.cpp +58 -0
- package/ReactCommon/logger/CMakeLists.txt +1 -1
- package/ReactCommon/react/bridging/Bool.h +1 -1
- package/ReactCommon/react/bridging/CMakeLists.txt +1 -1
- package/ReactCommon/react/config/CMakeLists.txt +1 -1
- package/ReactCommon/react/config/ReactNativeConfig.cpp +0 -3
- package/ReactCommon/react/debug/CMakeLists.txt +1 -1
- package/ReactCommon/react/featureflags/CMakeLists.txt +1 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +107 -11
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +132 -12
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +479 -47
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +58 -10
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +106 -10
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +29 -5
- package/ReactCommon/react/nativemodule/core/CMakeLists.txt +2 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/CxxTurboModuleUtils.h +6 -38
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +68 -66
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +2 -2
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +21 -2
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +13 -0
- package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -1
- package/ReactCommon/react/nativemodule/dom/CMakeLists.txt +5 -1
- package/ReactCommon/react/nativemodule/featureflags/CMakeLists.txt +1 -1
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +132 -12
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +54 -6
- package/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt +1 -1
- package/ReactCommon/react/nativemodule/microtasks/CMakeLists.txt +1 -1
- package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +0 -11
- package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +2 -0
- package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +2 -2
- package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +16 -0
- package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +9 -0
- package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +20 -1
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +11 -0
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +34 -0
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.h +1 -1
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +4 -0
- package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +28 -16
- package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.cpp +8 -1
- package/ReactCommon/react/performance/timeline/CMakeLists.txt +2 -1
- package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +12 -2
- package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +8 -4
- package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +0 -18
- package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +4 -0
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -0
- package/ReactCommon/react/renderer/attributedstring/conversions.h +55 -2
- package/ReactCommon/react/renderer/attributedstring/primitives.h +9 -0
- package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/image/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/image/conversions.h +9 -0
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +2 -3
- package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +10 -1
- package/{ReactAndroid/src/main/java/com/facebook/react/bridge/PerformanceCounter.java → ReactCommon/react/renderer/components/modal/ModalHostViewUtils.h} +5 -6
- package/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.mm +20 -0
- package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/root/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/safeareaview/CMakeLists.txt +46 -0
- package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.cpp +10 -1
- package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.h +20 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +99 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +44 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +16 -72
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +12 -18
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +9 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +1 -0
- package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +8 -0
- package/ReactCommon/react/renderer/components/text/CMakeLists.txt +1 -2
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +35 -17
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +3 -0
- package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +27 -0
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +3 -0
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputEventEmitter.cpp +1 -1
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.cpp +29 -0
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +3 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +20 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +2 -0
- package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +117 -77
- package/ReactCommon/react/renderer/components/view/BaseViewProps.h +18 -1
- package/ReactCommon/react/renderer/components/view/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +4 -1
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +21 -0
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +4 -0
- package/ReactCommon/react/renderer/components/view/conversions.h +307 -23
- package/ReactCommon/react/renderer/components/view/primitives.h +8 -1
- package/ReactCommon/react/renderer/consistency/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/core/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +21 -12
- package/ReactCommon/react/renderer/core/EventDispatcher.cpp +5 -3
- package/ReactCommon/react/renderer/core/EventDispatcher.h +1 -1
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +1 -1
- package/ReactCommon/react/renderer/core/EventEmitter.h +2 -0
- package/ReactCommon/react/renderer/core/EventListener.cpp +6 -3
- package/ReactCommon/react/renderer/core/EventListener.h +1 -1
- package/ReactCommon/react/renderer/core/EventLogger.h +4 -1
- package/ReactCommon/react/renderer/core/EventPayloadType.h +1 -1
- package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +35 -11
- package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -1
- package/ReactCommon/react/renderer/core/EventTarget.h +6 -1
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +26 -6
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +2 -3
- package/ReactCommon/react/renderer/core/Props.h +5 -0
- package/ReactCommon/react/renderer/core/PropsMacros.h +15 -11
- package/ReactCommon/react/renderer/core/RawProps.cpp +1 -6
- package/ReactCommon/react/renderer/core/RawProps.h +0 -8
- package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +1 -1
- package/ReactCommon/react/renderer/core/RawPropsParser.cpp +19 -73
- package/ReactCommon/react/renderer/core/RawPropsParser.h +0 -9
- package/ReactCommon/react/renderer/core/RawValue.h +6 -7
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +5 -4
- package/ReactCommon/react/renderer/core/ShadowNode.h +5 -5
- package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +3 -0
- package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +3 -1
- package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +3 -1
- package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +49 -0
- package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +1 -1
- package/ReactCommon/react/renderer/debug/CMakeLists.txt +2 -2
- package/ReactCommon/react/renderer/dom/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/element/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/graphics/BackgroundImage.h +46 -0
- package/ReactCommon/react/renderer/graphics/BlendMode.h +72 -0
- package/ReactCommon/react/renderer/graphics/BoxShadow.h +25 -0
- package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/graphics/Color.cpp +27 -0
- package/ReactCommon/react/renderer/graphics/Color.h +6 -0
- package/ReactCommon/react/renderer/graphics/Filter.h +19 -5
- package/ReactCommon/react/renderer/graphics/Isolation.h +31 -0
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
- package/ReactCommon/react/renderer/graphics/Transform.cpp +3 -2
- package/ReactCommon/react/renderer/graphics/Transform.h +11 -0
- package/ReactCommon/react/renderer/graphics/ValueUnit.h +3 -2
- package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/HostPlatformColor.h +21 -0
- package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +48 -20
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/HostPlatformColor.h +31 -8
- package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +31 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +9 -0
- package/ReactCommon/react/renderer/graphics/tests/ColorTest.cpp +38 -0
- package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +7 -0
- package/ReactCommon/react/renderer/imagemanager/primitives.h +1 -0
- package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +15 -52
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +10 -3
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +22 -1
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +4 -32
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +2 -28
- package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +0 -5
- package/ReactCommon/react/renderer/observers/events/CMakeLists.txt +4 -1
- package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +75 -18
- package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +19 -2
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +14 -10
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +6 -3
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +24 -8
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.h +6 -3
- package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +2 -0
- package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +30 -7
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +25 -3
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerEventTimingDelegate.h +25 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +19 -6
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +12 -2
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +116 -53
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +36 -12
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +149 -2
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +29 -22
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +1 -7
- package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +0 -10
- package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +1 -2
- package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +44 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +70 -40
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -7
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +14 -7
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +16 -7
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +2 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +6 -2
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +3 -2
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +83 -13
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +18 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -7
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +34 -10
- package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +9 -11
- package/ReactCommon/react/renderer/uimanager/UIManager.h +0 -6
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +16 -72
- package/ReactCommon/react/renderer/uimanager/UIManagerMountHook.h +6 -0
- package/ReactCommon/react/renderer/uimanager/consistency/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/uimanager/primitives.h +8 -3
- package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +1 -4
- package/ReactCommon/react/runtime/BufferedRuntimeExecutor.h +1 -1
- package/ReactCommon/react/runtime/CMakeLists.txt +2 -6
- package/ReactCommon/react/runtime/JSRuntimeFactory.h +8 -0
- package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -0
- package/ReactCommon/react/runtime/ReactInstance.cpp +117 -50
- package/ReactCommon/react/runtime/TimerManager.cpp +156 -75
- package/ReactCommon/react/runtime/TimerManager.h +16 -4
- package/ReactCommon/react/runtime/hermes/CMakeLists.txt +3 -5
- package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +24 -15
- package/ReactCommon/react/runtime/hermes/HermesInstance.h +3 -2
- package/ReactCommon/react/runtime/nativeviewconfig/CMakeLists.txt +1 -1
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.h +7 -5
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.mm +12 -8
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +22 -52
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +1 -3
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +9 -8
- package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +22 -16
- package/ReactCommon/react/test_utils/ios/Shims/ShimRCTInstance.mm +4 -5
- package/ReactCommon/react/timing/CMakeLists.txt +18 -0
- package/ReactCommon/react/timing/React-timing.podspec +44 -0
- package/ReactCommon/react/timing/primitives.h +31 -0
- package/ReactCommon/react/timing/tests/PrimitivesTest.cpp +47 -0
- package/ReactCommon/react/utils/CMakeLists.txt +1 -1
- package/ReactCommon/react/utils/CoreFeatures.cpp +0 -1
- package/ReactCommon/react/utils/CoreFeatures.h +0 -4
- package/ReactCommon/reactperflogger/CMakeLists.txt +7 -2
- package/ReactCommon/reactperflogger/React-perflogger.podspec +15 -2
- package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.cpp +117 -0
- package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.h +53 -0
- package/ReactCommon/reactperflogger/fusebox/tests/FuseboxTracerTest.cpp +90 -0
- package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.cpp +19 -4
- package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.h +9 -1
- package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +42 -6
- package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.h +6 -1
- package/ReactCommon/runtimeexecutor/CMakeLists.txt +1 -1
- package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +5 -0
- package/ReactCommon/yoga/yoga/YGNodeStyle.h +3 -1
- package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +48 -19
- package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.h +2 -1
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +28 -2
- package/ReactCommon/yoga/yoga/config/Config.cpp +24 -5
- package/ReactCommon/yoga/yoga/config/Config.h +3 -0
- package/ReactCommon/yoga/yoga/node/LayoutResults.cpp +1 -0
- package/ReactCommon/yoga/yoga/node/LayoutResults.h +1 -0
- package/ReactCommon/yoga/yoga/node/Node.cpp +7 -1
- package/ReactCommon/yoga/yoga/style/Style.h +18 -0
- package/flow/jest.js +2 -2
- package/gradle/libs.versions.toml +4 -6
- package/index.js +6 -4
- package/jest/mockComponent.js +4 -1
- package/jest/mockModal.js +1 -3
- package/jest/mockScrollView.js +1 -1
- package/jest/renderer.js +2 -2
- package/jest/setup.js +16 -13
- package/package.json +14 -15
- package/react-native.config.js +26 -5
- package/scripts/bundle.js +7 -2
- package/scripts/cocoapods/autolinking.rb +2 -1
- package/scripts/cocoapods/helpers.rb +73 -6
- package/scripts/cocoapods/new_architecture.rb +1 -1
- package/scripts/cocoapods/utils.rb +18 -7
- package/scripts/codegen/generate-artifacts-executor.js +3 -2
- package/scripts/hermes/hermes-utils.js +0 -1
- package/scripts/ios-configure-glog.sh +2 -0
- package/scripts/react-native-xcode.sh +1 -2
- package/scripts/react_native_pods.rb +73 -2
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/hermes-engine.podspec +9 -3
- package/sdks/hermes-engine/utils/build-apple-framework.sh +13 -4
- package/sdks/hermes-engine/utils/build-ios-framework.sh +2 -4
- package/sdks/hermesc/linux64-bin/hermesc +0 -0
- package/sdks/hermesc/osx-bin/hermes +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/DoNotOptimize.kt +10 -0
- package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/MergedSoMapping.kt +117 -0
- package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/SoLoader.kt +53 -0
- package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/nativeloader/NativeLoader.kt +28 -0
- package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/nativeloader/NativeLoaderDelegate.kt +23 -0
- package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/nativeloader/SystemDelegate.kt +10 -0
- package/src/private/animated/NativeAnimatedHelper.js +438 -0
- package/src/private/animated/NativeAnimatedValidation.js +64 -0
- package/src/private/components/HScrollViewNativeComponents.js +56 -0
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +27 -0
- package/src/private/components/VScrollViewNativeComponents.js +48 -0
- package/src/private/components/useSyncOnScroll.js +48 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +166 -16
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +29 -5
- package/src/private/fusebox/FuseboxSessionObserver.js +42 -0
- package/{Libraries/Core → src/private/renderer/errorhandling}/ErrorHandlers.js +14 -4
- package/src/private/setup/setUpDOM.js +28 -0
- package/src/private/setup/setUpIntersectionObserver.js +27 -0
- package/src/private/setup/setUpMutationObserver.js +26 -0
- package/src/private/setup/setUpPerformanceObserver.js +64 -0
- package/src/private/specs/modules/NativeAppearance.js +3 -3
- package/src/private/specs/modules/NativeLinkingManager.js +1 -1
- package/src/private/specs/modules/NativeSampleTurboModule.js +14 -1
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +6 -4
- package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserver.js +5 -3
- package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverEntry.js +3 -3
- package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverManager.js +14 -17
- package/src/private/{specs/modules → webapis/intersectionobserver/specs}/NativeIntersectionObserver.js +2 -2
- package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver/specs}/__mocks__/NativeIntersectionObserver.js +4 -4
- package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserver.js +5 -3
- package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserverManager.js +24 -15
- package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationRecord.js +4 -6
- package/src/private/{specs/modules → webapis/mutationobserver/specs}/NativeMutationObserver.js +2 -2
- package/{Libraries/MutationObserver → src/private/webapis/mutationobserver/specs}/__mocks__/NativeMutationObserver.js +5 -5
- package/src/private/webapis/performance/{EventCounts.js → EventTiming.js} +65 -3
- package/src/private/webapis/performance/LongTasks.js +39 -0
- package/src/private/webapis/performance/Performance.js +22 -9
- package/src/private/webapis/performance/PerformanceEntry.js +36 -18
- package/src/private/webapis/performance/PerformanceObserver.js +29 -43
- package/src/private/webapis/performance/RawPerformanceEntry.js +24 -1
- package/src/private/webapis/performance/UserTiming.js +17 -12
- package/src/private/webapis/performance/specs/NativePerformanceObserver.js +1 -1
- package/third-party-podspecs/DoubleConversion.podspec +4 -1
- package/third-party-podspecs/RCT-Folly.podspec +3 -1
- package/third-party-podspecs/boost.podspec +4 -1
- package/third-party-podspecs/fmt.podspec +4 -1
- package/third-party-podspecs/glog.podspec +4 -1
- package/types/experimental.d.ts +1 -1
- package/types/public/ReactNativeTVTypes.d.ts +44 -3
- package/Libraries/Animated/NativeAnimatedHelper.js +0 -615
- package/Libraries/Core/setUpIntersectionObserver.js +0 -16
- package/Libraries/Core/setUpMutationObserver.js +0 -16
- package/Libraries/Core/setUpPerformanceObserver.js +0 -18
- package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +0 -13
- package/Libraries/MutationObserver/NativeMutationObserver.js +0 -13
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +0 -135
- package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.java +0 -24
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.java +0 -56
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.java +0 -78
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.java +0 -131
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.java +0 -79
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.java +0 -66
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.java +0 -64
- package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java +0 -116
- package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.java +0 -109
- package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.java +0 -311
- package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.java +0 -56
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.java +0 -161
- package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +0 -145
- package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.java +0 -207
- package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +0 -70
- package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.java +0 -60
- package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.java +0 -50
- package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.java +0 -93
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.java +0 -66
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +0 -64
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.java +0 -51
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.java +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +0 -162
- package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.java +0 -53
- package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.java +0 -104
- package/ReactAndroid/src/main/java/com/facebook/react/common/HasJavascriptExceptionMetadata.java +0 -17
- package/ReactAndroid/src/main/java/com/facebook/react/common/LongArray.java +0 -75
- package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.java +0 -144
- package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.java +0 -239
- package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.java +0 -121
- package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.java +0 -36
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.java +0 -156
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.java +0 -50
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.java +0 -214
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/CoreComponentsRegistry.kt +0 -30
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +0 -54
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.java +0 -48
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +0 -74
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +0 -56
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.java +0 -57
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.java +0 -18
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java +0 -76
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +0 -91
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.java +0 -61
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.java +0 -21
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +0 -428
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.java +0 -29
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.java +0 -18
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java +0 -172
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +0 -104
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java +0 -225
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.java +0 -33
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.java +0 -80
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.java +0 -160
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java +0 -204
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.java +0 -65
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.java +0 -53
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java +0 -141
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.java +0 -84
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.java +0 -42
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewHierarchyDumper.java +0 -45
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.java +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowDrawable.kt +0 -102
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.java +0 -62
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.java +0 -52
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.java +0 -50
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.java +0 -123
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +0 -302
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.java +0 -76
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +0 -289
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +0 -638
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.java +0 -99
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.java +0 -203
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.java +0 -58
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.java +0 -64
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java +0 -124
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +0 -87
- package/ReactAndroid/src/main/jni/react/devsupport/JOptional.cpp +0 -29
- package/ReactAndroid/src/main/jni/react/devsupport/JOptional.h +0 -27
- package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.cpp +0 -28
- package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.h +0 -23
- package/src/private/core/setUpDOM.js +0 -18
- package/src/private/webapis/performance/PerformanceEventTiming.js +0 -55
- /package/src/private/{core → styles}/composeStyles.js +0 -0
|
@@ -56,8 +56,8 @@ public class CompositeReactPackage implements ViewManagerOnDemandReactPackage, R
|
|
|
56
56
|
final Map<String, NativeModule> moduleMap = new HashMap<>();
|
|
57
57
|
for (ReactPackage reactPackage : mChildReactPackages) {
|
|
58
58
|
/**
|
|
59
|
-
* For now, we eagerly initialize the NativeModules inside
|
|
60
|
-
* should turn CompositeReactPackage into a
|
|
59
|
+
* For now, we eagerly initialize the NativeModules inside BaseReactPackages. Ultimately, we
|
|
60
|
+
* should turn CompositeReactPackage into a BaseReactPackage and remove this eager
|
|
61
61
|
* initialization.
|
|
62
62
|
*
|
|
63
63
|
* <p>TODO: T45627020
|
|
@@ -57,7 +57,7 @@ import java.util.Map;
|
|
|
57
57
|
TimingModule.class,
|
|
58
58
|
UIManagerModule.class,
|
|
59
59
|
})
|
|
60
|
-
class CoreModulesPackage extends
|
|
60
|
+
class CoreModulesPackage extends BaseReactPackage implements ReactPackageLogger {
|
|
61
61
|
|
|
62
62
|
private final ReactInstanceManager mReactInstanceManager;
|
|
63
63
|
private final DefaultHardwareBackBtnHandler mHardwareBackBtnHandler;
|
|
@@ -37,7 +37,7 @@ import javax.inject.Provider;
|
|
|
37
37
|
JSCHeapCapture.class,
|
|
38
38
|
})
|
|
39
39
|
/* package */
|
|
40
|
-
public class DebugCorePackage extends
|
|
40
|
+
public class DebugCorePackage extends BaseReactPackage implements ViewManagerOnDemandReactPackage {
|
|
41
41
|
private @Nullable Map<String, ModuleSpec> mViewManagers;
|
|
42
42
|
|
|
43
43
|
public DebugCorePackage() {}
|
|
@@ -14,10 +14,12 @@ import android.content.Context;
|
|
|
14
14
|
import android.content.Intent;
|
|
15
15
|
import android.os.IBinder;
|
|
16
16
|
import android.os.PowerManager;
|
|
17
|
+
import androidx.annotation.NonNull;
|
|
17
18
|
import androidx.annotation.Nullable;
|
|
18
19
|
import com.facebook.infer.annotation.Assertions;
|
|
19
20
|
import com.facebook.react.bridge.ReactContext;
|
|
20
21
|
import com.facebook.react.bridge.UiThreadUtil;
|
|
22
|
+
import com.facebook.react.config.ReactFeatureFlags;
|
|
21
23
|
import com.facebook.react.jstasks.HeadlessJsTaskConfig;
|
|
22
24
|
import com.facebook.react.jstasks.HeadlessJsTaskContext;
|
|
23
25
|
import com.facebook.react.jstasks.HeadlessJsTaskEventListener;
|
|
@@ -94,19 +96,11 @@ public abstract class HeadlessJsTaskService extends Service implements HeadlessJ
|
|
|
94
96
|
protected void startTask(final HeadlessJsTaskConfig taskConfig) {
|
|
95
97
|
UiThreadUtil.assertOnUiThread();
|
|
96
98
|
acquireWakeLockNow(this);
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
99
|
+
|
|
100
|
+
ReactContext reactContext = getReactContext();
|
|
101
|
+
|
|
100
102
|
if (reactContext == null) {
|
|
101
|
-
|
|
102
|
-
new ReactInstanceEventListener() {
|
|
103
|
-
@Override
|
|
104
|
-
public void onReactContextInitialized(ReactContext reactContext) {
|
|
105
|
-
invokeStartTask(reactContext, taskConfig);
|
|
106
|
-
reactInstanceManager.removeReactInstanceEventListener(this);
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
reactInstanceManager.createReactContextInBackground();
|
|
103
|
+
createReactContextAndScheduleTask(taskConfig);
|
|
110
104
|
} else {
|
|
111
105
|
invokeStartTask(reactContext, taskConfig);
|
|
112
106
|
}
|
|
@@ -166,4 +160,54 @@ public abstract class HeadlessJsTaskService extends Service implements HeadlessJ
|
|
|
166
160
|
protected ReactNativeHost getReactNativeHost() {
|
|
167
161
|
return ((ReactApplication) getApplication()).getReactNativeHost();
|
|
168
162
|
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Get the {@link ReactHost} used by this app. By default, assumes {@link #getApplication()} is an
|
|
166
|
+
* instance of {@link ReactApplication} and calls {@link ReactApplication#getReactHost()}. This
|
|
167
|
+
* method assumes it is called in new architecture and returns null if not.
|
|
168
|
+
*/
|
|
169
|
+
protected @Nullable ReactHost getReactHost() {
|
|
170
|
+
return ((ReactApplication) getApplication()).getReactHost();
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
protected ReactContext getReactContext() {
|
|
174
|
+
if (ReactFeatureFlags.enableBridgelessArchitecture) {
|
|
175
|
+
ReactHost reactHost = getReactHost();
|
|
176
|
+
Assertions.assertNotNull(reactHost, "getReactHost() is null in New Architecture");
|
|
177
|
+
return reactHost.getCurrentReactContext();
|
|
178
|
+
} else {
|
|
179
|
+
final ReactInstanceManager reactInstanceManager =
|
|
180
|
+
getReactNativeHost().getReactInstanceManager();
|
|
181
|
+
return reactInstanceManager.getCurrentReactContext();
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
private void createReactContextAndScheduleTask(final HeadlessJsTaskConfig taskConfig) {
|
|
186
|
+
final ReactHost reactHost = getReactHost();
|
|
187
|
+
|
|
188
|
+
if (reactHost == null) { // old arch
|
|
189
|
+
final ReactInstanceManager reactInstanceManager =
|
|
190
|
+
getReactNativeHost().getReactInstanceManager();
|
|
191
|
+
|
|
192
|
+
reactInstanceManager.addReactInstanceEventListener(
|
|
193
|
+
new ReactInstanceEventListener() {
|
|
194
|
+
@Override
|
|
195
|
+
public void onReactContextInitialized(@NonNull ReactContext reactContext) {
|
|
196
|
+
invokeStartTask(reactContext, taskConfig);
|
|
197
|
+
reactInstanceManager.removeReactInstanceEventListener(this);
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
reactInstanceManager.createReactContextInBackground();
|
|
201
|
+
} else { // new arch
|
|
202
|
+
reactHost.addReactInstanceEventListener(
|
|
203
|
+
new ReactInstanceEventListener() {
|
|
204
|
+
@Override
|
|
205
|
+
public void onReactContextInitialized(@NonNull ReactContext reactContext) {
|
|
206
|
+
invokeStartTask(reactContext, taskConfig);
|
|
207
|
+
reactHost.removeReactInstanceEventListener(this);
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
reactHost.start();
|
|
211
|
+
}
|
|
212
|
+
}
|
|
169
213
|
}
|
|
@@ -113,6 +113,12 @@ public abstract class ReactActivity extends AppCompatActivity
|
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
+
@Override
|
|
117
|
+
public void onUserLeaveHint() {
|
|
118
|
+
super.onUserLeaveHint();
|
|
119
|
+
mDelegate.onUserLeaveHint();
|
|
120
|
+
}
|
|
121
|
+
|
|
116
122
|
@Override
|
|
117
123
|
public void requestPermissions(
|
|
118
124
|
String[] permissions, int requestCode, PermissionListener listener) {
|
|
@@ -70,7 +70,7 @@ public class ReactActivityDelegate {
|
|
|
70
70
|
*
|
|
71
71
|
* <p>Not used on bridgeless
|
|
72
72
|
*/
|
|
73
|
-
protected ReactRootView createRootView() {
|
|
73
|
+
protected @Nullable ReactRootView createRootView() {
|
|
74
74
|
return null;
|
|
75
75
|
}
|
|
76
76
|
|
|
@@ -138,6 +138,12 @@ public class ReactActivityDelegate {
|
|
|
138
138
|
getPlainActivity().setContentView(mReactDelegate.getReactRootView());
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
+
public void onUserLeaveHint() {
|
|
142
|
+
if (mReactDelegate != null) {
|
|
143
|
+
mReactDelegate.onUserLeaveHint();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
141
147
|
public void onPause() {
|
|
142
148
|
mReactDelegate.onHostPause();
|
|
143
149
|
}
|
|
@@ -122,6 +122,16 @@ public class ReactDelegate {
|
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
+
public void onUserLeaveHint() {
|
|
126
|
+
if (ReactFeatureFlags.enableBridgelessArchitecture) {
|
|
127
|
+
mReactHost.onHostLeaveHint(mActivity);
|
|
128
|
+
} else {
|
|
129
|
+
if (getReactNativeHost().hasInstance()) {
|
|
130
|
+
getReactNativeHost().getReactInstanceManager().onUserLeaveHint(mActivity);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
125
135
|
public void onHostPause() {
|
|
126
136
|
if (ReactFeatureFlags.enableBridgelessArchitecture) {
|
|
127
137
|
mReactHost.onHostPause(mActivity);
|
|
@@ -45,9 +45,6 @@ public interface ReactHost {
|
|
|
45
45
|
/** [ReactQueueConfiguration] for caller to post jobs in React Native threads */
|
|
46
46
|
public val reactQueueConfiguration: ReactQueueConfiguration?
|
|
47
47
|
|
|
48
|
-
/** [JSEngineResolutionAlgorithm] used by this host. */
|
|
49
|
-
public var jsEngineResolutionAlgorithm: JSEngineResolutionAlgorithm?
|
|
50
|
-
|
|
51
48
|
/** Routes memory pressure events to interested components */
|
|
52
49
|
public val memoryPressureRouter: MemoryPressureRouter
|
|
53
50
|
|
|
@@ -64,6 +61,12 @@ public interface ReactHost {
|
|
|
64
61
|
/** To be called when the host activity is resumed. */
|
|
65
62
|
public fun onHostResume(activity: Activity?)
|
|
66
63
|
|
|
64
|
+
/**
|
|
65
|
+
* To be called when the host activity is about to go into the background as the result of user
|
|
66
|
+
* choice.
|
|
67
|
+
*/
|
|
68
|
+
public fun onHostLeaveHint(activity: Activity?)
|
|
69
|
+
|
|
67
70
|
/** To be called when the host activity is paused. */
|
|
68
71
|
public fun onHostPause(activity: Activity?)
|
|
69
72
|
|
|
@@ -115,6 +118,20 @@ public interface ReactHost {
|
|
|
115
118
|
*/
|
|
116
119
|
public fun destroy(reason: String, ex: Exception?): TaskInterface<Void>
|
|
117
120
|
|
|
121
|
+
/**
|
|
122
|
+
* Permanently destroys the ReactHost, including the ReactInstance (if any). The application MUST
|
|
123
|
+
* NOT call any further methods on an invalidated ReactHost.
|
|
124
|
+
*
|
|
125
|
+
* Applications where the ReactHost may be destroyed before the end of the process SHOULD call
|
|
126
|
+
* invalidate() before releasing the reference to the ReactHost, to ensure resources are freed in
|
|
127
|
+
* a timely manner.
|
|
128
|
+
*
|
|
129
|
+
* NOTE: This method is designed for complex integrations. Integrators MAY instead hold a
|
|
130
|
+
* long-lived reference to a single ReactHost for the lifetime of the Application, without ever
|
|
131
|
+
* calling invalidate(). This is explicitly allowed.
|
|
132
|
+
*/
|
|
133
|
+
public fun invalidate()
|
|
134
|
+
|
|
118
135
|
/* To be called when the host activity receives an activity result. */
|
|
119
136
|
public fun onActivityResult(
|
|
120
137
|
activity: Activity,
|
|
@@ -134,4 +151,10 @@ public interface ReactHost {
|
|
|
134
151
|
public fun addBeforeDestroyListener(onBeforeDestroy: () -> Unit)
|
|
135
152
|
|
|
136
153
|
public fun removeBeforeDestroyListener(onBeforeDestroy: () -> Unit)
|
|
154
|
+
|
|
155
|
+
/** Add a listener to be notified of ReactInstance events. */
|
|
156
|
+
public fun addReactInstanceEventListener(listener: ReactInstanceEventListener)
|
|
157
|
+
|
|
158
|
+
/** Remove a listener previously added with {@link #addReactInstanceEventListener}. */
|
|
159
|
+
public fun removeReactInstanceEventListener(listener: ReactInstanceEventListener)
|
|
137
160
|
}
|
|
@@ -84,6 +84,8 @@ import com.facebook.react.config.ReactFeatureFlags;
|
|
|
84
84
|
import com.facebook.react.devsupport.DevSupportManagerFactory;
|
|
85
85
|
import com.facebook.react.devsupport.InspectorFlags;
|
|
86
86
|
import com.facebook.react.devsupport.ReactInstanceDevHelper;
|
|
87
|
+
import com.facebook.react.devsupport.inspector.InspectorNetworkHelper;
|
|
88
|
+
import com.facebook.react.devsupport.inspector.InspectorNetworkRequestListener;
|
|
87
89
|
import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener;
|
|
88
90
|
import com.facebook.react.devsupport.interfaces.DevLoadingViewManager;
|
|
89
91
|
import com.facebook.react.devsupport.interfaces.DevSupportManager;
|
|
@@ -102,6 +104,7 @@ import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
|
|
|
102
104
|
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
|
103
105
|
import com.facebook.react.modules.core.ReactChoreographer;
|
|
104
106
|
import com.facebook.react.modules.debug.interfaces.DeveloperSettings;
|
|
107
|
+
import com.facebook.react.modules.systeminfo.AndroidInfoHelpers;
|
|
105
108
|
import com.facebook.react.packagerconnection.RequestHandler;
|
|
106
109
|
import com.facebook.react.uimanager.DisplayMetricsHolder;
|
|
107
110
|
import com.facebook.react.uimanager.ReactRoot;
|
|
@@ -113,6 +116,7 @@ import com.facebook.react.views.imagehelper.ResourceDrawableIdHelper;
|
|
|
113
116
|
import com.facebook.soloader.SoLoader;
|
|
114
117
|
import com.facebook.systrace.Systrace;
|
|
115
118
|
import com.facebook.systrace.SystraceMessage;
|
|
119
|
+
import java.lang.ref.WeakReference;
|
|
116
120
|
import java.lang.reflect.Method;
|
|
117
121
|
import java.util.ArrayList;
|
|
118
122
|
import java.util.Collection;
|
|
@@ -196,6 +200,7 @@ public class ReactInstanceManager {
|
|
|
196
200
|
private final @Nullable ReactPackageTurboModuleManagerDelegate.Builder mTMMDelegateBuilder;
|
|
197
201
|
private List<ViewManager> mViewManagers;
|
|
198
202
|
private boolean mUseFallbackBundle = true;
|
|
203
|
+
private volatile boolean mInstanceManagerInvalidated = false;
|
|
199
204
|
|
|
200
205
|
private class ReactContextInitParams {
|
|
201
206
|
private final JavaScriptExecutorFactory mJsExecutorFactory;
|
|
@@ -462,7 +467,6 @@ public class ReactInstanceManager {
|
|
|
462
467
|
|
|
463
468
|
if (mUseDeveloperSupport && mJSMainModulePath != null) {
|
|
464
469
|
final DeveloperSettings devSettings = mDevSupportManager.getDevSettings();
|
|
465
|
-
|
|
466
470
|
if (!Systrace.isTracing(TRACE_TAG_REACT_APPS | TRACE_TAG_REACT_JS_VM_CALLS)) {
|
|
467
471
|
if (mBundleLoader == null) {
|
|
468
472
|
mDevSupportManager.handleReloadJS();
|
|
@@ -473,6 +477,11 @@ public class ReactInstanceManager {
|
|
|
473
477
|
public void onPackagerStatusFetched(final boolean packagerIsRunning) {
|
|
474
478
|
UiThreadUtil.runOnUiThread(
|
|
475
479
|
() -> {
|
|
480
|
+
// ReactInstanceManager is no longer valid, ignore callback
|
|
481
|
+
if (mInstanceManagerInvalidated) {
|
|
482
|
+
return;
|
|
483
|
+
}
|
|
484
|
+
|
|
476
485
|
if (packagerIsRunning) {
|
|
477
486
|
mDevSupportManager.handleReloadJS();
|
|
478
487
|
} else if (mDevSupportManager.hasUpToDateJSBundleInCache()
|
|
@@ -595,6 +604,25 @@ public class ReactInstanceManager {
|
|
|
595
604
|
moveToBeforeResumeLifecycleState();
|
|
596
605
|
}
|
|
597
606
|
|
|
607
|
+
/**
|
|
608
|
+
* This method should be called from {@link Activity#onUserLeaveHint()}. It notifies all listening
|
|
609
|
+
* modules that the user is about to leave the activity. The passed Activity is has to be the
|
|
610
|
+
* current Activity.
|
|
611
|
+
*
|
|
612
|
+
* @param activity the activity being backgrounded as a result of user action
|
|
613
|
+
*/
|
|
614
|
+
@ThreadConfined(UI)
|
|
615
|
+
public void onUserLeaveHint(@Nullable Activity activity) {
|
|
616
|
+
if (mCurrentActivity != null && activity == mCurrentActivity) {
|
|
617
|
+
UiThreadUtil.assertOnUiThread();
|
|
618
|
+
|
|
619
|
+
ReactContext currentContext = getCurrentReactContext();
|
|
620
|
+
if (currentContext != null) {
|
|
621
|
+
currentContext.onUserLeaveHint(activity);
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
|
|
598
626
|
/**
|
|
599
627
|
* Call this from {@link Activity#onPause()}. This notifies any listening modules so they can do
|
|
600
628
|
* any necessary cleanup. The passed Activity is the current Activity being paused. This will
|
|
@@ -780,10 +808,13 @@ public class ReactInstanceManager {
|
|
|
780
808
|
}
|
|
781
809
|
}
|
|
782
810
|
|
|
783
|
-
// If the host
|
|
811
|
+
// If the host has been invalidated, now that the current context/instance
|
|
784
812
|
// has been destroyed, we can safely destroy the host's inspector target.
|
|
785
|
-
if (
|
|
786
|
-
|
|
813
|
+
if (mInstanceManagerInvalidated) {
|
|
814
|
+
if (mInspectorTarget != null) {
|
|
815
|
+
mInspectorTarget.close();
|
|
816
|
+
mInspectorTarget = null;
|
|
817
|
+
}
|
|
787
818
|
}
|
|
788
819
|
|
|
789
820
|
mHasStartedCreatingInitialContext = false;
|
|
@@ -839,10 +870,6 @@ public class ReactInstanceManager {
|
|
|
839
870
|
if (mLifecycleState == LifecycleState.BEFORE_RESUME) {
|
|
840
871
|
currentContext.onHostDestroy(mKeepActivity);
|
|
841
872
|
}
|
|
842
|
-
} else {
|
|
843
|
-
// There's no current context that requires the host inspector target to
|
|
844
|
-
// be kept alive, so we can destroy it immediately.
|
|
845
|
-
destroyInspectorHostTarget();
|
|
846
873
|
}
|
|
847
874
|
mLifecycleState = LifecycleState.BEFORE_CREATE;
|
|
848
875
|
}
|
|
@@ -1083,6 +1110,25 @@ public class ReactInstanceManager {
|
|
|
1083
1110
|
return mJavaScriptExecutorFactory.toString();
|
|
1084
1111
|
}
|
|
1085
1112
|
|
|
1113
|
+
/**
|
|
1114
|
+
* Permanently destroys the ReactInstanceManager, including the CatalystInstance (if any). The
|
|
1115
|
+
* application MUST NOT call any further methods on an invalidated ReactInstanceManager.
|
|
1116
|
+
*
|
|
1117
|
+
* <p>Applications where the ReactInstanceManager may be destroyed before the end of the process
|
|
1118
|
+
* SHOULD call invalidate() before releasing the reference to the ReactInstanceManager, to ensure
|
|
1119
|
+
* resources are freed in a timely manner.
|
|
1120
|
+
*
|
|
1121
|
+
* <p>NOTE: This method is designed for complex integrations. Integrators MAY instead hold a
|
|
1122
|
+
* long-lived reference to a single ReactInstanceManager for the lifetime of the Application,
|
|
1123
|
+
* without ever calling invalidate(). This is explicitly allowed.
|
|
1124
|
+
*/
|
|
1125
|
+
@ThreadConfined(UI)
|
|
1126
|
+
public void invalidate() {
|
|
1127
|
+
FLog.d(ReactConstants.TAG, "ReactInstanceManager.invalidate()");
|
|
1128
|
+
mInstanceManagerInvalidated = true;
|
|
1129
|
+
destroy();
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1086
1132
|
@ThreadConfined(UI)
|
|
1087
1133
|
private void onReloadWithJSDebugger(JavaJSExecutor.Factory jsExecutorFactory) {
|
|
1088
1134
|
FLog.d(ReactConstants.TAG, "ReactInstanceManager.onReloadWithJSDebugger()");
|
|
@@ -1123,6 +1169,9 @@ public class ReactInstanceManager {
|
|
|
1123
1169
|
private void runCreateReactContextOnNewThread(final ReactContextInitParams initParams) {
|
|
1124
1170
|
FLog.d(ReactConstants.TAG, "ReactInstanceManager.runCreateReactContextOnNewThread()");
|
|
1125
1171
|
UiThreadUtil.assertOnUiThread();
|
|
1172
|
+
Assertions.assertCondition(
|
|
1173
|
+
!mInstanceManagerInvalidated,
|
|
1174
|
+
"Cannot create a new React context on an invalidated ReactInstanceManager");
|
|
1126
1175
|
|
|
1127
1176
|
// Mark start of bridge loading
|
|
1128
1177
|
ReactMarker.logMarker(ReactMarkerConstants.REACT_BRIDGE_LOADING_START);
|
|
@@ -1383,6 +1432,7 @@ public class ReactInstanceManager {
|
|
|
1383
1432
|
JavaScriptExecutor jsExecutor, JSBundleLoader jsBundleLoader) {
|
|
1384
1433
|
FLog.d(ReactConstants.TAG, "ReactInstanceManager.createReactContext()");
|
|
1385
1434
|
ReactMarker.logMarker(CREATE_REACT_CONTEXT_START, jsExecutor.getName());
|
|
1435
|
+
|
|
1386
1436
|
final BridgeReactContext reactContext = new BridgeReactContext(mApplicationContext);
|
|
1387
1437
|
|
|
1388
1438
|
JSExceptionHandler exceptionHandler =
|
|
@@ -1515,46 +1565,72 @@ public class ReactInstanceManager {
|
|
|
1515
1565
|
SystraceMessage.endSection(TRACE_TAG_REACT_JAVA_BRIDGE).flush();
|
|
1516
1566
|
}
|
|
1517
1567
|
|
|
1518
|
-
private
|
|
1519
|
-
|
|
1568
|
+
private static class InspectorTargetDelegateImpl
|
|
1569
|
+
implements ReactInstanceManagerInspectorTarget.TargetDelegate {
|
|
1570
|
+
// This weak reference breaks the cycle between the C++ HostTarget and the
|
|
1571
|
+
// Java ReactInstanceManager, preventing memory leaks in apps that create
|
|
1572
|
+
// multiple ReactInstanceManagers over time.
|
|
1573
|
+
private WeakReference<ReactInstanceManager> mReactInstanceManagerWeak;
|
|
1520
1574
|
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
@Override
|
|
1525
|
-
public void onReload() {
|
|
1526
|
-
UiThreadUtil.runOnUiThread(() -> mDevSupportManager.handleReloadJS());
|
|
1527
|
-
}
|
|
1575
|
+
public InspectorTargetDelegateImpl(ReactInstanceManager inspectorTarget) {
|
|
1576
|
+
mReactInstanceManagerWeak = new WeakReference<ReactInstanceManager>(inspectorTarget);
|
|
1577
|
+
}
|
|
1528
1578
|
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1579
|
+
@Override
|
|
1580
|
+
public Map<String, String> getMetadata() {
|
|
1581
|
+
ReactInstanceManager reactInstanceManager = mReactInstanceManagerWeak.get();
|
|
1582
|
+
|
|
1583
|
+
return AndroidInfoHelpers.getInspectorHostMetadata(
|
|
1584
|
+
reactInstanceManager != null ? reactInstanceManager.mApplicationContext : null);
|
|
1585
|
+
}
|
|
1586
|
+
|
|
1587
|
+
@Override
|
|
1588
|
+
public void onReload() {
|
|
1589
|
+
UiThreadUtil.runOnUiThread(
|
|
1590
|
+
() -> {
|
|
1591
|
+
ReactInstanceManager reactInstanceManager = mReactInstanceManagerWeak.get();
|
|
1592
|
+
if (reactInstanceManager != null) {
|
|
1593
|
+
reactInstanceManager.mDevSupportManager.handleReloadJS();
|
|
1594
|
+
}
|
|
1595
|
+
});
|
|
1596
|
+
}
|
|
1597
|
+
|
|
1598
|
+
@Override
|
|
1599
|
+
public void onSetPausedInDebuggerMessage(@Nullable String message) {
|
|
1600
|
+
ReactInstanceManager reactInstanceManager = mReactInstanceManagerWeak.get();
|
|
1601
|
+
if (reactInstanceManager == null) {
|
|
1602
|
+
return;
|
|
1603
|
+
}
|
|
1604
|
+
if (message == null) {
|
|
1605
|
+
reactInstanceManager.mDevSupportManager.hidePausedInDebuggerOverlay();
|
|
1606
|
+
} else {
|
|
1607
|
+
reactInstanceManager.mDevSupportManager.showPausedInDebuggerOverlay(
|
|
1608
|
+
message,
|
|
1609
|
+
new PausedInDebuggerOverlayCommandListener() {
|
|
1610
|
+
@Override
|
|
1611
|
+
public void onResume() {
|
|
1612
|
+
UiThreadUtil.assertOnUiThread();
|
|
1613
|
+
if (reactInstanceManager.mInspectorTarget != null) {
|
|
1614
|
+
reactInstanceManager.mInspectorTarget.sendDebuggerResumeCommand();
|
|
1546
1615
|
}
|
|
1547
|
-
}
|
|
1616
|
+
}
|
|
1617
|
+
});
|
|
1618
|
+
}
|
|
1548
1619
|
}
|
|
1549
1620
|
|
|
1550
|
-
|
|
1621
|
+
@Override
|
|
1622
|
+
public void loadNetworkResource(String url, InspectorNetworkRequestListener listener) {
|
|
1623
|
+
InspectorNetworkHelper.loadNetworkResource(url, listener);
|
|
1624
|
+
}
|
|
1551
1625
|
}
|
|
1552
1626
|
|
|
1553
|
-
@
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
mInspectorTarget
|
|
1557
|
-
|
|
1627
|
+
private @Nullable ReactInstanceManagerInspectorTarget getOrCreateInspectorTarget() {
|
|
1628
|
+
if (mInspectorTarget == null && InspectorFlags.getFuseboxEnabled()) {
|
|
1629
|
+
|
|
1630
|
+
mInspectorTarget =
|
|
1631
|
+
new ReactInstanceManagerInspectorTarget(new InspectorTargetDelegateImpl(this));
|
|
1558
1632
|
}
|
|
1633
|
+
|
|
1634
|
+
return mInspectorTarget;
|
|
1559
1635
|
}
|
|
1560
1636
|
}
|
|
@@ -43,8 +43,14 @@ public abstract class ReactNativeHost {
|
|
|
43
43
|
mApplication = application;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
/**
|
|
47
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Get the current {@link ReactInstanceManager} instance, or create one.
|
|
48
|
+
*
|
|
49
|
+
* <p>NOTE: Care must be taken when storing this reference outside of the ReactNativeHost
|
|
50
|
+
* lifecycle. The ReactInstanceManager will be invalidated during {@link #clear()}, and may not be
|
|
51
|
+
* used again afterwards.
|
|
52
|
+
*/
|
|
53
|
+
public synchronized ReactInstanceManager getReactInstanceManager() {
|
|
48
54
|
if (mReactInstanceManager == null) {
|
|
49
55
|
ReactMarker.logMarker(ReactMarkerConstants.INIT_REACT_RUNTIME_START);
|
|
50
56
|
ReactMarker.logMarker(ReactMarkerConstants.GET_REACT_INSTANCE_MANAGER_START);
|
|
@@ -59,16 +65,17 @@ public abstract class ReactNativeHost {
|
|
|
59
65
|
* {@link #getReactInstanceManager()} has been called at least once since this object was created
|
|
60
66
|
* or {@link #clear()} was called.
|
|
61
67
|
*/
|
|
62
|
-
public boolean hasInstance() {
|
|
68
|
+
public synchronized boolean hasInstance() {
|
|
63
69
|
return mReactInstanceManager != null;
|
|
64
70
|
}
|
|
65
71
|
|
|
66
72
|
/**
|
|
67
|
-
* Destroy the current instance and
|
|
73
|
+
* Destroy the current instance and invalidate the internal ReactInstanceManager, reclaiming its
|
|
74
|
+
* resources and preventing it from being reused.
|
|
68
75
|
*/
|
|
69
|
-
public void clear() {
|
|
76
|
+
public synchronized void clear() {
|
|
70
77
|
if (mReactInstanceManager != null) {
|
|
71
|
-
mReactInstanceManager.
|
|
78
|
+
mReactInstanceManager.invalidate();
|
|
72
79
|
mReactInstanceManager = null;
|
|
73
80
|
}
|
|
74
81
|
}
|
package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java
CHANGED
|
@@ -15,6 +15,7 @@ import com.facebook.react.bridge.ModuleSpec;
|
|
|
15
15
|
import com.facebook.react.bridge.NativeModule;
|
|
16
16
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
17
17
|
import com.facebook.react.config.ReactFeatureFlags;
|
|
18
|
+
import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
|
|
18
19
|
import com.facebook.react.internal.turbomodule.core.TurboModuleManagerDelegate;
|
|
19
20
|
import com.facebook.react.module.annotations.ReactModule;
|
|
20
21
|
import com.facebook.react.module.model.ReactModuleInfo;
|
|
@@ -37,14 +38,7 @@ public abstract class ReactPackageTurboModuleManagerDelegate extends TurboModule
|
|
|
37
38
|
|
|
38
39
|
private final boolean mShouldEnableLegacyModuleInterop =
|
|
39
40
|
ReactFeatureFlags.enableBridgelessArchitecture
|
|
40
|
-
&&
|
|
41
|
-
|
|
42
|
-
private final boolean mShouldRouteTurboModulesThroughLegacyModuleInterop =
|
|
43
|
-
mShouldEnableLegacyModuleInterop
|
|
44
|
-
&& ReactFeatureFlags.unstable_useTurboModuleInteropForAllTurboModules;
|
|
45
|
-
|
|
46
|
-
private final boolean mEnableTurboModuleSyncVoidMethods =
|
|
47
|
-
ReactFeatureFlags.unstable_enableTurboModuleSyncVoidMethods;
|
|
41
|
+
&& ReactNativeFeatureFlags.useTurboModuleInterop();
|
|
48
42
|
|
|
49
43
|
// Lazy Props
|
|
50
44
|
private List<ReactPackage> mPackages;
|
|
@@ -147,15 +141,6 @@ public abstract class ReactPackageTurboModuleManagerDelegate extends TurboModule
|
|
|
147
141
|
return mShouldEnableLegacyModuleInterop;
|
|
148
142
|
}
|
|
149
143
|
|
|
150
|
-
@Override
|
|
151
|
-
public boolean unstable_shouldRouteTurboModulesThroughLegacyModuleInterop() {
|
|
152
|
-
return mShouldRouteTurboModulesThroughLegacyModuleInterop;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
public boolean unstable_enableSyncVoidMethods() {
|
|
156
|
-
return mEnableTurboModuleSyncVoidMethods;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
144
|
@Nullable
|
|
160
145
|
@Override
|
|
161
146
|
public TurboModule getModule(String moduleName) {
|
|
@@ -49,6 +49,7 @@ import com.facebook.react.bridge.WritableMap;
|
|
|
49
49
|
import com.facebook.react.bridge.WritableNativeMap;
|
|
50
50
|
import com.facebook.react.common.annotations.VisibleForTesting;
|
|
51
51
|
import com.facebook.react.config.ReactFeatureFlags;
|
|
52
|
+
import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
|
|
52
53
|
import com.facebook.react.modules.appregistry.AppRegistry;
|
|
53
54
|
import com.facebook.react.modules.deviceinfo.DeviceInfoModule;
|
|
54
55
|
import com.facebook.react.uimanager.DisplayMetricsHolder;
|
|
@@ -360,7 +361,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
360
361
|
EventDispatcher eventDispatcher =
|
|
361
362
|
UIManagerHelper.getEventDispatcher(getCurrentReactContext(), getUIManagerType());
|
|
362
363
|
if (eventDispatcher != null) {
|
|
363
|
-
mJSTouchDispatcher.handleTouchEvent(event, eventDispatcher);
|
|
364
|
+
mJSTouchDispatcher.handleTouchEvent(event, eventDispatcher, getCurrentReactContext());
|
|
364
365
|
}
|
|
365
366
|
}
|
|
366
367
|
|
|
@@ -479,7 +480,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
479
480
|
mReactInstanceManager.createReactContextInBackground();
|
|
480
481
|
// if in this experiment, we initialize the root earlier in startReactApplication
|
|
481
482
|
// instead of waiting for the initial measure
|
|
482
|
-
if (
|
|
483
|
+
if (ReactNativeFeatureFlags.enableEagerRootViewAttachment()) {
|
|
483
484
|
if (!mWasMeasured) {
|
|
484
485
|
// Ideally, those values will be used by default, but we only update them here to scope
|
|
485
486
|
// this change to `enableEagerRootViewAttachment` experiment.
|
|
@@ -824,6 +825,9 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
824
825
|
|
|
825
826
|
@Nullable
|
|
826
827
|
public ReactContext getCurrentReactContext() {
|
|
828
|
+
if (mReactInstanceManager == null) {
|
|
829
|
+
return null;
|
|
830
|
+
}
|
|
827
831
|
return mReactInstanceManager.getCurrentReactContext();
|
|
828
832
|
}
|
|
829
833
|
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
package com.facebook.react.animated
|
|
9
|
+
|
|
10
|
+
import com.facebook.react.bridge.JSApplicationCausedNativeException
|
|
11
|
+
import com.facebook.react.bridge.ReadableMap
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Animated node that plays a role of value aggregator. It takes two or more value nodes as an input
|
|
15
|
+
* and outputs a sum of values outputted by those nodes.
|
|
16
|
+
*/
|
|
17
|
+
internal class AdditionAnimatedNode(
|
|
18
|
+
config: ReadableMap,
|
|
19
|
+
private val nativeAnimatedNodesManager: NativeAnimatedNodesManager
|
|
20
|
+
) : ValueAnimatedNode() {
|
|
21
|
+
|
|
22
|
+
private val inputNodes: IntArray
|
|
23
|
+
|
|
24
|
+
init {
|
|
25
|
+
val input = config.getArray("input")
|
|
26
|
+
inputNodes =
|
|
27
|
+
if (input == null) {
|
|
28
|
+
IntArray(0)
|
|
29
|
+
} else {
|
|
30
|
+
IntArray(input.size()) { i -> input.getInt(i) }
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
override fun update() {
|
|
35
|
+
nodeValue = 0.0
|
|
36
|
+
nodeValue +=
|
|
37
|
+
inputNodes.fold(
|
|
38
|
+
0.0,
|
|
39
|
+
{ acc, id ->
|
|
40
|
+
val animatedNode = nativeAnimatedNodesManager.getNodeById(id)
|
|
41
|
+
if (animatedNode is ValueAnimatedNode) {
|
|
42
|
+
acc + animatedNode.getValue()
|
|
43
|
+
} else {
|
|
44
|
+
throw JSApplicationCausedNativeException(
|
|
45
|
+
"Illegal node ID set as an input for Animated.Add node")
|
|
46
|
+
}
|
|
47
|
+
})
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
override fun prettyPrint(): String =
|
|
51
|
+
"AdditionAnimatedNode[${tag}]: input nodes: ${inputNodes.joinToString()} - super: ${super.prettyPrint()}"
|
|
52
|
+
}
|