react-native-tvos 0.85.3-1 → 0.86.0-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Libraries/Animated/AnimatedImplementation.js +6 -6
- package/Libraries/Animated/NativeAnimatedAllowlist.js +21 -0
- package/Libraries/Animated/components/AnimatedImage.js +3 -3
- package/Libraries/Animated/components/AnimatedText.js +3 -3
- package/Libraries/Animated/createAnimatedComponent.js +7 -7
- package/Libraries/Animated/nodes/AnimatedAddition.js +1 -1
- package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +1 -1
- package/Libraries/Animated/nodes/AnimatedDivision.js +1 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +22 -24
- package/Libraries/Animated/nodes/AnimatedModulo.js +1 -1
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +1 -1
- package/Libraries/Animated/nodes/AnimatedStyle.js +2 -2
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +1 -1
- package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValue.js +2 -2
- package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +4 -0
- package/Libraries/AppDelegate/RCTRootViewFactory.h +5 -5
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -2
- package/Libraries/AppState/AppState.js +1 -1
- package/Libraries/BatchedBridge/NativeModules.js +1 -1
- package/Libraries/Blob/RCTBlobCollector.h +1 -1
- package/Libraries/Blob/RCTBlobCollector.mm +14 -26
- package/Libraries/Blob/RCTBlobManager.mm +11 -3
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +29 -23
- package/Libraries/Components/Keyboard/Keyboard.js +4 -2
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -27
- package/Libraries/Components/Pressable/Pressable.d.ts +1 -0
- package/Libraries/Components/Pressable/Pressable.js +2 -2
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +7 -8
- package/Libraries/Components/ScrollView/ScrollView.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +2 -2
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +2 -2
- package/Libraries/Components/Switch/Switch.js +1 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +25 -1
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +2 -2
- package/Libraries/Components/TextInput/TextInput.d.ts +24 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +24 -0
- package/Libraries/Components/TextInput/TextInput.js +5 -5
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +5 -5
- package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +5 -5
- package/Libraries/Components/Touchable/PooledClass.js +4 -4
- package/Libraries/Components/Touchable/Touchable.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -10
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +10 -2
- package/Libraries/Components/View/View.js +100 -95
- package/Libraries/Components/View/ViewPropTypes.js +3 -1
- package/Libraries/Core/Devtools/loadBundleFromServer.js +8 -0
- package/Libraries/Core/ExceptionsManager.js +2 -8
- package/Libraries/Core/InitializeCore.js +0 -13
- package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/ReactNativeVersionCheck.js +1 -1
- package/Libraries/Core/Timers/JSTimers.js +2 -2
- package/Libraries/Core/Timers/immediateShim.js +1 -1
- package/Libraries/Core/setUpBatchedBridge.js +1 -1
- package/Libraries/Core/setUpSegmentFetcher.js +1 -1
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
- package/Libraries/EventEmitter/NativeEventEmitter.js +9 -5
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -2
- package/Libraries/Image/Image.android.js +15 -35
- package/Libraries/Image/RCTImageLoader.mm +4 -2
- package/Libraries/Image/RelativeImageStub.js +2 -2
- package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -12
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Lists/FlatList.js +1 -1
- package/Libraries/LogBox/LogBox.js +2 -2
- package/Libraries/LogBox/LogBoxInspectorContainer.js +24 -2
- package/Libraries/LogBox/LogBoxNotificationContainer.js +27 -4
- package/Libraries/LogBox/UI/LogBoxButton.js +47 -33
- package/Libraries/LogBox/UI/LogBoxInspector.js +61 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +6 -0
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +3 -1
- package/Libraries/LogBox/UI/LogBoxNotification.js +2 -0
- package/Libraries/Modal/Modal.js +12 -7
- package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +0 -2
- package/Libraries/NativeComponent/BaseViewConfig.android.js +15 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +17 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +2 -2
- package/Libraries/NativeComponent/ViewConfigIgnore.js +4 -2
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js.flow +1 -1
- package/Libraries/Network/RCTNetworking.mm +1 -2
- package/Libraries/Network/XMLHttpRequest.js +29 -12
- package/Libraries/Pressability/Pressability.js +2 -2
- package/Libraries/ReactNative/AppContainer-dev.js +2 -3
- package/Libraries/ReactNative/AppContainer-prod.js +1 -2
- package/Libraries/ReactNative/AppContainer.js +0 -1
- package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
- package/Libraries/ReactNative/AppRegistry.flow.js +1 -2
- package/Libraries/ReactNative/AppRegistryImpl.js +16 -16
- package/Libraries/ReactNative/DeprecatedPerformanceLoggerStub.js +83 -0
- package/Libraries/ReactNative/FabricUIManager.js +6 -0
- package/Libraries/{Utilities → ReactNative}/IPerformanceLogger.d.ts +8 -5
- package/Libraries/{Utilities/IPerformanceLogger.js → ReactNative/IPerformanceLogger.flow.js} +12 -9
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +14 -14
- package/Libraries/ReactNative/RendererImplementation.js +26 -143
- package/Libraries/ReactNative/RendererProxy.js +4 -15
- package/Libraries/ReactNative/renderApplication.js +33 -59
- package/Libraries/ReactNative/requireNativeComponent.js +3 -3
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +5 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -32
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +3 -3
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js.flow +2 -2
- package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +6 -8
- package/Libraries/StyleSheet/StyleSheetTypes.js +11 -11
- package/Libraries/StyleSheet/flattenStyle.js +1 -1
- package/Libraries/StyleSheet/private/_TransformStyle.js +1 -1
- package/Libraries/StyleSheet/processBackgroundImage.js +19 -9
- package/Libraries/StyleSheet/processBackgroundSize.js +7 -12
- package/Libraries/StyleSheet/processBoxShadow.js +9 -47
- package/Libraries/StyleSheet/processFilter.js +16 -8
- package/Libraries/StyleSheet/processTransformOrigin.js +10 -3
- package/Libraries/Text/Text.js +4 -4
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +16 -2
- package/Libraries/Text/TextNativeComponent.js +4 -4
- package/Libraries/TurboModule/RCTExport.js +1 -1
- package/Libraries/TurboModule/TurboModuleRegistry.js +3 -3
- package/Libraries/Types/CodegenTypes.js +7 -4
- package/Libraries/Types/ReactDevToolsTypes.js +1 -1
- package/Libraries/Utilities/BackHandler.android.js +11 -3
- package/Libraries/Utilities/BackHandler.d.ts +11 -1
- package/Libraries/Utilities/BackHandler.ios.js +3 -1
- package/Libraries/Utilities/BackHandler.js.flow +6 -1
- package/Libraries/Utilities/HardwareBackPressEvent.js +22 -0
- package/Libraries/Utilities/ReactNativeTestTools.js +4 -4
- package/Libraries/Utilities/binaryToBase64.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +2 -2
- package/Libraries/Utilities/codegenNativeComponent.js +4 -4
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -2
- package/Libraries/Utilities/stringifySafe.js +1 -1
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/Libraries/vendor/core/ErrorUtils.js +4 -4
- package/Libraries/vendor/emitter/EventEmitter.js +27 -13
- package/React/Base/RCTBundleURLProvider.h +19 -1
- package/React/Base/RCTBundleURLProvider.mm +82 -0
- package/React/Base/RCTDefines.h +1 -1
- package/React/Base/RCTMultipartDataTask.h +1 -1
- package/React/Base/RCTMultipartDataTask.m +0 -3
- package/React/Base/RCTRootView.h +4 -0
- package/React/Base/RCTRootViewDelegate.h +5 -2
- package/React/Base/RCTVersion.m +3 -3
- package/React/Base/Surface/RCTSurface.h +3 -0
- package/React/Base/Surface/RCTSurfaceDelegate.h +7 -3
- package/React/Base/Surface/RCTSurfaceRootView.mm +1 -1
- package/React/Base/Surface/RCTSurfaceView.mm +2 -1
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +2 -0
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +0 -3
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -1
- package/React/CoreModules/RCTDevMenuConfigurationDecorator.h +2 -2
- package/React/CoreModules/RCTRedBox2AnsiParser.mm +1 -1
- package/React/CoreModules/RCTWebSocketModule.mm +45 -6
- package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -1
- package/React/DevSupport/RCTInspectorDevServerHelper.mm +4 -0
- package/React/DevSupport/RCTPackagerConnection.mm +13 -11
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +108 -43
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -0
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +1 -1
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +2 -2
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +70 -8
- package/React/Fabric/RCTConversions.h +14 -0
- package/React/Fabric/RCTScheduler.mm +18 -0
- package/React/Fabric/RCTSurfacePointerHandler.mm +8 -2
- package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -0
- package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
- package/React/I18n/strings/pt.lproj/fbt_language_pack.bin +0 -0
- package/React/Modules/RCTUIManager.mm +1 -1
- package/React/Profiler/RCTProfile.h +5 -0
- package/React/Profiler/RCTProfile.m +2 -1
- package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
- package/React/Profiler/RCTProfileTrampoline-arm64.S +1 -1
- package/React/Profiler/RCTProfileTrampoline-i386.S +1 -1
- package/React/Profiler/RCTProfileTrampoline-x86_64.S +1 -1
- package/React/Tests/Mounting/RCTViewComponentViewTests.mm +186 -0
- package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +5 -5
- package/React/Views/RCTLayout.m +4 -3
- package/React/Views/ScrollView/RCTScrollView.h +6 -2
- package/ReactAndroid/api/ReactAndroid.api +37 -27
- package/ReactAndroid/build.gradle.kts +28 -21
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +40 -110
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +32 -87
- package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +9 -99
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +7 -28
- package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +2 -19
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +15 -23
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +36 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJNISoLoader.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJniCommonSoLoader.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultSoLoader.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +15 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/DevSupportHttpClient.kt +9 -34
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +9 -10
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +10 -10
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +15 -13
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +139 -43
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/ViewTransitionSnapshotManager.kt +223 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +25 -8
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +34 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +104 -65
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +9 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +172 -36
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/interfaces/ExtraWindowEventListener.kt +29 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +41 -29
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +71 -51
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +15 -11
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +16 -12
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +79 -57
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +15 -11
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +5 -9
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/rewrite_feature_flag_defaults.py +76 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/tests/test_rewrite_feature_flag_defaults.py +63 -0
- package/ReactAndroid/src/main/java/com/facebook/react/internal/tracing/PerformanceTracer.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +10 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +21 -20
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +63 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +59 -62
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +45 -36
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +18 -5
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +8 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +21 -19
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +77 -72
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +7 -16
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.kt +17 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +20 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +18 -24
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +11 -71
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +10 -17
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +29 -30
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundImageDrawable.kt +5 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +12 -13
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +30 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/SynchronousEventReceiver.kt +28 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +9 -9
- package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +27 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +1 -14
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +1 -22
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +18 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +20 -21
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +19 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +14 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +5 -162
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +71 -97
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/DrawCommandSpan.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +7 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +40 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +59 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +84 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +41 -65
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +85 -13
- package/ReactAndroid/src/main/java/com/facebook/soloader/annotation/SoLoaderLibrary.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +5 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.kt +30 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.java +39 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +20 -12
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +101 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.kt +33 -0
- package/ReactAndroid/src/main/jni/CMakeLists.txt +10 -1
- package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.cpp +0 -1
- package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +0 -2
- package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +26 -6
- package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h +3 -3
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +47 -0
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +20 -6
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +24 -1
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +6 -0
- package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +0 -1
- package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +1 -0
- package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.cpp +85 -0
- package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.h +46 -0
- package/ReactAndroid/src/main/jni/react/fabric/test_helper/OnLoad.cpp +16 -0
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +97 -69
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +21 -15
- package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +0 -2
- package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +2 -1
- package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp +37 -30
- package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +11 -8
- package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +2 -1
- package/ReactAndroid/src/main/jni/react/reactnativeblob/OnLoad.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +10 -0
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +7 -0
- package/ReactAndroid/src/main/jni/react/tracing/CMakeLists.txt +28 -0
- package/ReactCommon/React-Fabric.podspec +7 -0
- package/ReactCommon/React-FabricComponents.podspec +1 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +5 -5
- package/ReactCommon/jsc/JSCRuntime.cpp +9 -0
- package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +1 -0
- package/ReactCommon/jserrorhandler/JsErrorHandler.h +1 -1
- package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -0
- package/ReactCommon/jsi/jsi/decorator.h +93 -0
- package/ReactCommon/jsi/jsi/jsi-inl.h +97 -68
- package/ReactCommon/jsi/jsi/jsi.cpp +208 -27
- package/ReactCommon/jsi/jsi/jsi.h +553 -224
- package/ReactCommon/jsi/jsi/test/testlib.cpp +453 -0
- package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +1 -1
- package/ReactCommon/jsinspector-modern/EmulationAgent.cpp +108 -0
- package/ReactCommon/jsinspector-modern/EmulationAgent.h +47 -0
- package/ReactCommon/jsinspector-modern/HostAgent.cpp +10 -1
- package/ReactCommon/jsinspector-modern/HostTarget.h +25 -0
- package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +6 -2
- package/ReactCommon/jsinspector-modern/InspectorFlags.h +5 -2
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +19 -2
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +3 -0
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +10 -0
- package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +0 -1
- package/ReactCommon/logger/react_native_log.cpp +0 -1
- package/ReactCommon/react/bridging/Array.h +1 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +29 -21
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +35 -25
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +168 -132
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +18 -14
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +28 -20
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +61 -43
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +3 -3
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +9 -7
- package/ReactCommon/react/featureflags/rewrite_feature_flag_defaults.py +111 -0
- package/ReactCommon/react/featureflags/tests/test_rewrite_feature_flag_defaults.py +60 -0
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +3 -9
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +0 -1
- package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
- package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +7 -0
- package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -0
- package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +2 -2
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +35 -25
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +15 -11
- package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +3 -2
- package/ReactCommon/react/nativemodule/viewtransition/CMakeLists.txt +24 -0
- package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.cpp +92 -0
- package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.h +37 -0
- package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +58 -0
- package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +10 -1
- package/ReactCommon/react/networking/NetworkReporter.h +0 -1
- package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.h +0 -1
- package/ReactCommon/react/performance/timeline/PerformanceEntry.h +1 -1
- package/ReactCommon/react/performance/timeline/tests/PerformanceEntryTest.cpp +62 -0
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +24 -12
- package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +1 -1
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +3 -0
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +10 -3
- package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +1 -0
- package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +4 -0
- package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +1 -1
- package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +0 -1
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +8 -3
- package/ReactCommon/react/renderer/animations/tests/MutationComparatorTest.cpp +273 -0
- package/ReactCommon/react/renderer/animations/utils.h +12 -1
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +1 -1
- package/ReactCommon/react/renderer/attributedstring/conversions.h +104 -3
- package/ReactCommon/react/renderer/components/image/conversions.h +2 -3
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +0 -1
- package/ReactCommon/react/renderer/components/scrollview/conversions.h +0 -1
- package/ReactCommon/react/renderer/components/text/stateConversions.h +0 -1
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +531 -21
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +9 -0
- package/ReactCommon/react/renderer/components/view/BaseTouch.cpp +3 -2
- package/ReactCommon/react/renderer/components/view/BaseTouch.h +7 -0
- package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +8 -0
- package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +2 -0
- package/ReactCommon/react/renderer/components/view/PointerEvent.h +5 -0
- package/ReactCommon/react/renderer/components/view/TouchEvent.h +0 -2
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +23 -5
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +1 -0
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +5 -0
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +33 -28
- package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +0 -1
- package/ReactCommon/react/renderer/components/view/conversions.h +44 -28
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +53 -5
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/NativeDrawable.h +47 -16
- package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +2 -2
- package/ReactCommon/react/renderer/{graphics/DoubleConversions.h → components/view/platform/tvos/react/renderer/components/view/HostPlatformTouch.h} +2 -4
- package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewEventEmitter.h +14 -0
- package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.cpp +38 -0
- package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.h +29 -0
- package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +30 -0
- package/ReactCommon/react/renderer/components/view/propsConversions.h +8 -2
- package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +86 -0
- package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +34 -0
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +67 -2
- package/ReactCommon/react/renderer/core/EventEmitter.h +25 -0
- package/ReactCommon/react/renderer/core/EventPipe.h +3 -1
- package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +18 -10
- package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -5
- package/ReactCommon/react/renderer/core/LayoutContext.h +9 -2
- package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +5 -3
- package/ReactCommon/react/renderer/core/LayoutPrimitives.h +1 -0
- package/ReactCommon/react/renderer/core/Props.cpp +20 -0
- package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
- package/ReactCommon/react/renderer/core/RawEvent.h +6 -6
- package/ReactCommon/react/renderer/core/ShadowNode.h +2 -2
- package/ReactCommon/react/renderer/core/conversions.h +4 -0
- package/ReactCommon/react/renderer/core/graphicsConversions.h +4 -4
- package/ReactCommon/react/renderer/core/propsConversions.h +1 -1
- package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +52 -3
- package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +26 -0
- package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +1 -1
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +42 -26
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +4 -2
- package/ReactCommon/react/renderer/debug/tests/DebugStringConvertibleTest.cpp +34 -3
- package/ReactCommon/react/renderer/graphics/BlendMode.h +5 -0
- package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -0
- package/ReactCommon/react/renderer/graphics/ColorStop.h +3 -0
- package/ReactCommon/react/renderer/graphics/LinearGradient.h +3 -0
- package/ReactCommon/react/renderer/graphics/RadialGradient.h +4 -0
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
- package/ReactCommon/react/renderer/graphics/ValueUnit.cpp +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +0 -5
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +2 -2
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +0 -4
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +5 -1
- package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +12 -4
- package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -0
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +307 -4
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +27 -2
- package/ReactCommon/react/renderer/mounting/internal/LongestIncreasingSubsequence.h +95 -0
- package/ReactCommon/react/renderer/mounting/tests/DifferentiatorUnflattenTest.cpp +212 -0
- package/ReactCommon/react/renderer/mounting/tests/LongestIncreasingSubsequenceTest.cpp +154 -0
- package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +314 -18
- package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +38 -20
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +20 -22
- package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +76 -3
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +12 -0
- package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +5 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +0 -7
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +2 -1
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +16 -1
- package/ReactCommon/react/renderer/uimanager/UIManager.h +8 -0
- package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +1 -0
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +347 -5
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +5 -3
- package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +5 -0
- package/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h +82 -0
- package/ReactCommon/react/renderer/viewtransition/CMakeLists.txt +22 -0
- package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.cpp +520 -0
- package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.h +161 -0
- package/ReactCommon/react/runtime/TimerManager.cpp +4 -2
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +37 -0
- package/ReactCommon/react/timing/PrivacyInfo.xcprivacy +21 -0
- package/ReactCommon/react/timing/React-timing.podspec +2 -0
- package/ReactCommon/react/timing/primitives.h +33 -1
- package/ReactCommon/yoga/yoga/YGEnums.cpp +32 -0
- package/ReactCommon/yoga/yoga/YGEnums.h +20 -4
- package/ReactCommon/yoga/yoga/YGMacros.h +2 -0
- package/ReactCommon/yoga/yoga/YGNode.h +1 -1
- package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +269 -0
- package/ReactCommon/yoga/yoga/YGNodeStyle.h +93 -1
- package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +40 -9
- package/ReactCommon/yoga/yoga/algorithm/Align.h +12 -1
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +106 -14
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +22 -0
- package/ReactCommon/yoga/yoga/enums/Align.h +3 -1
- package/ReactCommon/yoga/yoga/enums/Display.h +2 -1
- package/ReactCommon/yoga/yoga/enums/ExperimentalFeature.h +2 -1
- package/ReactCommon/yoga/yoga/enums/GridTrackType.h +43 -0
- package/ReactCommon/yoga/yoga/enums/Justify.h +5 -1
- package/ReactCommon/yoga/yoga/event/event.cpp +2 -0
- package/ReactCommon/yoga/yoga/event/event.h +1 -0
- package/ReactCommon/yoga/yoga/node/Node.cpp +6 -1
- package/ReactCommon/yoga/yoga/node/Node.h +4 -4
- package/ReactCommon/yoga/yoga/style/GridLine.h +53 -0
- package/ReactCommon/yoga/yoga/style/GridTrack.h +63 -0
- package/ReactCommon/yoga/yoga/style/Style.h +261 -71
- package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -1
- package/ReactCommon/yoga/yoga/style/StyleValueHandle.h +8 -0
- package/ReactCommon/yoga/yoga/style/StyleValuePool.h +10 -0
- package/cli.js +1 -1
- package/flow/HermesInternalType.js +1 -1
- package/flow/bom.js.flow +95 -3
- package/flow/dom.js.flow +89 -89
- package/gradle/libs.versions.toml +3 -1
- package/index.js +30 -3
- package/index.js.flow +23 -1
- package/package.json +11 -11
- package/react-native.config.js +3 -3
- package/scripts/cocoapods/rncore.rb +65 -11
- package/scripts/cocoapods/rndependencies.rb +65 -11
- package/scripts/cocoapods/utils.rb +52 -0
- package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +1 -1
- package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +13 -4
- package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +1 -1
- package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +1 -1
- package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +17 -6
- package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +1 -1
- package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +1 -1
- package/scripts/codegen/generate-artifacts-executor/index.js +2 -0
- package/scripts/codegen/generate-artifacts-executor/utils.js +1 -1
- package/scripts/codegen/generate-specs-cli-executor.js +1 -1
- package/scripts/generate-codegen-artifacts.js +20 -2
- package/scripts/generate-provider-cli.js +1 -1
- package/scripts/react_native_pods.rb +25 -2
- package/scripts/react_native_pods_utils/script_phases.rb +9 -3
- package/scripts/replace-rncore-version.js +20 -0
- package/scripts/xcode/with-environment.sh +7 -1
- package/sdks/.hermesv1version +1 -1
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/hermes-utils.rb +92 -5
- package/sdks/hermes-engine/version.properties +2 -2
- package/src/private/animated/NativeAnimatedValidation.js +1 -1
- package/src/private/animated/createAnimatedPropsHook.js +2 -2
- package/src/private/components/virtualcollection/FlingConstants.js +21 -0
- package/src/private/components/virtualcollection/Virtual.js +62 -0
- package/src/private/components/virtualcollection/VirtualCollectionView.js +238 -0
- package/src/private/components/virtualcollection/column/VirtualColumn.js +43 -0
- package/src/private/components/virtualcollection/column/VirtualColumnGenerator.js +72 -0
- package/src/private/components/virtualcollection/debug/FlingItemOverlay.js +13 -0
- package/src/private/components/virtualcollection/dom/getScrollParent.js +43 -0
- package/src/private/components/virtualcollection/dom/isScrollableNode.js +22 -0
- package/src/private/components/virtualcollection/row/VirtualRow.js +43 -0
- package/src/private/components/virtualcollection/row/VirtualRowGenerator.js +72 -0
- package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +1 -1
- package/src/private/devsupport/devmenu/specs/NativeDevMenu.js +1 -1
- package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
- package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsSettingsManager.js +2 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +41 -37
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +9 -7
- package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
- package/src/private/renderer/events/LegacySyntheticEvent.js +90 -0
- package/src/private/renderer/events/ReactNativeEventTypeMapping.js +103 -0
- package/src/private/renderer/events/ReactNativeResponder.js +687 -0
- package/src/private/renderer/events/ResponderEvent.js +40 -0
- package/src/private/renderer/events/ResponderTouchHistoryStore.js +258 -0
- package/src/private/renderer/events/dispatchNativeEvent.js +83 -0
- package/src/private/setup/setUpDOM.js +20 -0
- package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAppState.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeTiming.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeVibration.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +2 -2
- package/src/private/styles/composeStyles.js +1 -1
- package/src/private/types/HostComponent.js +1 -1
- package/src/private/utilities/toExtendedError.js +1 -1
- package/src/private/viewtransition/specs/NativeViewTransition.js +33 -0
- package/src/private/webapis/dom/events/Event.js +10 -1
- package/src/private/webapis/dom/events/EventTarget.js +60 -18
- package/src/private/webapis/dom/events/internals/EventInternals.js +18 -1
- package/src/private/webapis/dom/events/internals/EventTargetInternals.js +12 -0
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +24 -0
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +4 -6
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +70 -1
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +10 -0
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +1 -1
- package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +2 -2
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +5 -9
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +2 -2
- package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +2 -2
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +2 -2
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +1 -1
- package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
- package/src/private/webapis/structuredClone/structuredClone.js +1 -1
- package/src/private/webapis/webidl/PlatformObjects.js +4 -4
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +0 -19669
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +0 -11129
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +0 -12930
- package/Libraries/Renderer/shims/ReactNative.js +0 -27
- package/Libraries/Utilities/GlobalPerformanceLogger.js +0 -24
- package/Libraries/Utilities/PerformanceLoggerContext.js +0 -33
- package/Libraries/Utilities/createPerformanceLogger.js +0 -329
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +0 -442
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobCollector.kt +0 -31
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerLegacyView.kt +0 -47
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +0 -31
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.java +0 -35
- package/ReactCommon/react/renderer/graphics/DoubleConversions.cpp +0 -38
|
@@ -279,6 +279,11 @@ val preparePrefab by
|
|
|
279
279
|
"../ReactCommon/react/renderer/animationbackend/",
|
|
280
280
|
"react/renderer/animationbackend/",
|
|
281
281
|
),
|
|
282
|
+
// react_renderer_viewtransition
|
|
283
|
+
Pair(
|
|
284
|
+
"../ReactCommon/react/renderer/viewtransition/",
|
|
285
|
+
"react/renderer/viewtransition/",
|
|
286
|
+
),
|
|
282
287
|
),
|
|
283
288
|
),
|
|
284
289
|
PrefabPreprocessingEntry(
|
|
@@ -291,11 +296,10 @@ val preparePrefab by
|
|
|
291
296
|
outputDir.set(prefabHeadersDir)
|
|
292
297
|
}
|
|
293
298
|
|
|
294
|
-
val createNativeDepsDirectories by
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
}
|
|
299
|
+
val createNativeDepsDirectories by tasks.registering {
|
|
300
|
+
downloadsDir.mkdirs()
|
|
301
|
+
thirdPartyNdkDir.mkdirs()
|
|
302
|
+
}
|
|
299
303
|
|
|
300
304
|
val downloadBoostDest = File(downloadsDir, "boost_${BOOST_VERSION}.tar.gz")
|
|
301
305
|
val downloadBoost by
|
|
@@ -436,23 +440,21 @@ val prepareGlog by
|
|
|
436
440
|
}
|
|
437
441
|
|
|
438
442
|
// Tasks used by Fantom to download the Native 3p dependencies used.
|
|
439
|
-
val prepareNative3pDependencies by
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
}
|
|
443
|
+
val prepareNative3pDependencies by tasks.registering {
|
|
444
|
+
dependsOn(
|
|
445
|
+
prepareBoost,
|
|
446
|
+
prepareDoubleConversion,
|
|
447
|
+
prepareFastFloat,
|
|
448
|
+
prepareFmt,
|
|
449
|
+
prepareFolly,
|
|
450
|
+
prepareGlog,
|
|
451
|
+
)
|
|
452
|
+
}
|
|
450
453
|
|
|
451
|
-
val prepareKotlinBuildScriptModel by
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
}
|
|
454
|
+
val prepareKotlinBuildScriptModel by tasks.registering {
|
|
455
|
+
// This task is run when Gradle Sync is running.
|
|
456
|
+
// We create it here so we can let it depend on preBuild inside the android{}
|
|
457
|
+
}
|
|
456
458
|
|
|
457
459
|
// As ReactAndroid builds from source, the codegen needs to be built before it can be invoked.
|
|
458
460
|
// This is not the case for users of React Native, as we ship a compiled version of the codegen.
|
|
@@ -687,6 +689,10 @@ tasks.withType<KotlinCompile>().configureEach {
|
|
|
687
689
|
exclude("com/facebook/annotationprocessors/**")
|
|
688
690
|
exclude("com/facebook/react/processing/**")
|
|
689
691
|
exclude("com/facebook/react/module/processing/**")
|
|
692
|
+
// These are instrumentation tests that require a device/emulator and native test
|
|
693
|
+
// libraries not available in the OSS Gradle build (Buck-only).
|
|
694
|
+
exclude("com/facebook/react/fabric/FabricMountingManagerInstrumentationTest.kt")
|
|
695
|
+
exclude("com/facebook/react/fabric/FabricMountingManagerTestHelper.kt")
|
|
690
696
|
}
|
|
691
697
|
|
|
692
698
|
dependencies {
|
|
@@ -695,6 +701,7 @@ dependencies {
|
|
|
695
701
|
api(libs.androidx.autofill)
|
|
696
702
|
api(libs.androidx.swiperefreshlayout)
|
|
697
703
|
api(libs.androidx.tracing)
|
|
704
|
+
api(libs.androidx.window)
|
|
698
705
|
|
|
699
706
|
api(libs.fbjni)
|
|
700
707
|
api(libs.fresco)
|
package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.kt
CHANGED
|
@@ -8,8 +8,10 @@
|
|
|
8
8
|
package com.facebook.hermes.instrumentation
|
|
9
9
|
|
|
10
10
|
import com.facebook.soloader.SoLoader
|
|
11
|
+
import com.facebook.soloader.annotation.SoLoaderLibrary
|
|
11
12
|
|
|
12
13
|
/** Hermes sampling profiler static JSI API. */
|
|
14
|
+
@SoLoaderLibrary("jsijniprofiler")
|
|
13
15
|
public object HermesSamplingProfiler {
|
|
14
16
|
init {
|
|
15
17
|
SoLoader.loadLibrary("jsijniprofiler")
|
|
@@ -138,9 +138,7 @@ public class ReactActivityDelegate {
|
|
|
138
138
|
if (mActivity != null) {
|
|
139
139
|
Window window = mActivity.getWindow();
|
|
140
140
|
if (window != null) {
|
|
141
|
-
|
|
142
|
-
WindowUtilKt.enableEdgeToEdge(window);
|
|
143
|
-
}
|
|
141
|
+
WindowUtilKt.updateEdgeToEdgeFeatureFlag(mActivity);
|
|
144
142
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && isWideColorGamutEnabled()) {
|
|
145
143
|
window.setColorMode(ActivityInfo.COLOR_MODE_WIDE_COLOR_GAMUT);
|
|
146
144
|
}
|
|
@@ -60,6 +60,8 @@ internal class ReactAndroidHWInputDeviceHelper {
|
|
|
60
60
|
KeyEvent.KEYCODE_DPAD_CENTER to "select",
|
|
61
61
|
KeyEvent.KEYCODE_ENTER to "select",
|
|
62
62
|
KeyEvent.KEYCODE_SPACE to "select",
|
|
63
|
+
KeyEvent.KEYCODE_MEDIA_PLAY to "play",
|
|
64
|
+
KeyEvent.KEYCODE_MEDIA_PAUSE to "pause",
|
|
63
65
|
KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE to "playPause",
|
|
64
66
|
KeyEvent.KEYCODE_MEDIA_REWIND to "rewind",
|
|
65
67
|
KeyEvent.KEYCODE_MEDIA_FAST_FORWARD to "fastForward",
|
|
@@ -10,15 +10,11 @@ package com.facebook.react;
|
|
|
10
10
|
import static com.facebook.infer.annotation.ThreadConfined.UI;
|
|
11
11
|
import static com.facebook.react.bridge.ReactMarkerConstants.ATTACH_MEASURED_ROOT_VIEWS_END;
|
|
12
12
|
import static com.facebook.react.bridge.ReactMarkerConstants.ATTACH_MEASURED_ROOT_VIEWS_START;
|
|
13
|
-
import static com.facebook.react.bridge.ReactMarkerConstants.BUILD_NATIVE_MODULE_REGISTRY_END;
|
|
14
|
-
import static com.facebook.react.bridge.ReactMarkerConstants.BUILD_NATIVE_MODULE_REGISTRY_START;
|
|
15
13
|
import static com.facebook.react.bridge.ReactMarkerConstants.CHANGE_THREAD_PRIORITY;
|
|
16
14
|
import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_VIEW_MANAGERS_END;
|
|
17
15
|
import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_VIEW_MANAGERS_START;
|
|
18
16
|
import static com.facebook.react.bridge.ReactMarkerConstants.PRE_SETUP_REACT_CONTEXT_END;
|
|
19
17
|
import static com.facebook.react.bridge.ReactMarkerConstants.PRE_SETUP_REACT_CONTEXT_START;
|
|
20
|
-
import static com.facebook.react.bridge.ReactMarkerConstants.PROCESS_PACKAGES_END;
|
|
21
|
-
import static com.facebook.react.bridge.ReactMarkerConstants.PROCESS_PACKAGES_START;
|
|
22
18
|
import static com.facebook.react.bridge.ReactMarkerConstants.REACT_CONTEXT_THREAD_END;
|
|
23
19
|
import static com.facebook.react.bridge.ReactMarkerConstants.REACT_CONTEXT_THREAD_START;
|
|
24
20
|
import static com.facebook.react.bridge.ReactMarkerConstants.SETUP_REACT_CONTEXT_END;
|
|
@@ -27,6 +23,7 @@ import static com.facebook.react.bridge.ReactMarkerConstants.VM_INIT;
|
|
|
27
23
|
import static com.facebook.react.uimanager.common.UIManagerType.FABRIC;
|
|
28
24
|
import static com.facebook.systrace.Systrace.TRACE_TAG_REACT;
|
|
29
25
|
|
|
26
|
+
import android.annotation.SuppressLint;
|
|
30
27
|
import android.app.Activity;
|
|
31
28
|
import android.content.Context;
|
|
32
29
|
import android.content.Intent;
|
|
@@ -51,7 +48,6 @@ import com.facebook.react.bridge.JSBundleLoader;
|
|
|
51
48
|
import com.facebook.react.bridge.JSExceptionHandler;
|
|
52
49
|
import com.facebook.react.bridge.JavaScriptExecutor;
|
|
53
50
|
import com.facebook.react.bridge.JavaScriptExecutorFactory;
|
|
54
|
-
import com.facebook.react.bridge.NativeModuleRegistry;
|
|
55
51
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
56
52
|
import com.facebook.react.bridge.ReactContext;
|
|
57
53
|
import com.facebook.react.bridge.ReactMarker;
|
|
@@ -81,7 +77,6 @@ import com.facebook.react.internal.AndroidChoreographerProvider;
|
|
|
81
77
|
import com.facebook.react.internal.ChoreographerProvider;
|
|
82
78
|
import com.facebook.react.internal.featureflags.ReactNativeNewArchitectureFeatureFlags;
|
|
83
79
|
import com.facebook.react.modules.appearance.AppearanceModule;
|
|
84
|
-
import com.facebook.react.modules.appregistry.AppRegistry;
|
|
85
80
|
import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
|
|
86
81
|
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
|
87
82
|
import com.facebook.react.modules.core.ReactChoreographer;
|
|
@@ -91,7 +86,6 @@ import com.facebook.react.uimanager.ReactRoot;
|
|
|
91
86
|
import com.facebook.react.uimanager.ReactStage;
|
|
92
87
|
import com.facebook.react.uimanager.UIManagerHelper;
|
|
93
88
|
import com.facebook.react.uimanager.ViewManager;
|
|
94
|
-
import com.facebook.react.uimanager.common.UIManagerType;
|
|
95
89
|
import com.facebook.react.views.imagehelper.ResourceDrawableIdHelper;
|
|
96
90
|
import com.facebook.soloader.SoLoader;
|
|
97
91
|
import com.facebook.systrace.Systrace;
|
|
@@ -593,12 +587,14 @@ public class ReactInstanceManager {
|
|
|
593
587
|
|
|
594
588
|
/**
|
|
595
589
|
* Call this from {@link Activity#onPause()}. This notifies any listening modules so they can do
|
|
596
|
-
* any necessary cleanup. The passed Activity is the current Activity being paused. This
|
|
597
|
-
*
|
|
598
|
-
* ReactContext#getCurrentActivity()}.
|
|
590
|
+
* any necessary cleanup. The passed Activity is the current Activity being paused. This is
|
|
591
|
+
* expected to be the foreground activity that would be returned by {@link
|
|
592
|
+
* ReactContext#getCurrentActivity()}. If the passed activity does not match the current activity,
|
|
593
|
+
* a warning will be logged instead of crashing.
|
|
599
594
|
*
|
|
600
595
|
* @param activity the activity being paused
|
|
601
596
|
*/
|
|
597
|
+
@SuppressLint("ReflectionMethodUse")
|
|
602
598
|
@ThreadConfined(UI)
|
|
603
599
|
public void onHostPause(@Nullable Activity activity) {
|
|
604
600
|
if (mRequireActivity) {
|
|
@@ -612,15 +608,15 @@ public class ReactInstanceManager {
|
|
|
612
608
|
}
|
|
613
609
|
Assertions.assertCondition(mCurrentActivity != null);
|
|
614
610
|
}
|
|
615
|
-
if (mCurrentActivity != null) {
|
|
616
|
-
|
|
617
|
-
|
|
611
|
+
if (mCurrentActivity != null && activity != mCurrentActivity) {
|
|
612
|
+
FLog.w(
|
|
613
|
+
TAG,
|
|
618
614
|
"Pausing an activity that is not the current activity, this is incorrect! "
|
|
619
615
|
+ "Current activity: "
|
|
620
616
|
+ mCurrentActivity.getClass().getSimpleName()
|
|
621
617
|
+ " "
|
|
622
618
|
+ "Paused activity: "
|
|
623
|
-
+ activity.getClass().getSimpleName());
|
|
619
|
+
+ (activity == null ? "null" : activity.getClass().getSimpleName()));
|
|
624
620
|
}
|
|
625
621
|
onHostPause();
|
|
626
622
|
}
|
|
@@ -769,10 +765,7 @@ public class ReactInstanceManager {
|
|
|
769
765
|
synchronized (mReactContextLock) {
|
|
770
766
|
if (mCurrentReactContext != null) {
|
|
771
767
|
for (ReactRoot reactRoot : mAttachedReactRoots) {
|
|
772
|
-
|
|
773
|
-
if (reactRoot.getUIManagerType() == UIManagerType.FABRIC) {
|
|
774
|
-
detachRootViewFromInstance(reactRoot, mCurrentReactContext);
|
|
775
|
-
}
|
|
768
|
+
detachRootViewFromInstance(reactRoot, mCurrentReactContext);
|
|
776
769
|
}
|
|
777
770
|
|
|
778
771
|
mCurrentReactContext.destroy();
|
|
@@ -1273,9 +1266,7 @@ public class ReactInstanceManager {
|
|
|
1273
1266
|
|
|
1274
1267
|
Systrace.beginSection(TRACE_TAG_REACT, "attachRootViewToInstance");
|
|
1275
1268
|
|
|
1276
|
-
@Nullable
|
|
1277
|
-
UIManager uiManager =
|
|
1278
|
-
UIManagerHelper.getUIManager(mCurrentReactContext, reactRoot.getUIManagerType());
|
|
1269
|
+
@Nullable UIManager uiManager = UIManagerHelper.getUIManager(mCurrentReactContext, FABRIC);
|
|
1279
1270
|
|
|
1280
1271
|
// If we can't get a UIManager something has probably gone horribly wrong
|
|
1281
1272
|
if (uiManager == null) {
|
|
@@ -1286,28 +1277,16 @@ public class ReactInstanceManager {
|
|
|
1286
1277
|
|
|
1287
1278
|
@Nullable Bundle initialProperties = reactRoot.getAppProperties();
|
|
1288
1279
|
|
|
1289
|
-
final int rootTag
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
reactRoot.getHeightMeasureSpec());
|
|
1300
|
-
reactRoot.setShouldLogContentAppeared(true);
|
|
1301
|
-
} else {
|
|
1302
|
-
rootTag =
|
|
1303
|
-
uiManager.addRootView(
|
|
1304
|
-
reactRoot.getRootViewGroup(),
|
|
1305
|
-
initialProperties == null
|
|
1306
|
-
? new WritableNativeMap()
|
|
1307
|
-
: Arguments.fromBundle(initialProperties));
|
|
1308
|
-
reactRoot.setRootViewTag(rootTag);
|
|
1309
|
-
reactRoot.runApplication();
|
|
1310
|
-
}
|
|
1280
|
+
final int rootTag =
|
|
1281
|
+
uiManager.startSurface(
|
|
1282
|
+
reactRoot.getRootViewGroup(),
|
|
1283
|
+
reactRoot.getJSModuleName(),
|
|
1284
|
+
initialProperties == null
|
|
1285
|
+
? new WritableNativeMap()
|
|
1286
|
+
: Arguments.fromBundle(initialProperties),
|
|
1287
|
+
reactRoot.getWidthMeasureSpec(),
|
|
1288
|
+
reactRoot.getHeightMeasureSpec());
|
|
1289
|
+
reactRoot.setShouldLogContentAppeared(true);
|
|
1311
1290
|
|
|
1312
1291
|
Systrace.beginAsyncSection(TRACE_TAG_REACT, "pre_rootView.onAttachedToReactInstance", rootTag);
|
|
1313
1292
|
UiThreadUtil.runOnUiThread(
|
|
@@ -1328,36 +1307,28 @@ public class ReactInstanceManager {
|
|
|
1328
1307
|
return;
|
|
1329
1308
|
}
|
|
1330
1309
|
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
if (
|
|
1341
|
-
|
|
1342
|
-
if (uiManager != null) {
|
|
1343
|
-
uiManager.stopSurface(surfaceId);
|
|
1344
|
-
} else {
|
|
1345
|
-
FLog.w(ReactConstants.TAG, "Failed to stop surface, UIManager has already gone away");
|
|
1346
|
-
}
|
|
1310
|
+
// Stop surface in Fabric.
|
|
1311
|
+
// Calling FabricUIManager.stopSurface causes the C++ Binding.stopSurface
|
|
1312
|
+
// to be called synchronously over the JNI, which causes an empty tree
|
|
1313
|
+
// to be committed via the Scheduler, which will cause mounting instructions
|
|
1314
|
+
// to be queued up and synchronously executed to delete and remove
|
|
1315
|
+
// all the views in the hierarchy.
|
|
1316
|
+
final int surfaceId = reactRoot.getRootViewTag();
|
|
1317
|
+
if (surfaceId != View.NO_ID) {
|
|
1318
|
+
UIManager uiManager = UIManagerHelper.getUIManager(reactContext, FABRIC);
|
|
1319
|
+
if (uiManager != null) {
|
|
1320
|
+
uiManager.stopSurface(surfaceId);
|
|
1347
1321
|
} else {
|
|
1348
|
-
|
|
1349
|
-
TAG,
|
|
1350
|
-
new RuntimeException(
|
|
1351
|
-
"detachRootViewFromInstance called with ReactRootView with invalid id"));
|
|
1322
|
+
FLog.w(ReactConstants.TAG, "Failed to stop surface, UIManager has already gone away");
|
|
1352
1323
|
}
|
|
1353
|
-
|
|
1354
|
-
clearReactRoot(reactRoot);
|
|
1355
1324
|
} else {
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1325
|
+
ReactSoftExceptionLogger.logSoftException(
|
|
1326
|
+
TAG,
|
|
1327
|
+
new RuntimeException(
|
|
1328
|
+
"detachRootViewFromInstance called with ReactRootView with invalid id"));
|
|
1360
1329
|
}
|
|
1330
|
+
|
|
1331
|
+
clearReactRoot(reactRoot);
|
|
1361
1332
|
}
|
|
1362
1333
|
|
|
1363
1334
|
@ThreadConfined(UI)
|
|
@@ -1392,45 +1363,4 @@ public class ReactInstanceManager {
|
|
|
1392
1363
|
"ReactInstanceManager.createReactContext is unsupported. CatalystInstanceImpl has been"
|
|
1393
1364
|
+ " removed.");
|
|
1394
1365
|
}
|
|
1395
|
-
|
|
1396
|
-
private NativeModuleRegistry processPackages(
|
|
1397
|
-
ReactApplicationContext reactContext, List<ReactPackage> packages) {
|
|
1398
|
-
NativeModuleRegistryBuilder nativeModuleRegistryBuilder =
|
|
1399
|
-
new NativeModuleRegistryBuilder(reactContext);
|
|
1400
|
-
|
|
1401
|
-
ReactMarker.logMarker(PROCESS_PACKAGES_START);
|
|
1402
|
-
|
|
1403
|
-
synchronized (mPackages) {
|
|
1404
|
-
for (ReactPackage reactPackage : packages) {
|
|
1405
|
-
Systrace.beginSection(TRACE_TAG_REACT, "createAndProcessCustomReactPackage");
|
|
1406
|
-
try {
|
|
1407
|
-
processPackage(reactPackage, nativeModuleRegistryBuilder);
|
|
1408
|
-
} finally {
|
|
1409
|
-
Systrace.endSection(TRACE_TAG_REACT);
|
|
1410
|
-
}
|
|
1411
|
-
}
|
|
1412
|
-
}
|
|
1413
|
-
ReactMarker.logMarker(PROCESS_PACKAGES_END);
|
|
1414
|
-
|
|
1415
|
-
ReactMarker.logMarker(BUILD_NATIVE_MODULE_REGISTRY_START);
|
|
1416
|
-
Systrace.beginSection(TRACE_TAG_REACT, "buildNativeModuleRegistry");
|
|
1417
|
-
NativeModuleRegistry nativeModuleRegistry;
|
|
1418
|
-
try {
|
|
1419
|
-
nativeModuleRegistry = nativeModuleRegistryBuilder.build();
|
|
1420
|
-
} finally {
|
|
1421
|
-
Systrace.endSection(TRACE_TAG_REACT);
|
|
1422
|
-
ReactMarker.logMarker(BUILD_NATIVE_MODULE_REGISTRY_END);
|
|
1423
|
-
}
|
|
1424
|
-
|
|
1425
|
-
return nativeModuleRegistry;
|
|
1426
|
-
}
|
|
1427
|
-
|
|
1428
|
-
private void processPackage(
|
|
1429
|
-
ReactPackage reactPackage, NativeModuleRegistryBuilder nativeModuleRegistryBuilder) {
|
|
1430
|
-
SystraceMessage.beginSection(TRACE_TAG_REACT, "processPackage")
|
|
1431
|
-
.arg("className", reactPackage.getClass().getSimpleName())
|
|
1432
|
-
.flush();
|
|
1433
|
-
nativeModuleRegistryBuilder.processPackage(reactPackage);
|
|
1434
|
-
SystraceMessage.endSection(TRACE_TAG_REACT).flush();
|
|
1435
|
-
}
|
|
1436
1366
|
}
|
|
@@ -10,14 +10,12 @@ package com.facebook.react;
|
|
|
10
10
|
import static com.facebook.infer.annotation.ThreadConfined.UI;
|
|
11
11
|
import static com.facebook.react.uimanager.BlendModeHelper.needsIsolatedLayer;
|
|
12
12
|
import static com.facebook.react.uimanager.common.UIManagerType.FABRIC;
|
|
13
|
-
import static com.facebook.react.uimanager.common.UIManagerType.LEGACY;
|
|
14
13
|
import static com.facebook.systrace.Systrace.TRACE_TAG_REACT;
|
|
15
14
|
|
|
16
15
|
import android.annotation.SuppressLint;
|
|
17
16
|
import android.content.Context;
|
|
18
17
|
import android.graphics.BlendMode;
|
|
19
18
|
import android.graphics.Canvas;
|
|
20
|
-
import android.graphics.Insets;
|
|
21
19
|
import android.graphics.Paint;
|
|
22
20
|
import android.graphics.Point;
|
|
23
21
|
import android.graphics.Rect;
|
|
@@ -25,18 +23,18 @@ import android.os.Build;
|
|
|
25
23
|
import android.os.Bundle;
|
|
26
24
|
import android.util.AttributeSet;
|
|
27
25
|
import android.util.DisplayMetrics;
|
|
28
|
-
import android.view.DisplayCutout;
|
|
29
26
|
import android.view.KeyEvent;
|
|
30
27
|
import android.view.MotionEvent;
|
|
31
28
|
import android.view.Surface;
|
|
32
29
|
import android.view.View;
|
|
33
30
|
import android.view.ViewGroup;
|
|
34
31
|
import android.view.ViewTreeObserver;
|
|
35
|
-
import android.view.WindowInsets;
|
|
36
32
|
import android.view.WindowManager;
|
|
37
33
|
import android.widget.FrameLayout;
|
|
38
34
|
import androidx.annotation.Nullable;
|
|
39
|
-
import androidx.
|
|
35
|
+
import androidx.core.graphics.Insets;
|
|
36
|
+
import androidx.core.view.ViewCompat;
|
|
37
|
+
import androidx.core.view.WindowInsetsCompat;
|
|
40
38
|
import com.facebook.common.logging.FLog;
|
|
41
39
|
import com.facebook.infer.annotation.Assertions;
|
|
42
40
|
import com.facebook.infer.annotation.ThreadConfined;
|
|
@@ -52,6 +50,7 @@ import com.facebook.react.bridge.UiThreadUtil;
|
|
|
52
50
|
import com.facebook.react.bridge.WritableMap;
|
|
53
51
|
import com.facebook.react.bridge.WritableNativeMap;
|
|
54
52
|
import com.facebook.react.common.annotations.VisibleForTesting;
|
|
53
|
+
import com.facebook.react.common.annotations.internal.LegacyArchitecture;
|
|
55
54
|
import com.facebook.react.config.ReactFeatureFlags;
|
|
56
55
|
import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
|
|
57
56
|
import com.facebook.react.modules.appregistry.AppRegistry;
|
|
@@ -70,7 +69,6 @@ import com.facebook.react.uimanager.RootView;
|
|
|
70
69
|
import com.facebook.react.uimanager.RootViewUtil;
|
|
71
70
|
import com.facebook.react.uimanager.UIManagerHelper;
|
|
72
71
|
import com.facebook.react.uimanager.common.UIManagerType;
|
|
73
|
-
import com.facebook.react.uimanager.common.ViewUtil;
|
|
74
72
|
import com.facebook.react.uimanager.events.EventDispatcher;
|
|
75
73
|
import com.facebook.react.modules.core.ReactAndroidHWInputDeviceHelper;
|
|
76
74
|
import com.facebook.systrace.Systrace;
|
|
@@ -118,7 +116,6 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
118
116
|
private int mLastHeight = 0;
|
|
119
117
|
private int mLastOffsetX = Integer.MIN_VALUE;
|
|
120
118
|
private int mLastOffsetY = Integer.MIN_VALUE;
|
|
121
|
-
private @UIManagerType int mUIManagerType = LEGACY;
|
|
122
119
|
private final AtomicInteger mState = new AtomicInteger(STATE_STOPPED);
|
|
123
120
|
|
|
124
121
|
public ReactRootView(Context context) {
|
|
@@ -309,9 +306,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
309
306
|
protected boolean drawChild(Canvas canvas, View child, long drawingTime) {
|
|
310
307
|
|
|
311
308
|
BlendMode mixBlendMode = null;
|
|
312
|
-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
|
|
313
|
-
&& ViewUtil.getUIManagerType(this) == UIManagerType.FABRIC
|
|
314
|
-
&& needsIsolatedLayer(this)) {
|
|
309
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && needsIsolatedLayer(this)) {
|
|
315
310
|
mixBlendMode = (BlendMode) child.getTag(R.id.mix_blend_mode);
|
|
316
311
|
if (mixBlendMode != null) {
|
|
317
312
|
Paint p = new Paint();
|
|
@@ -428,7 +423,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
428
423
|
}
|
|
429
424
|
|
|
430
425
|
private boolean isFabric() {
|
|
431
|
-
return
|
|
426
|
+
return true;
|
|
432
427
|
}
|
|
433
428
|
|
|
434
429
|
@Override
|
|
@@ -600,9 +595,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
600
595
|
final ReactContext reactApplicationContext = getCurrentReactContext();
|
|
601
596
|
|
|
602
597
|
if (reactApplicationContext != null) {
|
|
603
|
-
@Nullable
|
|
604
|
-
UIManager uiManager =
|
|
605
|
-
UIManagerHelper.getUIManager(reactApplicationContext, getUIManagerType());
|
|
598
|
+
@Nullable UIManager uiManager = UIManagerHelper.getUIManager(reactApplicationContext, FABRIC);
|
|
606
599
|
// Ignore calling updateRootLayoutSpecs if UIManager is not properly initialized.
|
|
607
600
|
if (uiManager != null) {
|
|
608
601
|
// In Fabric only, get position of view within screen
|
|
@@ -754,11 +747,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
754
747
|
|
|
755
748
|
@VisibleForTesting
|
|
756
749
|
/* package */ void simulateCheckForKeyboardForTesting() {
|
|
757
|
-
|
|
758
|
-
getCustomGlobalLayoutListener().checkForKeyboardEvents();
|
|
759
|
-
} else {
|
|
760
|
-
getCustomGlobalLayoutListener().checkForKeyboardEventsLegacy();
|
|
761
|
-
}
|
|
750
|
+
getCustomGlobalLayoutListener().checkForKeyboardEvents();
|
|
762
751
|
}
|
|
763
752
|
|
|
764
753
|
private CustomGlobalLayoutListener getCustomGlobalLayoutListener() {
|
|
@@ -821,6 +810,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
821
810
|
+ " or in the onDestroyView() of your hosting Fragment.");
|
|
822
811
|
}
|
|
823
812
|
|
|
813
|
+
@Override
|
|
824
814
|
public int getRootViewTag() {
|
|
825
815
|
return mRootViewTag;
|
|
826
816
|
}
|
|
@@ -829,6 +819,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
829
819
|
return mRootViewTag != 0 && mRootViewTag != NO_ID;
|
|
830
820
|
}
|
|
831
821
|
|
|
822
|
+
@Override
|
|
832
823
|
public void setRootViewTag(int rootViewTag) {
|
|
833
824
|
mRootViewTag = rootViewTag;
|
|
834
825
|
}
|
|
@@ -843,15 +834,18 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
843
834
|
getCurrentReactContext().handleException(e);
|
|
844
835
|
}
|
|
845
836
|
|
|
837
|
+
@LegacyArchitecture
|
|
838
|
+
@Deprecated
|
|
846
839
|
public void setIsFabric(boolean isFabric) {
|
|
847
|
-
|
|
840
|
+
/* noop */
|
|
848
841
|
}
|
|
849
842
|
|
|
850
843
|
@Override
|
|
851
844
|
public @UIManagerType int getUIManagerType() {
|
|
852
|
-
return
|
|
845
|
+
return FABRIC;
|
|
853
846
|
}
|
|
854
847
|
|
|
848
|
+
@LegacyArchitecture
|
|
855
849
|
@Nullable
|
|
856
850
|
public ReactInstanceManager getReactInstanceManager() {
|
|
857
851
|
return mReactInstanceManager;
|
|
@@ -891,16 +885,14 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
891
885
|
|
|
892
886
|
private class CustomGlobalLayoutListener implements ViewTreeObserver.OnGlobalLayoutListener {
|
|
893
887
|
private final Rect mVisibleViewArea;
|
|
894
|
-
private final int mMinKeyboardHeightDetected;
|
|
895
888
|
|
|
896
889
|
private boolean mKeyboardIsVisible = false;
|
|
897
|
-
private int mKeyboardHeight = 0;
|
|
890
|
+
private int mKeyboardHeight = 0;
|
|
898
891
|
private int mDeviceRotation = 0;
|
|
899
892
|
|
|
900
893
|
/* package */ CustomGlobalLayoutListener() {
|
|
901
894
|
DisplayMetricsHolder.initDisplayMetricsIfNotInitialized(getContext().getApplicationContext());
|
|
902
895
|
mVisibleViewArea = new Rect();
|
|
903
|
-
mMinKeyboardHeightDetected = (int) PixelUtil.toPixelFromDIP(60);
|
|
904
896
|
}
|
|
905
897
|
|
|
906
898
|
@Override
|
|
@@ -909,32 +901,30 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
909
901
|
return;
|
|
910
902
|
}
|
|
911
903
|
|
|
912
|
-
|
|
913
|
-
checkForKeyboardEvents();
|
|
914
|
-
} else {
|
|
915
|
-
checkForKeyboardEventsLegacy();
|
|
916
|
-
}
|
|
917
|
-
|
|
904
|
+
checkForKeyboardEvents();
|
|
918
905
|
checkForDeviceOrientationChanges();
|
|
919
906
|
checkForDeviceDimensionsChanges();
|
|
920
907
|
}
|
|
921
908
|
|
|
922
|
-
@RequiresApi(api = Build.VERSION_CODES.R)
|
|
923
909
|
private void checkForKeyboardEvents() {
|
|
924
910
|
getRootView().getWindowVisibleDisplayFrame(mVisibleViewArea);
|
|
925
|
-
|
|
911
|
+
WindowInsetsCompat rootInsets = ViewCompat.getRootWindowInsets(getRootView());
|
|
926
912
|
if (rootInsets == null) {
|
|
927
913
|
return;
|
|
928
914
|
}
|
|
929
915
|
|
|
930
|
-
boolean keyboardIsVisible = rootInsets.isVisible(
|
|
931
|
-
|
|
932
|
-
|
|
916
|
+
boolean keyboardIsVisible = rootInsets.isVisible(WindowInsetsCompat.Type.ime());
|
|
917
|
+
Insets barInsets = rootInsets.getInsets(WindowInsetsCompat.Type.systemBars());
|
|
918
|
+
|
|
919
|
+
if (keyboardIsVisible) {
|
|
920
|
+
Insets imeInsets = rootInsets.getInsets(WindowInsetsCompat.Type.ime());
|
|
921
|
+
int height = imeInsets.bottom - barInsets.bottom;
|
|
933
922
|
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
923
|
+
// Re-emit on height change while keyboard stays visible (e.g., emoji
|
|
924
|
+
// panel toggle); JS consumers cache endCoordinates from keyboardDidShow.
|
|
925
|
+
if (!mKeyboardIsVisible || height != mKeyboardHeight) {
|
|
926
|
+
mKeyboardIsVisible = true;
|
|
927
|
+
mKeyboardHeight = height;
|
|
938
928
|
|
|
939
929
|
ViewGroup.LayoutParams rootLayoutParams = getRootView().getLayoutParams();
|
|
940
930
|
Assertions.assertCondition(rootLayoutParams instanceof WindowManager.LayoutParams);
|
|
@@ -952,56 +942,11 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
|
|
|
952
942
|
PixelUtil.toDIPFromPixel(mVisibleViewArea.left),
|
|
953
943
|
PixelUtil.toDIPFromPixel(mVisibleViewArea.width()),
|
|
954
944
|
PixelUtil.toDIPFromPixel(height)));
|
|
955
|
-
} else {
|
|
956
|
-
sendEvent(
|
|
957
|
-
"keyboardDidHide",
|
|
958
|
-
createKeyboardEventPayload(
|
|
959
|
-
PixelUtil.toDIPFromPixel(mLastHeight),
|
|
960
|
-
0,
|
|
961
|
-
PixelUtil.toDIPFromPixel(mVisibleViewArea.width()),
|
|
962
|
-
0));
|
|
963
945
|
}
|
|
964
|
-
}
|
|
965
|
-
}
|
|
966
|
-
|
|
967
|
-
private void checkForKeyboardEventsLegacy() {
|
|
968
|
-
getRootView().getWindowVisibleDisplayFrame(mVisibleViewArea);
|
|
969
|
-
|
|
970
|
-
int notchHeight = 0;
|
|
971
|
-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
|
972
|
-
WindowInsets insets = getRootView().getRootWindowInsets();
|
|
973
|
-
if (insets != null) {
|
|
974
|
-
DisplayCutout displayCutout = insets.getDisplayCutout();
|
|
975
|
-
if (displayCutout != null) {
|
|
976
|
-
notchHeight = displayCutout.getSafeInsetTop();
|
|
977
|
-
}
|
|
978
|
-
}
|
|
979
|
-
}
|
|
980
|
-
final int heightDiff =
|
|
981
|
-
DisplayMetricsHolder.getWindowDisplayMetrics().heightPixels
|
|
982
|
-
- mVisibleViewArea.bottom
|
|
983
|
-
+ notchHeight;
|
|
984
|
-
|
|
985
|
-
boolean isKeyboardShowingOrKeyboardHeightChanged =
|
|
986
|
-
mKeyboardHeight != heightDiff && heightDiff > mMinKeyboardHeightDetected;
|
|
987
|
-
|
|
988
|
-
if (isKeyboardShowingOrKeyboardHeightChanged) {
|
|
989
|
-
mKeyboardHeight = heightDiff;
|
|
990
|
-
mKeyboardIsVisible = true;
|
|
991
|
-
sendEvent(
|
|
992
|
-
"keyboardDidShow",
|
|
993
|
-
createKeyboardEventPayload(
|
|
994
|
-
PixelUtil.toDIPFromPixel(mVisibleViewArea.bottom),
|
|
995
|
-
PixelUtil.toDIPFromPixel(mVisibleViewArea.left),
|
|
996
|
-
PixelUtil.toDIPFromPixel(mVisibleViewArea.width()),
|
|
997
|
-
PixelUtil.toDIPFromPixel(mKeyboardHeight)));
|
|
998
|
-
return;
|
|
999
|
-
}
|
|
1000
|
-
|
|
1001
|
-
boolean isKeyboardHidden = mKeyboardHeight != 0 && heightDiff <= mMinKeyboardHeightDetected;
|
|
1002
|
-
if (isKeyboardHidden) {
|
|
1003
|
-
mKeyboardHeight = 0;
|
|
946
|
+
} else if (mKeyboardIsVisible) {
|
|
1004
947
|
mKeyboardIsVisible = false;
|
|
948
|
+
mKeyboardHeight = 0;
|
|
949
|
+
|
|
1005
950
|
sendEvent(
|
|
1006
951
|
"keyboardDidHide",
|
|
1007
952
|
createKeyboardEventPayload(
|
|
@@ -22,6 +22,7 @@ internal class EventAnimationDriver(
|
|
|
22
22
|
private val eventPath: List<String>,
|
|
23
23
|
@JvmField internal var valueNode: ValueAnimatedNode,
|
|
24
24
|
) : RCTModernEventEmitter {
|
|
25
|
+
@Deprecated("Use the overload with eventTimestamp parameter instead.")
|
|
25
26
|
override fun receiveEvent(
|
|
26
27
|
surfaceId: Int,
|
|
27
28
|
targetTag: Int,
|