react-native-tvos 0.75.3-0 → 0.76.0-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +10 -5
- package/Libraries/AppDelegate/RCTAppDelegate.mm +24 -50
- package/Libraries/AppDelegate/RCTRootViewFactory.h +5 -23
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +21 -26
- 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/RCTFileReaderModule.mm +4 -3
- 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/Keyboard/KeyboardAvoidingView.js +17 -0
- package/Libraries/Components/Pressable/Pressable.js +3 -36
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +1 -1
- package/Libraries/Components/ScrollView/ScrollView.js +132 -171
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +3 -0
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +3 -1
- package/Libraries/Components/TV/TVTextScrollView.js +1 -1
- package/Libraries/Components/TV/TVViewPropTypes.js +1 -0
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
- package/Libraries/Components/TextInput/TextInput.d.ts +32 -2
- package/Libraries/Components/TextInput/TextInput.js +230 -94
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +23 -1
- 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/setUpDeveloperTools.js +5 -1
- package/Libraries/Core/setUpErrorHandling.js +7 -1
- package/Libraries/Core/setUpGlobals.js +1 -0
- package/Libraries/Core/setUpReactRefresh.js +0 -4
- 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 -1
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +17 -1
- package/Libraries/NativeComponent/NativeComponentRegistry.js +22 -22
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -21
- package/Libraries/NativeComponent/TVViewConfig.js +4 -0
- 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/Pressability/Pressability.js +37 -0
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
- package/Libraries/ReactNative/AppContainer-dev.js +1 -5
- 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 +26 -4
- package/Libraries/ReactNative/getNativeComponentAttributes.js +12 -0
- package/Libraries/ReactNative/renderApplication.js +0 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.js +11 -4
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +152 -2
- package/Libraries/StyleSheet/StyleSheetTypes.js +60 -5
- package/Libraries/StyleSheet/processBackgroundImage.js +384 -0
- package/Libraries/StyleSheet/processBoxShadow.js +209 -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/DevLoadingView.js +2 -4
- package/Libraries/Utilities/HMRClient.js +8 -6
- 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/WebSocket/WebSocket.js +1 -1
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.js +6 -5
- package/README.md +38 -26
- 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 +15 -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/RCTPullToRefreshViewComponentView.mm +24 -2
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +9 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +160 -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 +29 -17
- 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 +64 -8
- package/React/Views/RefreshControl/RCTRefreshControl.m +18 -0
- package/React/Views/ScrollView/RCTScrollView.m +20 -0
- package/React-Core.podspec +4 -1
- package/ReactAndroid/api/ReactAndroid.api +624 -268
- package/ReactAndroid/build.gradle.kts +109 -278
- package/ReactAndroid/cmake-utils/ReactNative-application.cmake +10 -55
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/hermes-engine/build.gradle.kts +1 -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 +6 -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 -3
- package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +37 -4
- 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 +179 -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 +29 -10
- 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 -38
- 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/flipper/ReactNativeFlipper.kt +2 -2
- 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/jstasks/HeadlessJsTaskContext.java +13 -14
- 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/DevMenuModule.kt +46 -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 +1 -0
- 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/BridgelessReactContext.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java +7 -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 +222 -184
- 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/soloader/OpenSourceMergedSoMapping.kt +119 -0
- 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 +41 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +4 -1
- 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 +151 -83
- 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 +1 -1
- 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 +80 -99
- 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 +87 -26
- 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 +158 -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/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/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 +1 -22
- package/ReactCommon/react/renderer/animations/utils.h +45 -0
- 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 +115 -75
- 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 +9 -4
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.mm +18 -7
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +5 -0
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +33 -52
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +6 -3
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +10 -10
- 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/cli.js +23 -5
- package/flow/jest.js +2 -2
- package/gradle/libs.versions.toml +5 -5
- package/index.js +3 -1
- 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 +15 -16
- package/react-native.config.js +26 -5
- package/scripts/bundle.js +5 -2
- package/scripts/cocoapods/helpers.rb +73 -6
- package/scripts/cocoapods/new_architecture.rb +17 -3
- package/scripts/cocoapods/privacy_manifest_utils.rb +23 -8
- package/scripts/cocoapods/utils.rb +30 -18
- package/scripts/ios-configure-glog.sh +2 -0
- package/scripts/react-native-xcode.sh +3 -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 -16
- package/sdks/hermes-engine/utils/build-ios-framework.sh +20 -5
- 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/hermesc/win64-bin/msvcp140.dll +0 -0
- package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
- package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -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 +29 -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 +12 -98
- 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/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
|
@@ -27,6 +27,7 @@ import com.facebook.react.modules.core.DeviceEventManagerModule;
|
|
|
27
27
|
import com.facebook.react.modules.core.ExceptionsManagerModule;
|
|
28
28
|
import com.facebook.react.modules.core.HeadlessJsTaskSupportModule;
|
|
29
29
|
import com.facebook.react.modules.core.TimingModule;
|
|
30
|
+
import com.facebook.react.modules.debug.DevMenuModule;
|
|
30
31
|
import com.facebook.react.modules.debug.DevSettingsModule;
|
|
31
32
|
import com.facebook.react.modules.debug.SourceCodeModule;
|
|
32
33
|
import com.facebook.react.modules.deviceinfo.DeviceInfoModule;
|
|
@@ -49,6 +50,7 @@ import java.util.Map;
|
|
|
49
50
|
AndroidInfoModule.class,
|
|
50
51
|
DeviceEventManagerModule.class,
|
|
51
52
|
DeviceInfoModule.class,
|
|
53
|
+
DevMenuModule.class,
|
|
52
54
|
DevSettingsModule.class,
|
|
53
55
|
ExceptionsManagerModule.class,
|
|
54
56
|
LogBoxModule.class,
|
|
@@ -57,7 +59,7 @@ import java.util.Map;
|
|
|
57
59
|
TimingModule.class,
|
|
58
60
|
UIManagerModule.class,
|
|
59
61
|
})
|
|
60
|
-
class CoreModulesPackage extends
|
|
62
|
+
class CoreModulesPackage extends BaseReactPackage implements ReactPackageLogger {
|
|
61
63
|
|
|
62
64
|
private final ReactInstanceManager mReactInstanceManager;
|
|
63
65
|
private final DefaultHardwareBackBtnHandler mHardwareBackBtnHandler;
|
|
@@ -108,6 +110,7 @@ class CoreModulesPackage extends TurboReactPackage implements ReactPackageLogger
|
|
|
108
110
|
AndroidInfoModule.class,
|
|
109
111
|
DeviceEventManagerModule.class,
|
|
110
112
|
DeviceInfoModule.class,
|
|
113
|
+
DevMenuModule.class,
|
|
111
114
|
DevSettingsModule.class,
|
|
112
115
|
ExceptionsManagerModule.class,
|
|
113
116
|
LogBoxModule.class,
|
|
@@ -142,6 +145,8 @@ class CoreModulesPackage extends TurboReactPackage implements ReactPackageLogger
|
|
|
142
145
|
return new AndroidInfoModule(reactContext);
|
|
143
146
|
case DeviceEventManagerModule.NAME:
|
|
144
147
|
return new DeviceEventManagerModule(reactContext, mHardwareBackBtnHandler);
|
|
148
|
+
case DevMenuModule.NAME:
|
|
149
|
+
return new DevMenuModule(reactContext, mReactInstanceManager.getDevSupportManager());
|
|
145
150
|
case DevSettingsModule.NAME:
|
|
146
151
|
return new DevSettingsModule(reactContext, mReactInstanceManager.getDevSupportManager());
|
|
147
152
|
case ExceptionsManagerModule.NAME:
|
|
@@ -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);
|
|
@@ -279,10 +289,7 @@ public class ReactDelegate {
|
|
|
279
289
|
// With Bridgeless enabled, create and start the surface
|
|
280
290
|
if (ReactFeatureFlags.enableBridgelessArchitecture) {
|
|
281
291
|
if (mReactSurface == null) {
|
|
282
|
-
// Create a ReactSurface
|
|
283
292
|
mReactSurface = mReactHost.createSurface(mActivity, appKey, mLaunchOptions);
|
|
284
|
-
// Set main Activity's content view
|
|
285
|
-
mActivity.setContentView(mReactSurface.getView());
|
|
286
293
|
}
|
|
287
294
|
mReactSurface.start();
|
|
288
295
|
} else {
|
|
@@ -17,6 +17,7 @@ import android.view.ViewGroup;
|
|
|
17
17
|
import androidx.annotation.NonNull;
|
|
18
18
|
import androidx.annotation.Nullable;
|
|
19
19
|
import androidx.fragment.app.Fragment;
|
|
20
|
+
import com.facebook.react.config.ReactFeatureFlags;
|
|
20
21
|
import com.facebook.react.modules.core.PermissionAwareActivity;
|
|
21
22
|
import com.facebook.react.modules.core.PermissionListener;
|
|
22
23
|
|
|
@@ -69,9 +70,15 @@ public class ReactFragment extends Fragment implements PermissionAwareActivity {
|
|
|
69
70
|
if (mainComponentName == null) {
|
|
70
71
|
throw new IllegalStateException("Cannot loadApp if component name is null");
|
|
71
72
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
if (ReactFeatureFlags.enableBridgelessArchitecture) {
|
|
74
|
+
mReactDelegate =
|
|
75
|
+
new ReactDelegate(
|
|
76
|
+
getActivity(), getReactHost(), mainComponentName, launchOptions);
|
|
77
|
+
} else {
|
|
78
|
+
mReactDelegate =
|
|
79
|
+
new ReactDelegate(
|
|
80
|
+
getActivity(), getReactNativeHost(), mainComponentName, launchOptions, fabricEnabled);
|
|
81
|
+
}
|
|
75
82
|
}
|
|
76
83
|
|
|
77
84
|
/**
|
|
@@ -81,8 +88,34 @@ public class ReactFragment extends Fragment implements PermissionAwareActivity {
|
|
|
81
88
|
* implement {@code ReactApplication} or you simply have a different mechanism for storing a
|
|
82
89
|
* {@code ReactNativeHost}, e.g. as a static field somewhere.
|
|
83
90
|
*/
|
|
91
|
+
@Nullable
|
|
84
92
|
protected ReactNativeHost getReactNativeHost() {
|
|
85
|
-
|
|
93
|
+
ReactApplication application = ((ReactApplication) getActivity().getApplication());
|
|
94
|
+
if (application != null) {
|
|
95
|
+
return application.getReactNativeHost();
|
|
96
|
+
} else {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Get the {@link ReactHost} used by this app. By default, assumes {@link
|
|
103
|
+
* Activity#getApplication()} is an instance of {@link ReactApplication} and calls {@link
|
|
104
|
+
* ReactApplication#getReactHost()}. Override this method if your application class does not
|
|
105
|
+
* implement {@code ReactApplication} or you simply have a different mechanism for storing a
|
|
106
|
+
* {@code ReactHost}, e.g. as a static field somewhere.
|
|
107
|
+
*
|
|
108
|
+
* <p>If you're using Old Architecture/Bridge Mode, this method should return null as {@link
|
|
109
|
+
* ReactHost} is a Bridgeless-only concept.
|
|
110
|
+
*/
|
|
111
|
+
@Nullable
|
|
112
|
+
protected ReactHost getReactHost() {
|
|
113
|
+
ReactApplication application = ((ReactApplication) getActivity().getApplication());
|
|
114
|
+
if (application != null) {
|
|
115
|
+
return application.getReactHost();
|
|
116
|
+
} else {
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
86
119
|
}
|
|
87
120
|
|
|
88
121
|
protected ReactDelegate getReactDelegate() {
|
|
@@ -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) {
|