react-native-tvos 0.75.2-0rc0 → 0.76.0-0rc0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Libraries/Alert/Alert.js +3 -0
- package/Libraries/Animated/AnimatedEvent.js +1 -1
- package/Libraries/Animated/AnimatedImplementation.js +7 -7
- package/Libraries/Animated/NativeAnimatedAllowlist.js +111 -0
- package/Libraries/Animated/animations/Animation.js +11 -1
- package/Libraries/Animated/animations/DecayAnimation.js +1 -1
- package/Libraries/Animated/animations/SpringAnimation.js +1 -1
- package/Libraries/Animated/animations/TimingAnimation.js +2 -1
- package/Libraries/Animated/components/AnimatedScrollView.js +3 -2
- package/Libraries/Animated/createAnimatedComponent.js +10 -9
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +3 -2
- package/Libraries/Animated/nodes/AnimatedNode.js +42 -33
- package/Libraries/Animated/nodes/AnimatedObject.js +56 -50
- package/Libraries/Animated/nodes/AnimatedProps.js +77 -40
- package/Libraries/Animated/nodes/AnimatedStyle.js +103 -59
- package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
- package/Libraries/Animated/nodes/AnimatedTransform.js +102 -67
- package/Libraries/Animated/nodes/AnimatedValue.js +2 -1
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +21 -22
- package/Libraries/Animated/useAnimatedProps.js +142 -7
- package/Libraries/AppDelegate/RCTAppDelegate.h +7 -5
- package/Libraries/AppDelegate/RCTAppDelegate.mm +2 -29
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -1
- package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -3
- package/Libraries/BatchedBridge/NativeModules.js +2 -0
- package/Libraries/Blob/FileReader.js +1 -1
- package/Libraries/Blob/URL.js +2 -62
- package/Libraries/Blob/URLSearchParams.js +71 -0
- package/Libraries/Blob/URLSearchParams.js.flow +23 -0
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
- package/Libraries/Components/Pressable/Pressable.js +5 -6
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +1 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +1 -1
- package/Libraries/Components/ScrollView/ScrollView.js +132 -171
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +3 -1
- package/Libraries/Components/TV/TVEventHandler.js +11 -6
- package/Libraries/Components/TV/TVFocusEventHandler.js +2 -1
- package/Libraries/Components/TV/TVFocusGuideView.js +16 -15
- package/Libraries/Components/TV/TVTextScrollView.js +11 -10
- package/Libraries/Components/TV/TVViewPropTypes.js +1 -1
- package/Libraries/Components/TV/tagForComponentOrHandle.js +13 -13
- package/Libraries/Components/TV/useTVEventHandler.js +7 -3
- package/Libraries/Components/TabBarIOS/RCTTabBarNativeComponent.js +3 -2
- package/Libraries/Components/TabBarIOS/TabBarIOS.ios.js +6 -55
- package/Libraries/Components/TabBarIOS/{TabBarIOS.android.js → TabBarIOS.js} +8 -5
- package/Libraries/Components/TabBarIOS/TabBarIOSProps.js +52 -0
- package/Libraries/Components/TabBarIOS/{TabBarItemIOS.android.js → TabBarItemIOS.js} +3 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +32 -2
- package/Libraries/Components/TextInput/TextInput.js +230 -94
- package/Libraries/Components/Touchable/TVTouchable.js +6 -5
- package/Libraries/Components/Touchable/Touchable.js +2 -3
- package/Libraries/Components/Touchable/TouchableBounce.js +2 -5
- package/Libraries/Components/Touchable/TouchableHighlight.js +3 -4
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -4
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +22 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +2 -0
- package/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
- package/Libraries/Components/View/ViewNativeComponent.js +5 -1
- package/Libraries/Components/View/ViewPropTypes.js +14 -0
- package/Libraries/Core/ExceptionsManager.js +2 -0
- package/Libraries/Core/InitializeCore.js +3 -1
- package/Libraries/Core/ReactFiberErrorDialog.js +3 -0
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/setUpErrorHandling.js +7 -1
- package/Libraries/Core/setUpGlobals.js +1 -0
- package/Libraries/Core/setUpReactRefresh.js +0 -4
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
- package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +3 -1
- package/Libraries/Image/AssetSourceResolver.js +28 -1
- package/Libraries/Image/Image.android.js +9 -14
- package/Libraries/Image/Image.ios.js +11 -22
- package/Libraries/Image/ImageBackground.js +1 -8
- package/Libraries/Image/ImageUtils.js +9 -9
- package/Libraries/Image/ImageViewNativeComponent.js +1 -0
- package/Libraries/Image/RCTImageLoader.mm +19 -10
- package/Libraries/Image/RCTImageView.mm +2 -2
- package/Libraries/Image/RCTResizeMode.h +28 -0
- package/Libraries/Image/React-RCTImage.podspec +1 -1
- package/Libraries/Inspector/Inspector.js +3 -2
- package/Libraries/Inspector/InspectorPanel.js +16 -10
- package/Libraries/Inspector/NetworkOverlay.js +1 -1
- package/Libraries/Interaction/TaskQueue.js +1 -0
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -0
- package/Libraries/Lists/FlatList.js +1 -1
- package/Libraries/Lists/SectionList.js +2 -2
- package/Libraries/Lists/SectionListModern.js +3 -3
- package/Libraries/LogBox/Data/LogBoxData.js +24 -3
- package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -2
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +9 -8
- package/Libraries/Modal/Modal.js +0 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +3 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +2 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +27 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +17 -1
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +9 -2
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -2
- package/Libraries/NativeComponent/NativeComponentRegistry.js +22 -22
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -21
- package/Libraries/NativeComponent/TVViewConfig.js +4 -1
- package/Libraries/Network/RCTNetworkTask.h +1 -1
- package/Libraries/Network/RCTNetworkTask.mm +13 -9
- package/Libraries/Network/RCTNetworking.mm +6 -0
- package/Libraries/Network/XMLHttpRequest.js +4 -2
- package/Libraries/NewAppScreen/components/DebugInstructions.js +7 -7
- package/Libraries/NewAppScreen/components/HermesBadge.js +3 -6
- package/Libraries/Pressability/Pressability.js +6 -3
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
- package/Libraries/ReactNative/AppContainer-dev.js +5 -8
- package/Libraries/ReactNative/AppContainer-prod.js +1 -5
- package/Libraries/ReactNative/AppContainer.js +0 -1
- package/Libraries/ReactNative/AppRegistry.js +0 -6
- package/Libraries/ReactNative/BridgelessUIManager.js +1 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +5 -5
- package/Libraries/ReactNative/RendererImplementation.js +28 -6
- package/Libraries/ReactNative/getNativeComponentAttributes.js +8 -0
- package/Libraries/ReactNative/renderApplication.js +0 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.js +12 -4
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +74 -15
- package/Libraries/StyleSheet/StyleSheetTypes.js +60 -5
- package/Libraries/StyleSheet/processBackgroundImage.js +384 -0
- package/Libraries/StyleSheet/processBoxShadow.js +211 -0
- package/Libraries/StyleSheet/processFilter.js +231 -42
- package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +1 -0
- package/Libraries/Text/RCTTextAttributes.h +1 -0
- package/Libraries/Text/RCTTextAttributes.mm +8 -0
- package/Libraries/Text/Text/RCTTextShadowView.mm +46 -0
- package/Libraries/Text/Text.js +394 -196
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +3 -1
- package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +20 -9
- package/Libraries/Text/TextNativeComponent.js +2 -1
- package/Libraries/TurboModule/TurboModuleRegistry.js +13 -50
- package/Libraries/Types/CodegenTypes.js +3 -1
- package/Libraries/Utilities/Appearance.js +108 -84
- package/Libraries/Utilities/BackHandler.ios.js +25 -23
- package/Libraries/Utilities/DevLoadingView.js +2 -4
- package/Libraries/Utilities/HMRClient.js +2 -1
- package/Libraries/Utilities/Platform.d.ts +1 -0
- package/Libraries/Utilities/Platform.flow.js +2 -0
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
- package/Libraries/Utilities/createPerformanceLogger.js +0 -9
- package/Libraries/Utilities/stringifyViewConfig.js +22 -0
- package/Libraries/Utilities/useColorScheme.js +3 -3
- package/Libraries/Vibration/Vibration.js +1 -1
- package/Libraries/WebSocket/WebSocket.js +1 -1
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.js +6 -5
- package/README-core.md +5 -5
- package/README.md +76 -41
- package/React/Base/RCTBridge.mm +20 -2
- package/React/Base/RCTBundleURLProvider.h +19 -0
- package/React/Base/RCTBundleURLProvider.mm +62 -8
- package/React/Base/RCTConvert.h +0 -3
- package/React/Base/RCTConvert.mm +0 -13
- package/React/Base/RCTKeyCommands.m +1 -2
- package/React/Base/RCTVersion.m +2 -2
- package/React/CoreModules/RCTAppearance.mm +5 -0
- package/React/CoreModules/RCTDevLoadingView.mm +5 -0
- package/React/CoreModules/RCTDevMenu.mm +1 -1
- package/React/CoreModules/RCTDeviceInfo.mm +13 -8
- package/React/CoreModules/RCTPerfMonitor.mm +7 -13
- package/React/CoreModules/RCTRedBox.mm +4 -0
- package/React/CoreModules/RCTStatusBarManager.mm +5 -1
- package/React/CoreModules/React-CoreModules.podspec +3 -1
- package/React/CxxBridge/NSDataBigString.mm +2 -25
- package/React/CxxBridge/RCTCxxBridge.mm +27 -5
- package/React/DevSupport/RCTInspectorDevServerHelper.mm +6 -0
- package/React/DevSupport/RCTInspectorNetworkHelper.h +29 -0
- package/React/DevSupport/RCTInspectorNetworkHelper.mm +115 -0
- package/React/DevSupport/RCTInspectorUtils.h +26 -0
- package/React/DevSupport/RCTInspectorUtils.mm +50 -0
- package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +4 -1
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +2 -2
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +23 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +9 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +137 -10
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +74 -35
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +61 -12
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +8 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +356 -59
- package/React/Fabric/Mounting/RCTMountingManager.mm +0 -5
- package/React/Fabric/RCTScheduler.mm +2 -1
- package/React/Fabric/RCTSurfacePresenter.mm +0 -31
- package/React/Fabric/Utils/RCTBoxShadow.h +21 -0
- package/React/Fabric/Utils/RCTBoxShadow.mm +301 -0
- package/React/Modules/RCTRedBoxExtraDataViewController.m +105 -85
- package/React/Views/RCTBorderDrawing.h +9 -5
- package/React/Views/RCTBorderDrawing.m +23 -14
- package/React/Views/RCTModalHostView.m +2 -1
- package/React/Views/RCTModalHostViewController.m +1 -1
- package/React/Views/RCTModalHostViewManager.m +23 -3
- package/React/Views/RCTView.m +9 -5
- package/React/Views/RCTViewManager.h +3 -0
- package/React/Views/RCTViewManager.m +63 -8
- package/React/Views/RefreshControl/RCTRefreshControl.m +18 -0
- package/React-Core.podspec +4 -1
- package/ReactAndroid/api/ReactAndroid.api +593 -273
- package/ReactAndroid/build.gradle.kts +105 -282
- package/ReactAndroid/cmake-utils/ReactNative-application.cmake +10 -55
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/hermes-engine/build.gradle.kts +3 -2
- package/ReactAndroid/publish.gradle +1 -1
- package/ReactAndroid/src/main/AndroidManifest.xml +1 -1
- package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.kt +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +56 -12
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +26 -3
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +117 -41
- package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +13 -6
- package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +2 -17
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +6 -2
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.kt +52 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.kt +74 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeValueListener.kt +13 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/{AnimatedNodeWithUpdateableConfig.java → AnimatedNodeWithUpdateableConfig.kt} +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/animated/{AnimationDriver.java → AnimationDriver.kt} +13 -14
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +111 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.kt +73 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.kt +55 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +100 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.kt +104 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +278 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ModulusAnimatedNode.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.kt +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +40 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +81 -52
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.kt +120 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +120 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.kt +187 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.kt +61 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.kt +52 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +36 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.kt +87 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.kt +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicNative.kt +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.kt +52 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JavaJSExecutor.java → JavaJSExecutor.kt} +13 -18
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JavaScriptExecutorFactory.java → JavaScriptExecutorFactory.kt} +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.kt +24 -0
- package/ReactAndroid/src/main/java/com/facebook/react/{animated/AnimatedNodeValueListener.java → bridge/PerformanceCounter.kt} +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{Promise.java → Promise.kt} +19 -29
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +13 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt +178 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThread.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.java +28 -47
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationImpl.java +5 -19
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.java +4 -6
- package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.kt +107 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/JavascriptException.kt +2 -10
- package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.java +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.kt +124 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.kt +197 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/build/{ReactBuildConfig.java → ReactBuildConfig.kt} +9 -6
- package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.kt +111 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.kt +38 -0
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +16 -62
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt +5 -20
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +7 -55
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +16 -16
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +0 -73
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +30 -13
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +120 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.kt +3 -7
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +10 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +12 -5
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialog.kt +29 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +10 -12
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PausedInDebuggerOverlayDialogManager.java +19 -5
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.kt +38 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +31 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +168 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.java +94 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.java +34 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/BindingImpl.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.kt +45 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +75 -37
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +43 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +64 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +23 -25
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +110 -360
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +16 -22
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +1 -5
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.kt +40 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +40 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/SystraceSection.kt +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +157 -13
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +266 -26
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +54 -6
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +55 -7
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +294 -30
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +54 -6
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +43 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.java +2 -5
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.java +19 -57
- package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.java +2 -15
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +14 -14
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.java +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.kt +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{DefaultHardwareBackBtnHandler.java → DefaultHardwareBackBtnHandler.kt} +4 -6
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +65 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt +79 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.kt +21 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerExecutor.java → JavaScriptTimerExecutor.kt} +7 -8
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +363 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.kt +30 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{PermissionListener.java → PermissionListener.kt} +9 -9
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +144 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +83 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +36 -48
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/interfaces/DeveloperSettings.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +58 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +163 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.kt +31 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +56 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +152 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +2 -6
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nUtil.kt +4 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpCompat.java +35 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java +1 -7
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +189 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +4 -28
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java +48 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +55 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessDevSupportManager.java +9 -14
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +0 -18
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +243 -210
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +47 -45
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt +11 -4
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.kt +44 -0
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +263 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +64 -32
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +109 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.kt +85 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +44 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +89 -17
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.kt +35 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{IViewManagerWithChildren.java → IViewManagerWithChildren.kt} +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +58 -11
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +29 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LengthPercentage.kt +8 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +23 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +4 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +21 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +14 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +9 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +33 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +20 -10
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +24 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowBorderRadius.kt +29 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +160 -87
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +85 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +191 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutsetBoxShadowDrawable.kt +159 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +57 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.kt +37 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +55 -29
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +48 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +28 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +105 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +27 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderStyle.kt +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +30 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +19 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +76 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LogicalEdge.kt +79 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Overflow.kt +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +3 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +125 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +259 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.kt +61 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.kt +307 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +725 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +7 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +35 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostHelper.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +13 -30
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +61 -90
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +70 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +165 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +65 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewShadowNode.kt +12 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.kt +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +80 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +64 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +79 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +22 -33
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +65 -19
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.kt +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +11 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.kt +110 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.java +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +73 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +143 -77
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +36 -32
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +11 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +79 -104
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactOpacitySpan.kt +33 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +89 -9
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +67 -38
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.kt +95 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +6 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +257 -96
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +86 -25
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +63 -0
- package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +23 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +4 -0
- package/ReactAndroid/src/main/jni/CMakeLists.txt +182 -3
- package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +1 -1
- package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/CMakeLists.txt +24 -0
- package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/SoMerging-utils.cmake +23 -0
- package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.c +157 -0
- package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.h +108 -0
- package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +5 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +12 -1
- package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +5 -1
- package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocketDelegate.cpp +11 -2
- package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocketDelegate.h +1 -3
- package/ReactAndroid/src/main/jni/react/fabric/Binding.cpp +35 -19
- package/ReactAndroid/src/main/jni/react/fabric/Binding.h +3 -0
- package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +9 -1
- package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +6 -43
- package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.h +4 -27
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +76 -40
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +25 -1
- package/ReactAndroid/src/main/jni/react/fabric/MountItem.cpp +0 -7
- package/ReactAndroid/src/main/jni/react/fabric/MountItem.h +1 -7
- package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +0 -2
- package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +49 -13
- package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +3 -2
- package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +5 -1
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +369 -33
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +79 -7
- package/ReactAndroid/src/main/jni/react/hermes/instrumentation/CMakeLists.txt +7 -6
- package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +5 -6
- package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +0 -1
- package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +41 -0
- package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +3 -1
- package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.cpp +76 -0
- package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.h +44 -0
- package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.cpp +46 -0
- package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.h +56 -0
- package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +1 -0
- package/ReactAndroid/src/main/jni/react/jni/JWeakRefUtils.h +23 -0
- package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +3 -1
- package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +4 -0
- package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +71 -18
- package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.h +17 -6
- package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +6 -7
- package/ReactAndroid/src/main/jni/react/jsctooling/CMakeLists.txt +34 -0
- package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +5 -1
- package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +10 -2
- package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +16 -33
- package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +2 -11
- package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +4 -1
- package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +8 -4
- package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.cpp +4 -3
- package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.h +8 -3
- package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +4 -1
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +64 -22
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +35 -6
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +1 -0
- package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/CMakeLists.txt +7 -5
- package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +7 -2
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +156 -166
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +23 -17
- package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +17 -5
- package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -1
- package/ReactAndroid/src/main/jni/third-party/glog/CMakeLists.txt +1 -1
- package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_background.xml +1 -1
- package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_dialog_background.xml +7 -0
- package/ReactAndroid/src/main/res/devsupport/drawable-hdpi/ic_resume.png +0 -0
- package/ReactAndroid/src/main/res/devsupport/drawable-mdpi/ic_resume.png +0 -0
- package/ReactAndroid/src/main/res/devsupport/drawable-xhdpi/ic_resume.png +0 -0
- package/ReactAndroid/src/main/res/devsupport/drawable-xxhdpi/ic_resume.png +0 -0
- package/ReactAndroid/src/main/res/devsupport/drawable-xxxhdpi/ic_resume.png +0 -0
- package/ReactAndroid/src/main/res/devsupport/layout/paused_in_debugger_view.xml +19 -18
- package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -2
- package/ReactAndroid/src/main/res/devsupport/values/styles.xml +4 -0
- package/ReactAndroid/src/main/res/devsupport/xml/rn_dev_preferences.xml +0 -6
- package/ReactAndroid/src/main/res/views/alert/layout/alert_title_layout.xml +22 -0
- package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
- package/ReactCommon/cxxreact/CMakeLists.txt +2 -1
- package/ReactCommon/cxxreact/CxxModule.h +0 -2
- package/ReactCommon/cxxreact/JSExecutor.cpp +2 -7
- package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -0
- package/ReactCommon/cxxreact/ReactMarker.cpp +10 -2
- package/ReactCommon/cxxreact/ReactMarker.h +5 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/cxxreact/SystraceSection.h +15 -10
- package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +1 -1
- package/ReactCommon/hermes/executor/CMakeLists.txt +3 -3
- package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +2 -5
- package/ReactCommon/jsc/CMakeLists.txt +5 -3
- package/ReactCommon/jserrorhandler/CMakeLists.txt +1 -1
- package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +40 -1
- package/ReactCommon/jserrorhandler/JsErrorHandler.h +12 -1
- package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +6 -0
- package/ReactCommon/jsi/jsi/decorator.h +57 -4
- package/ReactCommon/jsi/jsi/instrumentation.h +15 -3
- package/ReactCommon/jsi/jsi/jsi.cpp +6 -2
- package/ReactCommon/jsiexecutor/CMakeLists.txt +1 -1
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +10 -4
- package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +5 -1
- package/ReactCommon/jsinspector-modern/Base64.h +98 -0
- package/ReactCommon/jsinspector-modern/CMakeLists.txt +6 -1
- package/ReactCommon/jsinspector-modern/CdpJson.h +1 -1
- package/ReactCommon/jsinspector-modern/ExecutionContext.cpp +3 -4
- package/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.h +5 -5
- package/ReactCommon/jsinspector-modern/HostAgent.cpp +45 -22
- package/ReactCommon/jsinspector-modern/HostAgent.h +7 -1
- package/ReactCommon/jsinspector-modern/HostTarget.cpp +36 -7
- package/ReactCommon/jsinspector-modern/HostTarget.h +25 -5
- package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +14 -3
- package/ReactCommon/jsinspector-modern/InspectorFlags.h +1 -1
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +5 -1
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +18 -1
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.h +4 -5
- package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +440 -0
- package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +266 -0
- package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -0
- package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +22 -0
- package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +46 -0
- package/ReactCommon/jsinspector-modern/RuntimeTarget.h +31 -0
- package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +2 -2
- package/ReactCommon/jsinspector-modern/RuntimeTargetDebuggerSessionObserver.cpp +112 -0
- package/ReactCommon/jsinspector-modern/Utf8.h +56 -0
- package/ReactCommon/jsinspector-modern/WebSocketInterfaces.h +6 -0
- package/ReactCommon/jsinspector-modern/tests/ConsoleApiTest.cpp +54 -0
- package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +801 -0
- package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +6 -0
- package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +29 -12
- package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +38 -0
- package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +2 -1
- package/ReactCommon/jsinspector-modern/tests/RuntimeTargetDebuggerSessionObserverTest.cpp +214 -0
- package/ReactCommon/jsinspector-modern/tests/Utf8.cpp +58 -0
- package/ReactCommon/logger/CMakeLists.txt +1 -1
- package/ReactCommon/react/bridging/Bool.h +1 -1
- package/ReactCommon/react/bridging/CMakeLists.txt +1 -1
- package/ReactCommon/react/config/CMakeLists.txt +1 -1
- package/ReactCommon/react/config/ReactNativeConfig.cpp +0 -3
- package/ReactCommon/react/debug/CMakeLists.txt +1 -1
- package/ReactCommon/react/featureflags/CMakeLists.txt +1 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +107 -11
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +132 -12
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +479 -47
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +58 -10
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +106 -10
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +29 -5
- package/ReactCommon/react/nativemodule/core/CMakeLists.txt +2 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/CxxTurboModuleUtils.h +6 -38
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +68 -66
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +2 -2
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +21 -2
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +13 -0
- package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -1
- package/ReactCommon/react/nativemodule/dom/CMakeLists.txt +5 -1
- package/ReactCommon/react/nativemodule/featureflags/CMakeLists.txt +1 -1
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +132 -12
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +54 -6
- package/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt +1 -1
- package/ReactCommon/react/nativemodule/microtasks/CMakeLists.txt +1 -1
- package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +0 -11
- package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +2 -0
- package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +2 -2
- package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +16 -0
- package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +9 -0
- package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +20 -1
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +11 -0
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +34 -0
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.h +1 -1
- package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +4 -0
- package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +28 -16
- package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.cpp +8 -1
- package/ReactCommon/react/performance/timeline/CMakeLists.txt +2 -1
- package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +12 -2
- package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +8 -4
- package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +0 -18
- package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +4 -0
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -0
- package/ReactCommon/react/renderer/attributedstring/conversions.h +55 -2
- package/ReactCommon/react/renderer/attributedstring/primitives.h +9 -0
- package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/image/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/image/conversions.h +9 -0
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +2 -3
- package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +10 -1
- package/{ReactAndroid/src/main/java/com/facebook/react/bridge/PerformanceCounter.java → ReactCommon/react/renderer/components/modal/ModalHostViewUtils.h} +5 -6
- package/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.mm +20 -0
- package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/root/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/safeareaview/CMakeLists.txt +46 -0
- package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.cpp +10 -1
- package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.h +20 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +99 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +44 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +16 -72
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +12 -18
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +9 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +1 -0
- package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +8 -0
- package/ReactCommon/react/renderer/components/text/CMakeLists.txt +1 -2
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +35 -17
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +3 -0
- package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +27 -0
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +3 -0
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputEventEmitter.cpp +1 -1
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.cpp +29 -0
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +3 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +20 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +2 -0
- package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +117 -77
- package/ReactCommon/react/renderer/components/view/BaseViewProps.h +18 -1
- package/ReactCommon/react/renderer/components/view/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +4 -1
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +21 -0
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +4 -0
- package/ReactCommon/react/renderer/components/view/conversions.h +307 -23
- package/ReactCommon/react/renderer/components/view/primitives.h +8 -1
- package/ReactCommon/react/renderer/consistency/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/core/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +21 -12
- package/ReactCommon/react/renderer/core/EventDispatcher.cpp +5 -3
- package/ReactCommon/react/renderer/core/EventDispatcher.h +1 -1
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +1 -1
- package/ReactCommon/react/renderer/core/EventEmitter.h +2 -0
- package/ReactCommon/react/renderer/core/EventListener.cpp +6 -3
- package/ReactCommon/react/renderer/core/EventListener.h +1 -1
- package/ReactCommon/react/renderer/core/EventLogger.h +4 -1
- package/ReactCommon/react/renderer/core/EventPayloadType.h +1 -1
- package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +35 -11
- package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -1
- package/ReactCommon/react/renderer/core/EventTarget.h +6 -1
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +26 -6
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +2 -3
- package/ReactCommon/react/renderer/core/Props.h +5 -0
- package/ReactCommon/react/renderer/core/PropsMacros.h +15 -11
- package/ReactCommon/react/renderer/core/RawProps.cpp +1 -6
- package/ReactCommon/react/renderer/core/RawProps.h +0 -8
- package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +1 -1
- package/ReactCommon/react/renderer/core/RawPropsParser.cpp +19 -73
- package/ReactCommon/react/renderer/core/RawPropsParser.h +0 -9
- package/ReactCommon/react/renderer/core/RawValue.h +6 -7
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +5 -4
- package/ReactCommon/react/renderer/core/ShadowNode.h +5 -5
- package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +3 -0
- package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +3 -1
- package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +3 -1
- package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +49 -0
- package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +1 -1
- package/ReactCommon/react/renderer/debug/CMakeLists.txt +2 -2
- package/ReactCommon/react/renderer/dom/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/element/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/graphics/BackgroundImage.h +46 -0
- package/ReactCommon/react/renderer/graphics/BlendMode.h +72 -0
- package/ReactCommon/react/renderer/graphics/BoxShadow.h +25 -0
- package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/graphics/Color.cpp +27 -0
- package/ReactCommon/react/renderer/graphics/Color.h +6 -0
- package/ReactCommon/react/renderer/graphics/Filter.h +19 -5
- package/ReactCommon/react/renderer/graphics/Isolation.h +31 -0
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
- package/ReactCommon/react/renderer/graphics/Transform.cpp +3 -2
- package/ReactCommon/react/renderer/graphics/Transform.h +11 -0
- package/ReactCommon/react/renderer/graphics/ValueUnit.h +3 -2
- package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/HostPlatformColor.h +21 -0
- package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +48 -20
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/HostPlatformColor.h +31 -8
- package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +31 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +9 -0
- package/ReactCommon/react/renderer/graphics/tests/ColorTest.cpp +38 -0
- package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +7 -0
- package/ReactCommon/react/renderer/imagemanager/primitives.h +1 -0
- package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +15 -52
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +10 -3
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +22 -1
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +4 -32
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +2 -28
- package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +0 -5
- package/ReactCommon/react/renderer/observers/events/CMakeLists.txt +4 -1
- package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +75 -18
- package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +19 -2
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +14 -10
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +6 -3
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +24 -8
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.h +6 -3
- package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +2 -0
- package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +30 -7
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +25 -3
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerEventTimingDelegate.h +25 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +19 -6
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +12 -2
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +116 -53
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +36 -12
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +149 -2
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +29 -22
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +1 -7
- package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +0 -10
- package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +1 -2
- package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +44 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +70 -40
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -7
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +14 -7
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +16 -7
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +2 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +6 -2
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +3 -2
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +83 -13
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +18 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -7
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +34 -10
- package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +9 -11
- package/ReactCommon/react/renderer/uimanager/UIManager.h +0 -6
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +16 -72
- package/ReactCommon/react/renderer/uimanager/UIManagerMountHook.h +6 -0
- package/ReactCommon/react/renderer/uimanager/consistency/CMakeLists.txt +1 -1
- package/ReactCommon/react/renderer/uimanager/primitives.h +8 -3
- package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +1 -4
- package/ReactCommon/react/runtime/BufferedRuntimeExecutor.h +1 -1
- package/ReactCommon/react/runtime/CMakeLists.txt +2 -6
- package/ReactCommon/react/runtime/JSRuntimeFactory.h +8 -0
- package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -0
- package/ReactCommon/react/runtime/ReactInstance.cpp +117 -50
- package/ReactCommon/react/runtime/TimerManager.cpp +156 -75
- package/ReactCommon/react/runtime/TimerManager.h +16 -4
- package/ReactCommon/react/runtime/hermes/CMakeLists.txt +3 -5
- package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +24 -15
- package/ReactCommon/react/runtime/hermes/HermesInstance.h +3 -2
- package/ReactCommon/react/runtime/nativeviewconfig/CMakeLists.txt +1 -1
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.h +7 -5
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.mm +12 -8
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +22 -52
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +1 -3
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +9 -8
- package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +22 -16
- package/ReactCommon/react/test_utils/ios/Shims/ShimRCTInstance.mm +4 -5
- package/ReactCommon/react/timing/CMakeLists.txt +18 -0
- package/ReactCommon/react/timing/React-timing.podspec +44 -0
- package/ReactCommon/react/timing/primitives.h +31 -0
- package/ReactCommon/react/timing/tests/PrimitivesTest.cpp +47 -0
- package/ReactCommon/react/utils/CMakeLists.txt +1 -1
- package/ReactCommon/react/utils/CoreFeatures.cpp +0 -1
- package/ReactCommon/react/utils/CoreFeatures.h +0 -4
- package/ReactCommon/reactperflogger/CMakeLists.txt +7 -2
- package/ReactCommon/reactperflogger/React-perflogger.podspec +15 -2
- package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.cpp +117 -0
- package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.h +53 -0
- package/ReactCommon/reactperflogger/fusebox/tests/FuseboxTracerTest.cpp +90 -0
- package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.cpp +19 -4
- package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.h +9 -1
- package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +42 -6
- package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.h +6 -1
- package/ReactCommon/runtimeexecutor/CMakeLists.txt +1 -1
- package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +5 -0
- package/ReactCommon/yoga/yoga/YGNodeStyle.h +3 -1
- package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +48 -19
- package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.h +2 -1
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +28 -2
- package/ReactCommon/yoga/yoga/config/Config.cpp +24 -5
- package/ReactCommon/yoga/yoga/config/Config.h +3 -0
- package/ReactCommon/yoga/yoga/node/LayoutResults.cpp +1 -0
- package/ReactCommon/yoga/yoga/node/LayoutResults.h +1 -0
- package/ReactCommon/yoga/yoga/node/Node.cpp +7 -1
- package/ReactCommon/yoga/yoga/style/Style.h +18 -0
- package/flow/jest.js +2 -2
- package/gradle/libs.versions.toml +4 -6
- package/index.js +6 -4
- package/jest/mockComponent.js +4 -1
- package/jest/mockModal.js +1 -3
- package/jest/mockScrollView.js +1 -1
- package/jest/renderer.js +2 -2
- package/jest/setup.js +16 -13
- package/package.json +14 -15
- package/react-native.config.js +26 -5
- package/scripts/bundle.js +7 -2
- package/scripts/cocoapods/autolinking.rb +2 -1
- package/scripts/cocoapods/helpers.rb +73 -6
- package/scripts/cocoapods/new_architecture.rb +1 -1
- package/scripts/cocoapods/utils.rb +18 -7
- package/scripts/codegen/generate-artifacts-executor.js +3 -2
- package/scripts/hermes/hermes-utils.js +0 -1
- package/scripts/ios-configure-glog.sh +2 -0
- package/scripts/react-native-xcode.sh +1 -2
- package/scripts/react_native_pods.rb +73 -2
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/hermes-engine.podspec +9 -3
- package/sdks/hermes-engine/utils/build-apple-framework.sh +13 -4
- package/sdks/hermes-engine/utils/build-ios-framework.sh +2 -4
- package/sdks/hermesc/linux64-bin/hermesc +0 -0
- package/sdks/hermesc/osx-bin/hermes +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/DoNotOptimize.kt +10 -0
- package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/MergedSoMapping.kt +117 -0
- package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/SoLoader.kt +53 -0
- package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/nativeloader/NativeLoader.kt +28 -0
- package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/nativeloader/NativeLoaderDelegate.kt +23 -0
- package/sdks/ossonly-soloader/src/main/java/com/facebook/soloader/nativeloader/SystemDelegate.kt +10 -0
- package/src/private/animated/NativeAnimatedHelper.js +438 -0
- package/src/private/animated/NativeAnimatedValidation.js +64 -0
- package/src/private/components/HScrollViewNativeComponents.js +56 -0
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +27 -0
- package/src/private/components/VScrollViewNativeComponents.js +48 -0
- package/src/private/components/useSyncOnScroll.js +48 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +166 -16
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +29 -5
- package/src/private/fusebox/FuseboxSessionObserver.js +42 -0
- package/{Libraries/Core → src/private/renderer/errorhandling}/ErrorHandlers.js +14 -4
- package/src/private/setup/setUpDOM.js +28 -0
- package/src/private/setup/setUpIntersectionObserver.js +27 -0
- package/src/private/setup/setUpMutationObserver.js +26 -0
- package/src/private/setup/setUpPerformanceObserver.js +64 -0
- package/src/private/specs/modules/NativeAppearance.js +3 -3
- package/src/private/specs/modules/NativeLinkingManager.js +1 -1
- package/src/private/specs/modules/NativeSampleTurboModule.js +14 -1
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +6 -4
- package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserver.js +5 -3
- package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverEntry.js +3 -3
- package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverManager.js +14 -17
- package/src/private/{specs/modules → webapis/intersectionobserver/specs}/NativeIntersectionObserver.js +2 -2
- package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver/specs}/__mocks__/NativeIntersectionObserver.js +4 -4
- package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserver.js +5 -3
- package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserverManager.js +24 -15
- package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationRecord.js +4 -6
- package/src/private/{specs/modules → webapis/mutationobserver/specs}/NativeMutationObserver.js +2 -2
- package/{Libraries/MutationObserver → src/private/webapis/mutationobserver/specs}/__mocks__/NativeMutationObserver.js +5 -5
- package/src/private/webapis/performance/{EventCounts.js → EventTiming.js} +65 -3
- package/src/private/webapis/performance/LongTasks.js +39 -0
- package/src/private/webapis/performance/Performance.js +22 -9
- package/src/private/webapis/performance/PerformanceEntry.js +36 -18
- package/src/private/webapis/performance/PerformanceObserver.js +29 -43
- package/src/private/webapis/performance/RawPerformanceEntry.js +24 -1
- package/src/private/webapis/performance/UserTiming.js +17 -12
- package/src/private/webapis/performance/specs/NativePerformanceObserver.js +1 -1
- package/third-party-podspecs/DoubleConversion.podspec +4 -1
- package/third-party-podspecs/RCT-Folly.podspec +3 -1
- package/third-party-podspecs/boost.podspec +4 -1
- package/third-party-podspecs/fmt.podspec +4 -1
- package/third-party-podspecs/glog.podspec +4 -1
- package/types/experimental.d.ts +1 -1
- package/types/public/ReactNativeTVTypes.d.ts +44 -3
- package/Libraries/Animated/NativeAnimatedHelper.js +0 -615
- package/Libraries/Core/setUpIntersectionObserver.js +0 -16
- package/Libraries/Core/setUpMutationObserver.js +0 -16
- package/Libraries/Core/setUpPerformanceObserver.js +0 -18
- package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +0 -13
- package/Libraries/MutationObserver/NativeMutationObserver.js +0 -13
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +0 -135
- package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.java +0 -24
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.java +0 -56
- package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.java +0 -78
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.java +0 -131
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.java +0 -79
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.java +0 -66
- package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.java +0 -64
- package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java +0 -116
- package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.java +0 -109
- package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.java +0 -311
- package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.java +0 -56
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.java +0 -161
- package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +0 -145
- package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.java +0 -207
- package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +0 -70
- package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.java +0 -60
- package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.java +0 -50
- package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.java +0 -93
- package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.java +0 -66
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +0 -64
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.java +0 -51
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.java +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +0 -162
- package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.java +0 -53
- package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.java +0 -104
- package/ReactAndroid/src/main/java/com/facebook/react/common/HasJavascriptExceptionMetadata.java +0 -17
- package/ReactAndroid/src/main/java/com/facebook/react/common/LongArray.java +0 -75
- package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.java +0 -144
- package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.java +0 -239
- package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.java +0 -121
- package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.java +0 -36
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.java +0 -156
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.java +0 -50
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.java +0 -214
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/CoreComponentsRegistry.kt +0 -30
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +0 -54
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.java +0 -48
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +0 -74
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +0 -56
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.java +0 -57
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.java +0 -18
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java +0 -76
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +0 -91
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.java +0 -61
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.java +0 -21
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +0 -428
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.java +0 -29
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.java +0 -18
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java +0 -172
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +0 -104
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java +0 -225
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.java +0 -33
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.java +0 -80
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.java +0 -160
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java +0 -204
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.java +0 -65
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.java +0 -53
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java +0 -141
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.java +0 -84
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.java +0 -42
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewHierarchyDumper.java +0 -45
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.java +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowDrawable.kt +0 -102
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.java +0 -62
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.java +0 -52
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.java +0 -50
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.java +0 -123
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +0 -302
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.java +0 -76
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +0 -289
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +0 -638
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.java +0 -99
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.java +0 -203
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.java +0 -58
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.java +0 -64
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java +0 -124
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +0 -87
- package/ReactAndroid/src/main/jni/react/devsupport/JOptional.cpp +0 -29
- package/ReactAndroid/src/main/jni/react/devsupport/JOptional.h +0 -27
- package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.cpp +0 -28
- package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.h +0 -23
- package/src/private/core/setUpDOM.js +0 -18
- package/src/private/webapis/performance/PerformanceEventTiming.js +0 -55
- /package/src/private/{core → styles}/composeStyles.js +0 -0
|
@@ -9,8 +9,6 @@ package com.facebook.react.runtime;
|
|
|
9
9
|
|
|
10
10
|
import static com.facebook.infer.annotation.Assertions.assertNotNull;
|
|
11
11
|
import static com.facebook.infer.annotation.ThreadConfined.UI;
|
|
12
|
-
import static java.lang.Boolean.FALSE;
|
|
13
|
-
import static java.lang.Boolean.TRUE;
|
|
14
12
|
|
|
15
13
|
import android.app.Activity;
|
|
16
14
|
import android.content.Context;
|
|
@@ -44,13 +42,14 @@ import com.facebook.react.bridge.ReactNoCrashSoftException;
|
|
|
44
42
|
import com.facebook.react.bridge.ReactSoftExceptionLogger;
|
|
45
43
|
import com.facebook.react.bridge.RuntimeExecutor;
|
|
46
44
|
import com.facebook.react.bridge.UiThreadUtil;
|
|
47
|
-
import com.facebook.react.bridge.queue.QueueThreadExceptionHandler;
|
|
48
45
|
import com.facebook.react.bridge.queue.ReactQueueConfiguration;
|
|
49
46
|
import com.facebook.react.common.LifecycleState;
|
|
50
47
|
import com.facebook.react.common.build.ReactBuildConfig;
|
|
51
48
|
import com.facebook.react.devsupport.DevSupportManagerBase;
|
|
52
49
|
import com.facebook.react.devsupport.InspectorFlags;
|
|
53
50
|
import com.facebook.react.devsupport.ReleaseDevSupportManager;
|
|
51
|
+
import com.facebook.react.devsupport.inspector.InspectorNetworkHelper;
|
|
52
|
+
import com.facebook.react.devsupport.inspector.InspectorNetworkRequestListener;
|
|
54
53
|
import com.facebook.react.devsupport.interfaces.BundleLoadCallback;
|
|
55
54
|
import com.facebook.react.devsupport.interfaces.DevSupportManager;
|
|
56
55
|
import com.facebook.react.devsupport.interfaces.DevSupportManager.PausedInDebuggerOverlayCommandListener;
|
|
@@ -62,6 +61,8 @@ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
|
|
|
62
61
|
import com.facebook.react.modules.appearance.AppearanceModule;
|
|
63
62
|
import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
|
|
64
63
|
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
|
64
|
+
import com.facebook.react.modules.systeminfo.AndroidInfoHelpers;
|
|
65
|
+
import com.facebook.react.runtime.internal.bolts.Continuation;
|
|
65
66
|
import com.facebook.react.runtime.internal.bolts.Task;
|
|
66
67
|
import com.facebook.react.runtime.internal.bolts.TaskCompletionSource;
|
|
67
68
|
import com.facebook.react.turbomodule.core.interfaces.CallInvokerHolder;
|
|
@@ -72,8 +73,9 @@ import com.facebook.react.views.imagehelper.ResourceDrawableIdHelper;
|
|
|
72
73
|
import java.lang.ref.WeakReference;
|
|
73
74
|
import java.util.ArrayList;
|
|
74
75
|
import java.util.Collection;
|
|
75
|
-
import java.util.Collections;
|
|
76
76
|
import java.util.HashSet;
|
|
77
|
+
import java.util.List;
|
|
78
|
+
import java.util.Map;
|
|
77
79
|
import java.util.Set;
|
|
78
80
|
import java.util.concurrent.Executor;
|
|
79
81
|
import java.util.concurrent.Executors;
|
|
@@ -91,6 +93,7 @@ import kotlin.jvm.functions.Function0;
|
|
|
91
93
|
*
|
|
92
94
|
* @see <a href="https://github.com/BoltsFramework/Bolts-Android#tasks">Bolts Android</a>
|
|
93
95
|
*/
|
|
96
|
+
@DoNotStrip
|
|
94
97
|
@ThreadSafe
|
|
95
98
|
@Nullsafe(Nullsafe.Mode.LOCAL)
|
|
96
99
|
public class ReactHostImpl implements ReactHost {
|
|
@@ -104,14 +107,10 @@ public class ReactHostImpl implements ReactHost {
|
|
|
104
107
|
private final DevSupportManager mDevSupportManager;
|
|
105
108
|
private final Executor mBGExecutor;
|
|
106
109
|
private final Executor mUIExecutor;
|
|
107
|
-
private final
|
|
108
|
-
private final Set<ReactSurfaceImpl> mAttachedSurfaces =
|
|
109
|
-
Collections.synchronizedSet(new HashSet<>());
|
|
110
|
+
private final Set<ReactSurfaceImpl> mAttachedSurfaces = new HashSet<>();
|
|
110
111
|
private final MemoryPressureRouter mMemoryPressureRouter;
|
|
111
112
|
private final boolean mAllowPackagerServerAccess;
|
|
112
113
|
private final boolean mUseDevSupport;
|
|
113
|
-
private final Collection<ReactInstanceEventListener> mReactInstanceEventListeners =
|
|
114
|
-
Collections.synchronizedList(new ArrayList<>());
|
|
115
114
|
|
|
116
115
|
// todo: T192399917 This no longer needs to store the react instance
|
|
117
116
|
private final BridgelessAtomicRef<Task<ReactInstance>> mCreateReactInstanceTaskRef =
|
|
@@ -133,11 +132,13 @@ public class ReactHostImpl implements ReactHost {
|
|
|
133
132
|
private @Nullable MemoryPressureListener mMemoryPressureListener;
|
|
134
133
|
private @Nullable DefaultHardwareBackBtnHandler mDefaultHardwareBackBtnHandler;
|
|
135
134
|
|
|
136
|
-
private final
|
|
137
|
-
|
|
135
|
+
private final List<ReactInstanceEventListener> mReactInstanceEventListeners = new ArrayList<>();
|
|
136
|
+
private final List<Function0<Unit>> mBeforeDestroyListeners = new ArrayList<>();
|
|
138
137
|
|
|
139
138
|
private @Nullable ReactHostInspectorTarget mReactHostInspectorTarget;
|
|
140
139
|
|
|
140
|
+
private volatile boolean mHostInvalidated = false;
|
|
141
|
+
|
|
141
142
|
public ReactHostImpl(
|
|
142
143
|
Context context,
|
|
143
144
|
ReactHostDelegate delegate,
|
|
@@ -167,7 +168,6 @@ public class ReactHostImpl implements ReactHost {
|
|
|
167
168
|
mComponentFactory = componentFactory;
|
|
168
169
|
mBGExecutor = bgExecutor;
|
|
169
170
|
mUIExecutor = uiExecutor;
|
|
170
|
-
mQueueThreadExceptionHandler = ReactHostImpl.this::handleHostException;
|
|
171
171
|
mMemoryPressureRouter = new MemoryPressureRouter(context);
|
|
172
172
|
mAllowPackagerServerAccess = allowPackagerServerAccess;
|
|
173
173
|
mUseDevSupport = useDevSupport;
|
|
@@ -250,13 +250,12 @@ public class ReactHostImpl implements ReactHost {
|
|
|
250
250
|
|
|
251
251
|
detachSurface(surface);
|
|
252
252
|
return callWithExistingReactInstance(
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
.makeVoid();
|
|
253
|
+
method,
|
|
254
|
+
reactInstance -> {
|
|
255
|
+
log(method, "Execute");
|
|
256
|
+
reactInstance.stopSurface(surface);
|
|
257
|
+
},
|
|
258
|
+
mBGExecutor);
|
|
260
259
|
}
|
|
261
260
|
|
|
262
261
|
/**
|
|
@@ -286,6 +285,18 @@ public class ReactHostImpl implements ReactHost {
|
|
|
286
285
|
mReactLifecycleStateManager.moveToOnHostResume(currentContext, getCurrentActivity());
|
|
287
286
|
}
|
|
288
287
|
|
|
288
|
+
@ThreadConfined(UI)
|
|
289
|
+
@Override
|
|
290
|
+
public void onHostLeaveHint(final @Nullable Activity activity) {
|
|
291
|
+
final String method = "onUserLeaveHint(activity)";
|
|
292
|
+
log(method);
|
|
293
|
+
|
|
294
|
+
ReactContext currentContext = getCurrentReactContext();
|
|
295
|
+
if (currentContext != null) {
|
|
296
|
+
currentContext.onUserLeaveHint(activity);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
|
|
289
300
|
@ThreadConfined(UI)
|
|
290
301
|
@Override
|
|
291
302
|
public void onHostPause(final @Nullable Activity activity) {
|
|
@@ -416,12 +427,16 @@ public class ReactHostImpl implements ReactHost {
|
|
|
416
427
|
|
|
417
428
|
/** Add a listener to be notified of ReactInstance events. */
|
|
418
429
|
public void addReactInstanceEventListener(ReactInstanceEventListener listener) {
|
|
419
|
-
mReactInstanceEventListeners
|
|
430
|
+
synchronized (mReactInstanceEventListeners) {
|
|
431
|
+
mReactInstanceEventListeners.add(listener);
|
|
432
|
+
}
|
|
420
433
|
}
|
|
421
434
|
|
|
422
435
|
/** Remove a listener previously added with {@link #addReactInstanceEventListener}. */
|
|
423
436
|
public void removeReactInstanceEventListener(ReactInstanceEventListener listener) {
|
|
424
|
-
mReactInstanceEventListeners
|
|
437
|
+
synchronized (mReactInstanceEventListeners) {
|
|
438
|
+
mReactInstanceEventListeners.remove(listener);
|
|
439
|
+
}
|
|
425
440
|
}
|
|
426
441
|
|
|
427
442
|
/**
|
|
@@ -454,8 +469,9 @@ public class ReactHostImpl implements ReactHost {
|
|
|
454
469
|
final Exception ex = task.getError();
|
|
455
470
|
if (mUseDevSupport) {
|
|
456
471
|
mDevSupportManager.handleException(ex);
|
|
472
|
+
} else {
|
|
473
|
+
mReactHostDelegate.handleInstanceException(ex);
|
|
457
474
|
}
|
|
458
|
-
mReactHostDelegate.handleInstanceException(ex);
|
|
459
475
|
return getOrCreateDestroyTask("Reload failed", ex);
|
|
460
476
|
}
|
|
461
477
|
|
|
@@ -486,6 +502,16 @@ public class ReactHostImpl implements ReactHost {
|
|
|
486
502
|
}
|
|
487
503
|
}
|
|
488
504
|
|
|
505
|
+
@DoNotStrip
|
|
506
|
+
private Map<String, String> getHostMetadata() {
|
|
507
|
+
return AndroidInfoHelpers.getInspectorHostMetadata(mContext);
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
@DoNotStrip
|
|
511
|
+
private void loadNetworkResource(String url, InspectorNetworkRequestListener listener) {
|
|
512
|
+
InspectorNetworkHelper.loadNetworkResource(url, listener);
|
|
513
|
+
}
|
|
514
|
+
|
|
489
515
|
/**
|
|
490
516
|
* Entrypoint to destroy the ReactInstance. If the ReactInstance is reloading, will wait until
|
|
491
517
|
* reload is finished, before destroying.
|
|
@@ -750,7 +776,7 @@ public class ReactHostImpl implements ReactHost {
|
|
|
750
776
|
};
|
|
751
777
|
}
|
|
752
778
|
|
|
753
|
-
/* package */ Task<
|
|
779
|
+
/* package */ Task<Void> loadBundle(final JSBundleLoader bundleLoader) {
|
|
754
780
|
final String method = "loadBundle()";
|
|
755
781
|
log(method, "Schedule");
|
|
756
782
|
|
|
@@ -763,7 +789,7 @@ public class ReactHostImpl implements ReactHost {
|
|
|
763
789
|
null);
|
|
764
790
|
}
|
|
765
791
|
|
|
766
|
-
/* package */ Task<
|
|
792
|
+
/* package */ Task<Void> registerSegment(
|
|
767
793
|
final int segmentId, final String path, final Callback callback) {
|
|
768
794
|
final String method =
|
|
769
795
|
"registerSegment(segmentId = \"" + segmentId + "\", path = \"" + path + "\")";
|
|
@@ -785,9 +811,10 @@ public class ReactHostImpl implements ReactHost {
|
|
|
785
811
|
|
|
786
812
|
if (mUseDevSupport) {
|
|
787
813
|
mDevSupportManager.handleException(e);
|
|
814
|
+
} else {
|
|
815
|
+
mReactHostDelegate.handleInstanceException(e);
|
|
788
816
|
}
|
|
789
817
|
destroy(method, e);
|
|
790
|
-
mReactHostDelegate.handleInstanceException(e);
|
|
791
818
|
}
|
|
792
819
|
|
|
793
820
|
/**
|
|
@@ -798,7 +825,7 @@ public class ReactHostImpl implements ReactHost {
|
|
|
798
825
|
* @param args Arguments to be passed to the function
|
|
799
826
|
* @return A Task that will complete when the function call has been enqueued on the JS thread.
|
|
800
827
|
*/
|
|
801
|
-
/* package */ Task<
|
|
828
|
+
/* package */ Task<Void> callFunctionOnModule(
|
|
802
829
|
final String moduleName, final String methodName, final NativeArray args) {
|
|
803
830
|
final String method = "callFunctionOnModule(\"" + moduleName + "\", \"" + methodName + "\")";
|
|
804
831
|
return callWithExistingReactInstance(
|
|
@@ -875,7 +902,12 @@ public class ReactHostImpl implements ReactHost {
|
|
|
875
902
|
.continueWithTask(
|
|
876
903
|
(task) -> {
|
|
877
904
|
if (task.isFaulted()) {
|
|
878
|
-
|
|
905
|
+
Exception ex = task.getError();
|
|
906
|
+
if (mUseDevSupport) {
|
|
907
|
+
mDevSupportManager.handleException(ex);
|
|
908
|
+
} else {
|
|
909
|
+
mReactHostDelegate.handleInstanceException(ex);
|
|
910
|
+
}
|
|
879
911
|
// Wait for destroy to finish
|
|
880
912
|
return getOrCreateDestroyTask(
|
|
881
913
|
"getOrCreateStartTask() failure: " + task.getError().getMessage(),
|
|
@@ -893,11 +925,6 @@ public class ReactHostImpl implements ReactHost {
|
|
|
893
925
|
@ThreadConfined(UI)
|
|
894
926
|
private void moveToHostDestroy(@Nullable ReactContext currentContext) {
|
|
895
927
|
mReactLifecycleStateManager.moveToOnHostDestroy(currentContext);
|
|
896
|
-
if (currentContext == null) {
|
|
897
|
-
// There's no current context/instance that requires the host inspector
|
|
898
|
-
// target to be kept alive, so we can destroy it immediately.
|
|
899
|
-
destroyInspectorHostTarget();
|
|
900
|
-
}
|
|
901
928
|
setCurrentActivity(null);
|
|
902
929
|
}
|
|
903
930
|
|
|
@@ -909,14 +936,8 @@ public class ReactHostImpl implements ReactHost {
|
|
|
909
936
|
String callingMethod, String message, @Nullable Throwable throwable) {
|
|
910
937
|
final String method = "raiseSoftException(" + callingMethod + ")";
|
|
911
938
|
log(method, message);
|
|
912
|
-
if (throwable != null) {
|
|
913
|
-
ReactSoftExceptionLogger.logSoftException(
|
|
914
|
-
TAG, new ReactNoCrashSoftException(method + ": " + message, throwable));
|
|
915
|
-
return;
|
|
916
|
-
}
|
|
917
|
-
|
|
918
939
|
ReactSoftExceptionLogger.logSoftException(
|
|
919
|
-
TAG, new ReactNoCrashSoftException(method + ": " + message));
|
|
940
|
+
TAG, new ReactNoCrashSoftException(method + ": " + message, throwable));
|
|
920
941
|
}
|
|
921
942
|
|
|
922
943
|
private Executor getDefaultReactInstanceExecutor() {
|
|
@@ -926,9 +947,9 @@ public class ReactHostImpl implements ReactHost {
|
|
|
926
947
|
}
|
|
927
948
|
|
|
928
949
|
/** Schedule work on a ReactInstance that is already created. */
|
|
929
|
-
private Task<
|
|
950
|
+
private Task<Void> callWithExistingReactInstance(
|
|
930
951
|
final String callingMethod,
|
|
931
|
-
final ReactInstanceCalback
|
|
952
|
+
final ReactInstanceCalback callback,
|
|
932
953
|
@Nullable Executor executor) {
|
|
933
954
|
final String method = "callWithExistingReactInstance(" + callingMethod + ")";
|
|
934
955
|
|
|
@@ -938,16 +959,18 @@ public class ReactHostImpl implements ReactHost {
|
|
|
938
959
|
|
|
939
960
|
return mCreateReactInstanceTaskRef
|
|
940
961
|
.get()
|
|
941
|
-
.
|
|
962
|
+
.continueWith(
|
|
942
963
|
task -> {
|
|
943
|
-
final ReactInstance reactInstance =
|
|
944
|
-
|
|
964
|
+
final ReactInstance reactInstance =
|
|
965
|
+
ReactNativeFeatureFlags.completeReactInstanceCreationOnBgThreadOnAndroid()
|
|
966
|
+
? task.getResult()
|
|
967
|
+
: mReactInstance;
|
|
968
|
+
if (reactInstance == null || task.isFaulted()) {
|
|
945
969
|
raiseSoftException(method, "Execute: reactInstance is null. Dropping work.");
|
|
946
|
-
|
|
970
|
+
} else {
|
|
971
|
+
callback.then(reactInstance);
|
|
947
972
|
}
|
|
948
|
-
|
|
949
|
-
continuation.then(reactInstance);
|
|
950
|
-
return TRUE;
|
|
973
|
+
return null;
|
|
951
974
|
},
|
|
952
975
|
executor);
|
|
953
976
|
}
|
|
@@ -955,7 +978,7 @@ public class ReactHostImpl implements ReactHost {
|
|
|
955
978
|
/** Create a ReactInstance if it doesn't exist already, and schedule work on it. */
|
|
956
979
|
private Task<Void> callAfterGetOrCreateReactInstance(
|
|
957
980
|
final String callingMethod,
|
|
958
|
-
final ReactInstanceCalback
|
|
981
|
+
final ReactInstanceCalback callback,
|
|
959
982
|
@Nullable Executor executor) {
|
|
960
983
|
final String method = "callAfterGetOrCreateReactInstance(" + callingMethod + ")";
|
|
961
984
|
|
|
@@ -964,15 +987,17 @@ public class ReactHostImpl implements ReactHost {
|
|
|
964
987
|
}
|
|
965
988
|
|
|
966
989
|
return getOrCreateReactInstance()
|
|
967
|
-
.
|
|
990
|
+
.continueWith(
|
|
968
991
|
task -> {
|
|
969
|
-
final ReactInstance reactInstance =
|
|
970
|
-
|
|
992
|
+
final ReactInstance reactInstance =
|
|
993
|
+
ReactNativeFeatureFlags.completeReactInstanceCreationOnBgThreadOnAndroid()
|
|
994
|
+
? task.getResult()
|
|
995
|
+
: mReactInstance;
|
|
996
|
+
if (reactInstance == null || task.isFaulted()) {
|
|
971
997
|
raiseSoftException(method, "Execute: reactInstance is null. Dropping work.");
|
|
972
|
-
|
|
998
|
+
} else {
|
|
999
|
+
callback.then(reactInstance);
|
|
973
1000
|
}
|
|
974
|
-
|
|
975
|
-
runnable.then(reactInstance);
|
|
976
1001
|
return null;
|
|
977
1002
|
},
|
|
978
1003
|
executor)
|
|
@@ -1041,6 +1066,18 @@ public class ReactHostImpl implements ReactHost {
|
|
|
1041
1066
|
return getOrCreateReactInstanceTask();
|
|
1042
1067
|
}
|
|
1043
1068
|
|
|
1069
|
+
private static class CreationResult {
|
|
1070
|
+
final ReactInstance mInstance;
|
|
1071
|
+
final ReactContext mContext;
|
|
1072
|
+
final boolean mIsReloading;
|
|
1073
|
+
|
|
1074
|
+
private CreationResult(ReactInstance instance, ReactContext context, boolean isReloading) {
|
|
1075
|
+
mInstance = instance;
|
|
1076
|
+
mContext = context;
|
|
1077
|
+
mIsReloading = isReloading;
|
|
1078
|
+
}
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1044
1081
|
@ThreadConfined("ReactHost")
|
|
1045
1082
|
private Task<ReactInstance> getOrCreateReactInstanceTask() {
|
|
1046
1083
|
final String method = "getOrCreateReactInstanceTask()";
|
|
@@ -1049,118 +1086,124 @@ public class ReactHostImpl implements ReactHost {
|
|
|
1049
1086
|
return mCreateReactInstanceTaskRef.getOrCreate(
|
|
1050
1087
|
() -> {
|
|
1051
1088
|
log(method, "Start");
|
|
1089
|
+
Assertions.assertCondition(
|
|
1090
|
+
!mHostInvalidated, "Cannot start a new ReactInstance on an invalidated ReactHost");
|
|
1091
|
+
|
|
1052
1092
|
ReactMarker.logMarker(
|
|
1053
1093
|
ReactMarkerConstants.REACT_BRIDGELESS_LOADING_START, BRIDGELESS_MARKER_INSTANCE_KEY);
|
|
1054
1094
|
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
*/
|
|
1146
|
-
mReactLifecycleStateManager.resumeReactContextIfHostResumed(
|
|
1147
|
-
reactContext, getCurrentActivity());
|
|
1148
|
-
}
|
|
1149
|
-
|
|
1150
|
-
ReactInstanceEventListener[] listeners =
|
|
1151
|
-
new ReactInstanceEventListener[mReactInstanceEventListeners.size()];
|
|
1152
|
-
final ReactInstanceEventListener[] finalListeners =
|
|
1153
|
-
mReactInstanceEventListeners.toArray(listeners);
|
|
1095
|
+
Task<CreationResult> creationTask =
|
|
1096
|
+
getJsBundleLoader()
|
|
1097
|
+
.onSuccess(
|
|
1098
|
+
task -> {
|
|
1099
|
+
final JSBundleLoader bundleLoader = task.getResult();
|
|
1100
|
+
final BridgelessReactContext reactContext = getOrCreateReactContext();
|
|
1101
|
+
final DevSupportManager devSupportManager = getDevSupportManager();
|
|
1102
|
+
reactContext.setJSExceptionHandler(devSupportManager);
|
|
1103
|
+
|
|
1104
|
+
log(method, "Creating ReactInstance");
|
|
1105
|
+
final ReactInstance instance =
|
|
1106
|
+
new ReactInstance(
|
|
1107
|
+
reactContext,
|
|
1108
|
+
mReactHostDelegate,
|
|
1109
|
+
mComponentFactory,
|
|
1110
|
+
devSupportManager,
|
|
1111
|
+
this::handleHostException,
|
|
1112
|
+
mUseDevSupport,
|
|
1113
|
+
getOrCreateReactHostInspectorTarget());
|
|
1114
|
+
mReactInstance = instance;
|
|
1115
|
+
|
|
1116
|
+
MemoryPressureListener memoryPressureListener =
|
|
1117
|
+
createMemoryPressureListener(instance);
|
|
1118
|
+
mMemoryPressureListener = memoryPressureListener;
|
|
1119
|
+
mMemoryPressureRouter.addMemoryPressureListener(memoryPressureListener);
|
|
1120
|
+
|
|
1121
|
+
// Eagerly initialize turbo modules in parallel with JS bundle execution
|
|
1122
|
+
// as TurboModuleManager will handle any concurrent access
|
|
1123
|
+
instance.initializeEagerTurboModules();
|
|
1124
|
+
|
|
1125
|
+
log(method, "Loading JS Bundle");
|
|
1126
|
+
instance.loadJSBundle(bundleLoader);
|
|
1127
|
+
|
|
1128
|
+
log(
|
|
1129
|
+
method,
|
|
1130
|
+
"Calling DevSupportManagerBase.onNewReactContextCreated(reactContext)");
|
|
1131
|
+
devSupportManager.onNewReactContextCreated(reactContext);
|
|
1132
|
+
|
|
1133
|
+
reactContext.runOnJSQueueThread(
|
|
1134
|
+
() -> {
|
|
1135
|
+
// Executing on the JS thread to ensure that we're done
|
|
1136
|
+
// loading the JS bundle.
|
|
1137
|
+
// TODO T76081936 Move this if we switch to a sync RTE
|
|
1138
|
+
ReactMarker.logMarker(
|
|
1139
|
+
ReactMarkerConstants.REACT_BRIDGELESS_LOADING_END,
|
|
1140
|
+
BRIDGELESS_MARKER_INSTANCE_KEY);
|
|
1141
|
+
});
|
|
1142
|
+
|
|
1143
|
+
return new CreationResult(instance, reactContext, mReloadTask != null);
|
|
1144
|
+
},
|
|
1145
|
+
mBGExecutor);
|
|
1146
|
+
|
|
1147
|
+
Continuation<CreationResult, ReactInstance> lifecycleUpdateTask =
|
|
1148
|
+
task -> {
|
|
1149
|
+
final ReactInstance reactInstance = task.getResult().mInstance;
|
|
1150
|
+
final ReactContext reactContext = task.getResult().mContext;
|
|
1151
|
+
final boolean isReloading = task.getResult().mIsReloading;
|
|
1152
|
+
final boolean isManagerResumed =
|
|
1153
|
+
mReactLifecycleStateManager.getLifecycleState() == LifecycleState.RESUMED;
|
|
1154
|
+
|
|
1155
|
+
/**
|
|
1156
|
+
* ReactContext.onHostResume() should only be called when the user navigates to the
|
|
1157
|
+
* first React Native screen.
|
|
1158
|
+
*
|
|
1159
|
+
* <p>During init: The application puts the React manager in a resumed state, when
|
|
1160
|
+
* the user navigates to a React Native screen. Two types of init: (1) If React
|
|
1161
|
+
* Native init happens when the user navigates to a React Native screen, the React
|
|
1162
|
+
* manager will get resumed on init start, so ReactContext.onHostResume() will be
|
|
1163
|
+
* executed here. (2) If React Native init happens before the user navigates to a
|
|
1164
|
+
* React Native screen (i.e: React Native is preloaded), the React manager won't be
|
|
1165
|
+
* in a resumed state here. So ReactContext.onHostResume() won't be executed here.
|
|
1166
|
+
* But, when the user navigates to their first React Native screen, the application
|
|
1167
|
+
* will call ReactHost.onHostResume(). That will call ReactContext.onHostResume().
|
|
1168
|
+
*
|
|
1169
|
+
* <p>During reloads, if the manager isn't resumed, call
|
|
1170
|
+
* ReactContext.onHostResume(). If React Native is reloading, it seems reasonable to
|
|
1171
|
+
* assume that: (1) We must have navigated to a React Native screen in the past, or
|
|
1172
|
+
* (2) We must be on a React Native screen.
|
|
1173
|
+
*/
|
|
1174
|
+
if (isReloading && !isManagerResumed) {
|
|
1175
|
+
mReactLifecycleStateManager.moveToOnHostResume(
|
|
1176
|
+
reactContext, getCurrentActivity());
|
|
1177
|
+
} else {
|
|
1178
|
+
/**
|
|
1179
|
+
* Call ReactContext.onHostResume() only when already in the resumed state which
|
|
1180
|
+
* aligns with the bridge https://fburl.com/diffusion/2qhxmudv.
|
|
1181
|
+
*/
|
|
1182
|
+
mReactLifecycleStateManager.resumeReactContextIfHostResumed(
|
|
1183
|
+
reactContext, getCurrentActivity());
|
|
1184
|
+
}
|
|
1154
1185
|
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1186
|
+
log(method, "Executing ReactInstanceEventListeners");
|
|
1187
|
+
ReactInstanceEventListener[] instanceEventListeners;
|
|
1188
|
+
synchronized (mReactInstanceEventListeners) {
|
|
1189
|
+
instanceEventListeners =
|
|
1190
|
+
mReactInstanceEventListeners.toArray(new ReactInstanceEventListener[0]);
|
|
1191
|
+
}
|
|
1192
|
+
for (ReactInstanceEventListener listener : instanceEventListeners) {
|
|
1193
|
+
if (listener != null) {
|
|
1194
|
+
listener.onReactContextInitialized(reactContext);
|
|
1195
|
+
}
|
|
1196
|
+
}
|
|
1197
|
+
return reactInstance;
|
|
1198
|
+
};
|
|
1199
|
+
|
|
1200
|
+
if (ReactNativeFeatureFlags.completeReactInstanceCreationOnBgThreadOnAndroid()) {
|
|
1201
|
+
creationTask.onSuccess(lifecycleUpdateTask, mUIExecutor);
|
|
1202
|
+
return creationTask.onSuccess(
|
|
1203
|
+
task -> task.getResult().mInstance, Task.IMMEDIATE_EXECUTOR);
|
|
1204
|
+
} else {
|
|
1205
|
+
return creationTask.onSuccess(lifecycleUpdateTask, mUIExecutor);
|
|
1206
|
+
}
|
|
1164
1207
|
});
|
|
1165
1208
|
}
|
|
1166
1209
|
|
|
@@ -1397,11 +1440,10 @@ public class ReactHostImpl implements ReactHost {
|
|
|
1397
1440
|
reactInstanceTaskUnwrapper.unwrap(
|
|
1398
1441
|
task, "3: Executing Before Destroy Listeners");
|
|
1399
1442
|
|
|
1400
|
-
|
|
1443
|
+
Function0<Unit>[] beforeDestroyListeners;
|
|
1401
1444
|
synchronized (mBeforeDestroyListeners) {
|
|
1402
|
-
beforeDestroyListeners = new
|
|
1445
|
+
beforeDestroyListeners = mBeforeDestroyListeners.toArray(new Function0[0]);
|
|
1403
1446
|
}
|
|
1404
|
-
|
|
1405
1447
|
for (Function0<Unit> destroyListener : beforeDestroyListeners) {
|
|
1406
1448
|
destroyListener.invoke();
|
|
1407
1449
|
}
|
|
@@ -1419,6 +1461,9 @@ public class ReactHostImpl implements ReactHost {
|
|
|
1419
1461
|
|
|
1420
1462
|
final ReactContext reactContext = mBridgelessReactContextRef.getNullable();
|
|
1421
1463
|
if (reactContext != null) {
|
|
1464
|
+
log(method, "Resetting ReactContext ref");
|
|
1465
|
+
mBridgelessReactContextRef.reset();
|
|
1466
|
+
|
|
1422
1467
|
log(method, "Destroying ReactContext");
|
|
1423
1468
|
reactContext.destroy();
|
|
1424
1469
|
}
|
|
@@ -1442,20 +1487,17 @@ public class ReactHostImpl implements ReactHost {
|
|
|
1442
1487
|
raiseSoftException(
|
|
1443
1488
|
method, "Skipping ReactInstance.destroy(): ReactInstance null");
|
|
1444
1489
|
} else {
|
|
1490
|
+
log(method, "Resetting ReactInstance ptr");
|
|
1491
|
+
mReactInstance = null;
|
|
1492
|
+
|
|
1445
1493
|
log(method, "Destroying ReactInstance");
|
|
1446
1494
|
reactInstance.destroy();
|
|
1447
1495
|
}
|
|
1448
1496
|
|
|
1449
|
-
log(method, "Resetting
|
|
1450
|
-
mBridgelessReactContextRef.reset();
|
|
1451
|
-
|
|
1452
|
-
log(method, "Resetting ReactInstance task ref");
|
|
1497
|
+
log(method, "Resetting createReactInstance task ref");
|
|
1453
1498
|
mCreateReactInstanceTaskRef.reset();
|
|
1454
1499
|
|
|
1455
|
-
log(method, "Resetting
|
|
1456
|
-
mReactInstance = null;
|
|
1457
|
-
|
|
1458
|
-
log(method, "Resetting preload task ref");
|
|
1500
|
+
log(method, "Resetting start task ref");
|
|
1459
1501
|
mStartTask = null;
|
|
1460
1502
|
|
|
1461
1503
|
// Kickstart a new ReactInstance create
|
|
@@ -1465,7 +1507,7 @@ public class ReactHostImpl implements ReactHost {
|
|
|
1465
1507
|
.continueWithTask(
|
|
1466
1508
|
task -> {
|
|
1467
1509
|
final ReactInstance reactInstance =
|
|
1468
|
-
reactInstanceTaskUnwrapper.unwrap(task, "
|
|
1510
|
+
reactInstanceTaskUnwrapper.unwrap(task, "6: Restarting surfaces");
|
|
1469
1511
|
|
|
1470
1512
|
if (reactInstance == null) {
|
|
1471
1513
|
raiseSoftException(method, "Skipping surface restart: ReactInstance null");
|
|
@@ -1543,6 +1585,16 @@ public class ReactHostImpl implements ReactHost {
|
|
|
1543
1585
|
|
|
1544
1586
|
unregisterInstanceFromInspector(reactInstance);
|
|
1545
1587
|
|
|
1588
|
+
if (mHostInvalidated) {
|
|
1589
|
+
// If the host has been invalidated, now that the current context/instance
|
|
1590
|
+
// has been unregistered, we can safely destroy the host's inspector
|
|
1591
|
+
// target.
|
|
1592
|
+
if (mReactHostInspectorTarget != null) {
|
|
1593
|
+
mReactHostInspectorTarget.close();
|
|
1594
|
+
mReactHostInspectorTarget = null;
|
|
1595
|
+
}
|
|
1596
|
+
}
|
|
1597
|
+
|
|
1546
1598
|
// Step 1: Destroy DevSupportManager
|
|
1547
1599
|
if (mUseDevSupport) {
|
|
1548
1600
|
log(method, "DevSupportManager cleanup");
|
|
@@ -1603,7 +1655,6 @@ public class ReactHostImpl implements ReactHost {
|
|
|
1603
1655
|
reactInstanceTaskUnwrapper.unwrap(task, "4: Destroying ReactContext");
|
|
1604
1656
|
|
|
1605
1657
|
final ReactContext reactContext = mBridgelessReactContextRef.getNullable();
|
|
1606
|
-
|
|
1607
1658
|
if (reactContext == null) {
|
|
1608
1659
|
raiseSoftException(method, "ReactContext is null. Destroy reason: " + reason);
|
|
1609
1660
|
}
|
|
@@ -1613,6 +1664,9 @@ public class ReactHostImpl implements ReactHost {
|
|
|
1613
1664
|
mMemoryPressureRouter.destroy(mContext);
|
|
1614
1665
|
|
|
1615
1666
|
if (reactContext != null) {
|
|
1667
|
+
log(method, "Resetting ReactContext ref");
|
|
1668
|
+
mBridgelessReactContextRef.reset();
|
|
1669
|
+
|
|
1616
1670
|
log(method, "Destroying ReactContext");
|
|
1617
1671
|
reactContext.destroy();
|
|
1618
1672
|
}
|
|
@@ -1635,20 +1689,17 @@ public class ReactHostImpl implements ReactHost {
|
|
|
1635
1689
|
raiseSoftException(
|
|
1636
1690
|
method, "Skipping ReactInstance.destroy(): ReactInstance null");
|
|
1637
1691
|
} else {
|
|
1692
|
+
log(method, "Resetting ReactInstance ptr");
|
|
1693
|
+
mReactInstance = null;
|
|
1694
|
+
|
|
1638
1695
|
log(method, "Destroying ReactInstance");
|
|
1639
1696
|
reactInstance.destroy();
|
|
1640
1697
|
}
|
|
1641
1698
|
|
|
1642
|
-
log(method, "Resetting
|
|
1643
|
-
mBridgelessReactContextRef.reset();
|
|
1644
|
-
|
|
1645
|
-
log(method, "Resetting ReactInstance task ref");
|
|
1699
|
+
log(method, "Resetting createReactInstance task ref");
|
|
1646
1700
|
mCreateReactInstanceTaskRef.reset();
|
|
1647
1701
|
|
|
1648
|
-
log(method, "Resetting
|
|
1649
|
-
mReactInstance = null;
|
|
1650
|
-
|
|
1651
|
-
log(method, "Resetting Preload task ref");
|
|
1702
|
+
log(method, "Resetting start task ref");
|
|
1652
1703
|
mStartTask = null;
|
|
1653
1704
|
|
|
1654
1705
|
log(method, "Resetting destroy task ref");
|
|
@@ -1682,34 +1733,15 @@ public class ReactHostImpl implements ReactHost {
|
|
|
1682
1733
|
return mDestroyTask;
|
|
1683
1734
|
}
|
|
1684
1735
|
|
|
1685
|
-
@Nullable
|
|
1686
|
-
@Override
|
|
1687
|
-
public JSEngineResolutionAlgorithm getJsEngineResolutionAlgorithm() {
|
|
1688
|
-
return mJSEngineResolutionAlgorithm;
|
|
1689
|
-
}
|
|
1690
|
-
|
|
1691
|
-
@Override
|
|
1692
|
-
public void setJsEngineResolutionAlgorithm(
|
|
1693
|
-
@Nullable JSEngineResolutionAlgorithm jsEngineResolutionAlgorithm) {
|
|
1694
|
-
mJSEngineResolutionAlgorithm = jsEngineResolutionAlgorithm;
|
|
1695
|
-
}
|
|
1696
|
-
|
|
1697
1736
|
private @Nullable ReactHostInspectorTarget getOrCreateReactHostInspectorTarget() {
|
|
1698
1737
|
if (mReactHostInspectorTarget == null && InspectorFlags.getFuseboxEnabled()) {
|
|
1738
|
+
// NOTE: ReactHostInspectorTarget only retains a weak reference to `this`.
|
|
1699
1739
|
mReactHostInspectorTarget = new ReactHostInspectorTarget(this);
|
|
1700
1740
|
}
|
|
1701
1741
|
|
|
1702
1742
|
return mReactHostInspectorTarget;
|
|
1703
1743
|
}
|
|
1704
1744
|
|
|
1705
|
-
@ThreadConfined(UI)
|
|
1706
|
-
private void destroyInspectorHostTarget() {
|
|
1707
|
-
if (mReactHostInspectorTarget != null) {
|
|
1708
|
-
mReactHostInspectorTarget.close();
|
|
1709
|
-
mReactHostInspectorTarget = null;
|
|
1710
|
-
}
|
|
1711
|
-
}
|
|
1712
|
-
|
|
1713
1745
|
@ThreadConfined(UI)
|
|
1714
1746
|
private void unregisterInstanceFromInspector(final @Nullable ReactInstance reactInstance) {
|
|
1715
1747
|
if (reactInstance != null) {
|
|
@@ -1720,11 +1752,12 @@ public class ReactHostImpl implements ReactHost {
|
|
|
1720
1752
|
}
|
|
1721
1753
|
reactInstance.unregisterFromInspector();
|
|
1722
1754
|
}
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1755
|
+
}
|
|
1756
|
+
|
|
1757
|
+
@Override
|
|
1758
|
+
public void invalidate() {
|
|
1759
|
+
FLog.d(TAG, "ReactHostImpl.invalidate()");
|
|
1760
|
+
mHostInvalidated = true;
|
|
1761
|
+
destroy("ReactHostImpl.invalidate()", null);
|
|
1729
1762
|
}
|
|
1730
1763
|
}
|