react-native-tvos 0.85.2-0 → 0.86.0-0rc2
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 +96 -91
- 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/HMRClient.js +28 -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/RCTJscSafeUrl+Internal.h +23 -0
- package/React/CoreModules/RCTJscSafeUrl.mm +38 -0
- package/React/CoreModules/RCTRedBox+Internal.h +42 -0
- package/React/CoreModules/RCTRedBox.mm +30 -471
- package/React/CoreModules/RCTRedBox2AnsiParser+Internal.h +22 -0
- package/React/CoreModules/RCTRedBox2AnsiParser.mm +55 -0
- package/React/CoreModules/RCTRedBox2Controller+Internal.h +34 -0
- package/React/CoreModules/RCTRedBox2Controller.mm +764 -0
- package/React/CoreModules/RCTRedBox2ErrorParser+Internal.h +46 -0
- package/React/CoreModules/RCTRedBox2ErrorParser.mm +57 -0
- package/React/CoreModules/RCTRedBoxController+Internal.h +31 -0
- package/React/CoreModules/RCTRedBoxController.mm +447 -0
- package/React/CoreModules/RCTRedBoxHMRClient+Internal.h +26 -0
- package/React/CoreModules/RCTRedBoxHMRClient.mm +125 -0
- package/React/CoreModules/RCTWebSocketModule.mm +45 -6
- package/React/CoreModules/React-CoreModules.podspec +1 -0
- package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -1
- package/React/DevSupport/RCTFrameTimingsObserver.h +24 -0
- package/React/DevSupport/RCTFrameTimingsObserver.mm +298 -0
- package/React/DevSupport/RCTInspectorDevServerHelper.mm +4 -0
- package/React/DevSupport/RCTPackagerConnection.mm +13 -11
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +148 -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/hermes-engine/build.gradle.kts +17 -0
- package/ReactAndroid/publish.gradle +20 -46
- 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 +6 -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/FrameTimingSequence.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +135 -35
- 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 +71 -29
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +121 -51
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +25 -11
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +26 -12
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +134 -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 +25 -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 +40 -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 +68 -15
- 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 +17 -1
- package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.cpp +22 -0
- package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.h +2 -0
- 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 +167 -69
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +36 -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 +24 -0
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +25 -4
- package/ReactAndroid/src/main/jni/react/tracing/CMakeLists.txt +28 -0
- package/ReactCommon/React-Fabric.podspec +13 -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 +46 -1
- package/ReactCommon/jsinspector-modern/HostTarget.cpp +7 -1
- package/ReactCommon/jsinspector-modern/HostTarget.h +50 -0
- package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +1 -1
- package/ReactCommon/jsinspector-modern/HostTargetTracing.h +4 -4
- package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +18 -2
- package/ReactCommon/jsinspector-modern/InspectorFlags.h +17 -2
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +19 -2
- package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +3 -0
- package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +1 -1
- package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +19 -0
- package/ReactCommon/jsinspector-modern/RuntimeAgent.h +7 -0
- package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +33 -0
- package/ReactCommon/jsinspector-modern/RuntimeTarget.h +6 -0
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +10 -0
- package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +12 -0
- package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +3 -2
- package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +1 -0
- package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +1 -1
- package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +1 -1
- package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.cpp +10 -0
- package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.h +3 -1
- package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +1 -0
- package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +7 -3
- package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +52 -29
- package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.h +6 -6
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracerSection.h +113 -0
- package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -0
- package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +12 -5
- package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +3 -1
- package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +42 -0
- package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h +7 -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/debug/CMakeLists.txt +2 -1
- package/ReactCommon/react/debug/React-debug.podspec +7 -1
- package/ReactCommon/react/debug/redbox/AnsiParser.cpp +139 -0
- package/ReactCommon/react/debug/redbox/AnsiParser.h +35 -0
- package/ReactCommon/react/debug/redbox/JscSafeUrl.cpp +179 -0
- package/ReactCommon/react/debug/redbox/JscSafeUrl.h +27 -0
- package/ReactCommon/react/debug/redbox/RedBoxErrorParser.cpp +171 -0
- package/ReactCommon/react/debug/redbox/RedBoxErrorParser.h +40 -0
- package/ReactCommon/react/debug/redbox/tests/AnsiParserTest.cpp +97 -0
- package/ReactCommon/react/debug/redbox/tests/JscSafeUrlTest.cpp +173 -0
- package/ReactCommon/react/debug/redbox/tests/RedBoxErrorParserTest.cpp +107 -0
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +49 -21
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +60 -25
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +267 -141
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +28 -14
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +48 -20
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +106 -43
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +3 -3
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +14 -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 +2 -0
- package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +14 -0
- package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +2 -0
- package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +2 -2
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +60 -25
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +25 -11
- package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +3 -2
- package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.h +4 -0
- package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +66 -0
- 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/PerformanceObserver.cpp +18 -6
- package/ReactCommon/react/performance/timeline/PerformanceObserver.h +2 -0
- 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 +152 -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/{jsinspector-modern → react/utils}/Base64.h +2 -2
- 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 +13 -13
- 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 +53 -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 +26 -2
- package/scripts/react_native_pods_utils/script_phases.rb +9 -3
- package/scripts/replace-rncore-version.js +91 -14
- 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 +66 -37
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -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/setup/setUpDefaultReactNativeEnvironment.js +6 -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
|
@@ -12,6 +12,7 @@ package com.facebook.react.views.view
|
|
|
12
12
|
import android.annotation.SuppressLint
|
|
13
13
|
import android.annotation.TargetApi
|
|
14
14
|
import android.content.Context
|
|
15
|
+
import android.content.res.Configuration
|
|
15
16
|
import android.graphics.BlendMode
|
|
16
17
|
import android.graphics.Canvas
|
|
17
18
|
import android.graphics.Paint
|
|
@@ -36,6 +37,7 @@ import com.facebook.react.bridge.ReactContext
|
|
|
36
37
|
import com.facebook.react.bridge.ReactNoCrashSoftException
|
|
37
38
|
import com.facebook.react.bridge.ReactSoftExceptionLogger
|
|
38
39
|
import com.facebook.react.bridge.ReactSoftExceptionLogger.logSoftException
|
|
40
|
+
import com.facebook.react.bridge.ReadableMap
|
|
39
41
|
import com.facebook.react.bridge.UiThreadUtil.assertOnUiThread
|
|
40
42
|
import com.facebook.react.bridge.UiThreadUtil.runOnUiThread
|
|
41
43
|
import com.facebook.react.common.ReactConstants.TAG
|
|
@@ -45,6 +47,7 @@ import com.facebook.react.touch.OnInterceptTouchEventListener
|
|
|
45
47
|
import com.facebook.react.touch.ReactHitSlopView
|
|
46
48
|
import com.facebook.react.touch.ReactInterceptingViewGroup
|
|
47
49
|
import com.facebook.react.uimanager.BackgroundStyleApplicator.clipToPaddingBox
|
|
50
|
+
import com.facebook.react.uimanager.BackgroundStyleApplicator.getPaddingBoxRect
|
|
48
51
|
import com.facebook.react.uimanager.BackgroundStyleApplicator.setBackgroundColor
|
|
49
52
|
import com.facebook.react.uimanager.BackgroundStyleApplicator.setBorderColor
|
|
50
53
|
import com.facebook.react.uimanager.BackgroundStyleApplicator.setBorderRadius
|
|
@@ -68,8 +71,6 @@ import com.facebook.react.uimanager.ReactOverflowViewWithInset
|
|
|
68
71
|
import com.facebook.react.uimanager.ReactPointerEventsView
|
|
69
72
|
import com.facebook.react.uimanager.ReactZIndexedViewGroup
|
|
70
73
|
import com.facebook.react.uimanager.UIManagerHelper
|
|
71
|
-
import com.facebook.react.uimanager.common.UIManagerType
|
|
72
|
-
import com.facebook.react.uimanager.common.ViewUtil.getUIManagerType
|
|
73
74
|
import com.facebook.react.uimanager.events.EventDispatcher
|
|
74
75
|
import com.facebook.react.uimanager.events.PressInEvent
|
|
75
76
|
import com.facebook.react.uimanager.events.PressOutEvent
|
|
@@ -182,6 +183,9 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
182
183
|
null
|
|
183
184
|
private var focusOnAttach = false
|
|
184
185
|
|
|
186
|
+
internal var nativeBackgroundMap: ReadableMap? = null
|
|
187
|
+
internal var nativeForegroundMap: ReadableMap? = null
|
|
188
|
+
|
|
185
189
|
init {
|
|
186
190
|
initView()
|
|
187
191
|
}
|
|
@@ -193,9 +197,6 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
193
197
|
*/
|
|
194
198
|
private fun initView() {
|
|
195
199
|
clipChildren = false
|
|
196
|
-
if (ReactNativeFeatureFlags.syncAndroidClipToPaddingWithOverflow()) {
|
|
197
|
-
clipToPadding = false
|
|
198
|
-
}
|
|
199
200
|
|
|
200
201
|
_removeClippedSubviews = false
|
|
201
202
|
inSubviewClippingLoop = false
|
|
@@ -212,6 +213,8 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
212
213
|
backfaceOpacity = 1f
|
|
213
214
|
backfaceVisible = true
|
|
214
215
|
childrenRemovedWhileTransitioning = null
|
|
216
|
+
nativeBackgroundMap = null
|
|
217
|
+
nativeForegroundMap = null
|
|
215
218
|
}
|
|
216
219
|
|
|
217
220
|
internal open fun recycleView() {
|
|
@@ -751,6 +754,29 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
751
754
|
}
|
|
752
755
|
}
|
|
753
756
|
|
|
757
|
+
override fun onConfigurationChanged(newConfig: Configuration) {
|
|
758
|
+
super.onConfigurationChanged(newConfig)
|
|
759
|
+
if (nativeBackgroundMap != null) {
|
|
760
|
+
applyNativeBackground(nativeBackgroundMap)
|
|
761
|
+
}
|
|
762
|
+
if (nativeForegroundMap != null) {
|
|
763
|
+
applyNativeForeground(nativeForegroundMap)
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
internal fun applyNativeBackground(map: ReadableMap?) {
|
|
768
|
+
nativeBackgroundMap = map
|
|
769
|
+
setFeedbackUnderlay(
|
|
770
|
+
this,
|
|
771
|
+
map?.let { ReactDrawableHelper.createDrawableFromJSDescription(context, it) },
|
|
772
|
+
)
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
internal fun applyNativeForeground(map: ReadableMap?) {
|
|
776
|
+
nativeForegroundMap = map
|
|
777
|
+
foreground = map?.let { ReactDrawableHelper.createDrawableFromJSDescription(context, it) }
|
|
778
|
+
}
|
|
779
|
+
|
|
754
780
|
override fun onViewAdded(child: View) {
|
|
755
781
|
assertOnUiThread()
|
|
756
782
|
checkViewClippingTag(child, false)
|
|
@@ -994,12 +1020,42 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
994
1020
|
} else {
|
|
995
1021
|
Overflow.fromString(overflow)
|
|
996
1022
|
}
|
|
997
|
-
if (ReactNativeFeatureFlags.syncAndroidClipToPaddingWithOverflow()) {
|
|
998
|
-
clipToPadding = _overflow != Overflow.VISIBLE
|
|
999
|
-
}
|
|
1000
1023
|
invalidate()
|
|
1001
1024
|
}
|
|
1002
1025
|
|
|
1026
|
+
/**
|
|
1027
|
+
* Returns the clip bounds for this view based on the overflow property.
|
|
1028
|
+
*
|
|
1029
|
+
* When overflow is hidden or scroll, returns the padding box rect (the area inside the borders)
|
|
1030
|
+
* so that systems querying [View.getClipBounds] can determine the view's clipping region. Returns
|
|
1031
|
+
* null when overflow is visible (no clipping).
|
|
1032
|
+
*/
|
|
1033
|
+
override fun getClipBounds(): Rect? {
|
|
1034
|
+
if (
|
|
1035
|
+
ReactNativeFeatureFlags.syncAndroidClipBoundsWithOverflow() &&
|
|
1036
|
+
_overflow != null &&
|
|
1037
|
+
_overflow != Overflow.VISIBLE
|
|
1038
|
+
) {
|
|
1039
|
+
val rect = Rect()
|
|
1040
|
+
getPaddingBoxRect(this, rect)
|
|
1041
|
+
return rect
|
|
1042
|
+
}
|
|
1043
|
+
return super.getClipBounds()
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
/** See [getClipBounds]. */
|
|
1047
|
+
override fun getClipBounds(outRect: Rect): Boolean {
|
|
1048
|
+
if (
|
|
1049
|
+
ReactNativeFeatureFlags.syncAndroidClipBoundsWithOverflow() &&
|
|
1050
|
+
_overflow != null &&
|
|
1051
|
+
_overflow != Overflow.VISIBLE
|
|
1052
|
+
) {
|
|
1053
|
+
getPaddingBoxRect(this, outRect)
|
|
1054
|
+
return true
|
|
1055
|
+
}
|
|
1056
|
+
return super.getClipBounds(outRect)
|
|
1057
|
+
}
|
|
1058
|
+
|
|
1003
1059
|
override fun setOverflowInset(left: Int, top: Int, right: Int, bottom: Int) {
|
|
1004
1060
|
if (
|
|
1005
1061
|
needsIsolatedLayer(this) &&
|
|
@@ -1023,11 +1079,7 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
1023
1079
|
}
|
|
1024
1080
|
|
|
1025
1081
|
override fun draw(canvas: Canvas) {
|
|
1026
|
-
if (
|
|
1027
|
-
Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q &&
|
|
1028
|
-
getUIManagerType(this) == UIManagerType.FABRIC &&
|
|
1029
|
-
needsIsolatedLayer(this)
|
|
1030
|
-
) {
|
|
1082
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && needsIsolatedLayer(this)) {
|
|
1031
1083
|
// Check if the view is a stacking context and has children, if it does, do the rendering
|
|
1032
1084
|
// offscreen and then composite back. This follows the idea of group isolation on blending
|
|
1033
1085
|
// https://www.w3.org/TR/compositing-1/#isolationblending
|
|
@@ -1062,11 +1114,7 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
1062
1114
|
}
|
|
1063
1115
|
|
|
1064
1116
|
var mixBlendMode: BlendMode? = null
|
|
1065
|
-
if (
|
|
1066
|
-
Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q &&
|
|
1067
|
-
getUIManagerType(this) == UIManagerType.FABRIC &&
|
|
1068
|
-
needsIsolatedLayer(this)
|
|
1069
|
-
) {
|
|
1117
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && needsIsolatedLayer(this)) {
|
|
1070
1118
|
mixBlendMode = child.getTag(R.id.mix_blend_mode) as? BlendMode
|
|
1071
1119
|
if (mixBlendMode != null) {
|
|
1072
1120
|
val p = Paint()
|
|
@@ -1545,12 +1593,12 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
1545
1593
|
} else if (axOrderParentOrderList != null) {
|
|
1546
1594
|
// view is a container so add its children normally
|
|
1547
1595
|
if (!isFocusable) {
|
|
1548
|
-
|
|
1596
|
+
safeAddChildrenForAccessibility(outChildren)
|
|
1549
1597
|
return
|
|
1550
1598
|
|
|
1551
1599
|
// If this view can coopt, turn the focusability off its children but add them to the tree
|
|
1552
1600
|
} else if (isFocusable && (contentDescription == null || contentDescription == "")) {
|
|
1553
|
-
|
|
1601
|
+
safeAddChildrenForAccessibility(outChildren)
|
|
1554
1602
|
for (i in 0..<childCount) {
|
|
1555
1603
|
ReactAxOrderHelper.disableFocusForSubtree(getChildAt(i), axOrderParentOrderList)
|
|
1556
1604
|
}
|
|
@@ -1560,7 +1608,23 @@ public open class ReactViewGroup public constructor(context: Context?) :
|
|
|
1560
1608
|
return
|
|
1561
1609
|
}
|
|
1562
1610
|
} else {
|
|
1611
|
+
safeAddChildrenForAccessibility(outChildren)
|
|
1612
|
+
}
|
|
1613
|
+
}
|
|
1614
|
+
|
|
1615
|
+
private fun safeAddChildrenForAccessibility(outChildren: ArrayList<View>) {
|
|
1616
|
+
try {
|
|
1563
1617
|
super.addChildrenForAccessibility(outChildren)
|
|
1618
|
+
} catch (error: IllegalArgumentException) {
|
|
1619
|
+
// Android 16 can race while building accessibility child lists during fast re-parenting.
|
|
1620
|
+
if (error.message?.contains("descendant of this view") == true) {
|
|
1621
|
+
logSoftException(
|
|
1622
|
+
ReactSoftExceptionLogger.Categories.RVG_ADD_CHILDREN_FOR_ACCESSIBILITY,
|
|
1623
|
+
error,
|
|
1624
|
+
)
|
|
1625
|
+
} else {
|
|
1626
|
+
throw error
|
|
1627
|
+
}
|
|
1564
1628
|
}
|
|
1565
1629
|
}
|
|
1566
1630
|
|
|
@@ -28,7 +28,6 @@ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
|
|
|
28
28
|
import com.facebook.react.module.annotations.ReactModule
|
|
29
29
|
import com.facebook.react.uimanager.BackgroundStyleApplicator
|
|
30
30
|
import com.facebook.react.uimanager.LengthPercentage
|
|
31
|
-
import com.facebook.react.uimanager.LengthPercentageType
|
|
32
31
|
import com.facebook.react.uimanager.PixelUtil.dpToPx
|
|
33
32
|
import com.facebook.react.uimanager.PointerEvents
|
|
34
33
|
import com.facebook.react.uimanager.ReactAxOrderHelper
|
|
@@ -38,8 +37,6 @@ import com.facebook.react.uimanager.UIManagerHelper
|
|
|
38
37
|
import com.facebook.react.uimanager.ViewProps
|
|
39
38
|
import com.facebook.react.uimanager.annotations.ReactProp
|
|
40
39
|
import com.facebook.react.uimanager.annotations.ReactPropGroup
|
|
41
|
-
import com.facebook.react.uimanager.common.UIManagerType
|
|
42
|
-
import com.facebook.react.uimanager.common.ViewUtil
|
|
43
40
|
import com.facebook.react.uimanager.style.BackgroundImageLayer
|
|
44
41
|
import com.facebook.react.uimanager.style.BackgroundPosition
|
|
45
42
|
import com.facebook.react.uimanager.style.BackgroundRepeat
|
|
@@ -197,37 +194,33 @@ public open class ReactViewManager : ReactClippingViewManager<ReactViewGroup>()
|
|
|
197
194
|
|
|
198
195
|
@ReactProp(name = ViewProps.BACKGROUND_IMAGE, customType = "BackgroundImage")
|
|
199
196
|
public open fun setBackgroundImage(view: ReactViewGroup, backgroundImage: ReadableArray?) {
|
|
200
|
-
if (
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
backgroundImageLayers.add(layer)
|
|
208
|
-
}
|
|
197
|
+
if (backgroundImage != null && backgroundImage.size() > 0) {
|
|
198
|
+
val backgroundImageLayers = ArrayList<BackgroundImageLayer>(backgroundImage.size())
|
|
199
|
+
for (i in 0 until backgroundImage.size()) {
|
|
200
|
+
val backgroundImageMap = backgroundImage.getMap(i)
|
|
201
|
+
val layer = BackgroundImageLayer.parse(backgroundImageMap, view.context)
|
|
202
|
+
if (layer != null) {
|
|
203
|
+
backgroundImageLayers.add(layer)
|
|
209
204
|
}
|
|
210
|
-
BackgroundStyleApplicator.setBackgroundImage(view, backgroundImageLayers)
|
|
211
|
-
} else {
|
|
212
|
-
BackgroundStyleApplicator.setBackgroundImage(view, null)
|
|
213
205
|
}
|
|
206
|
+
BackgroundStyleApplicator.setBackgroundImage(view, backgroundImageLayers)
|
|
207
|
+
} else {
|
|
208
|
+
BackgroundStyleApplicator.setBackgroundImage(view, null)
|
|
214
209
|
}
|
|
215
210
|
}
|
|
216
211
|
|
|
217
212
|
@ReactProp(name = ViewProps.BACKGROUND_SIZE, customType = "BackgroundSize")
|
|
218
213
|
public open fun setBackgroundSize(view: ReactViewGroup, backgroundSize: ReadableArray?) {
|
|
219
|
-
if (
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
backgroundSizes.add(parsedBackgroundSize)
|
|
227
|
-
}
|
|
214
|
+
if (backgroundSize != null && backgroundSize.size() > 0) {
|
|
215
|
+
val backgroundSizes = ArrayList<BackgroundSize>(backgroundSize.size())
|
|
216
|
+
for (i in 0 until backgroundSize.size()) {
|
|
217
|
+
val backgroundSizeValue = backgroundSize.getDynamic(i)
|
|
218
|
+
val parsedBackgroundSize = BackgroundSize.parse(backgroundSizeValue)
|
|
219
|
+
if (parsedBackgroundSize != null) {
|
|
220
|
+
backgroundSizes.add(parsedBackgroundSize)
|
|
228
221
|
}
|
|
229
|
-
BackgroundStyleApplicator.setBackgroundSize(view, backgroundSizes)
|
|
230
222
|
}
|
|
223
|
+
BackgroundStyleApplicator.setBackgroundSize(view, backgroundSizes.ifEmpty { null })
|
|
231
224
|
} else {
|
|
232
225
|
BackgroundStyleApplicator.setBackgroundSize(view, null)
|
|
233
226
|
}
|
|
@@ -235,39 +228,35 @@ public open class ReactViewManager : ReactClippingViewManager<ReactViewGroup>()
|
|
|
235
228
|
|
|
236
229
|
@ReactProp(name = ViewProps.BACKGROUND_POSITION, customType = "BackgroundPosition")
|
|
237
230
|
public open fun setBackgroundPosition(view: ReactViewGroup, backgroundPosition: ReadableArray?) {
|
|
238
|
-
if (
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
backgroundPositions.add(parsedBackgroundPosition)
|
|
246
|
-
}
|
|
231
|
+
if (backgroundPosition != null && backgroundPosition.size() > 0) {
|
|
232
|
+
val backgroundPositions = ArrayList<BackgroundPosition>(backgroundPosition.size())
|
|
233
|
+
for (i in 0 until backgroundPosition.size()) {
|
|
234
|
+
val backgroundPositionMap = backgroundPosition.getMap(i)
|
|
235
|
+
val parsedBackgroundPosition = BackgroundPosition.parse(backgroundPositionMap)
|
|
236
|
+
if (parsedBackgroundPosition != null) {
|
|
237
|
+
backgroundPositions.add(parsedBackgroundPosition)
|
|
247
238
|
}
|
|
248
|
-
BackgroundStyleApplicator.setBackgroundPosition(view, backgroundPositions)
|
|
249
|
-
} else {
|
|
250
|
-
BackgroundStyleApplicator.setBackgroundPosition(view, null)
|
|
251
239
|
}
|
|
240
|
+
BackgroundStyleApplicator.setBackgroundPosition(view, backgroundPositions.ifEmpty { null })
|
|
241
|
+
} else {
|
|
242
|
+
BackgroundStyleApplicator.setBackgroundPosition(view, null)
|
|
252
243
|
}
|
|
253
244
|
}
|
|
254
245
|
|
|
255
246
|
@ReactProp(name = ViewProps.BACKGROUND_REPEAT, customType = "BackgroundRepeat")
|
|
256
247
|
public open fun setBackgroundRepeat(view: ReactViewGroup, backgroundRepeat: ReadableArray?) {
|
|
257
|
-
if (
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
backgroundRepeats.add(parsedBackgroundRepeat)
|
|
265
|
-
}
|
|
248
|
+
if (backgroundRepeat != null && backgroundRepeat.size() > 0) {
|
|
249
|
+
val backgroundRepeats = ArrayList<BackgroundRepeat>(backgroundRepeat.size())
|
|
250
|
+
for (i in 0 until backgroundRepeat.size()) {
|
|
251
|
+
val backgroundRepeatMap = backgroundRepeat.getMap(i)
|
|
252
|
+
val parsedBackgroundRepeat = BackgroundRepeat.parse(backgroundRepeatMap)
|
|
253
|
+
if (parsedBackgroundRepeat != null) {
|
|
254
|
+
backgroundRepeats.add(parsedBackgroundRepeat)
|
|
266
255
|
}
|
|
267
|
-
BackgroundStyleApplicator.setBackgroundRepeat(view, backgroundRepeats)
|
|
268
|
-
} else {
|
|
269
|
-
BackgroundStyleApplicator.setBackgroundRepeat(view, null)
|
|
270
256
|
}
|
|
257
|
+
BackgroundStyleApplicator.setBackgroundRepeat(view, backgroundRepeats.ifEmpty { null })
|
|
258
|
+
} else {
|
|
259
|
+
BackgroundStyleApplicator.setBackgroundRepeat(view, null)
|
|
271
260
|
}
|
|
272
261
|
}
|
|
273
262
|
|
|
@@ -315,17 +304,7 @@ public open class ReactViewManager : ReactClippingViewManager<ReactViewGroup>()
|
|
|
315
304
|
]
|
|
316
305
|
)
|
|
317
306
|
public open fun setBorderRadius(view: ReactViewGroup, index: Int, rawBorderRadius: Dynamic) {
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
// We do not support percentage border radii on Paper in order to be consistent with iOS (to
|
|
321
|
-
// avoid developer surprise if it works on one platform but not another).
|
|
322
|
-
if (
|
|
323
|
-
ViewUtil.getUIManagerType(view) != UIManagerType.FABRIC &&
|
|
324
|
-
borderRadius != null &&
|
|
325
|
-
borderRadius.type == LengthPercentageType.PERCENT
|
|
326
|
-
) {
|
|
327
|
-
borderRadius = null
|
|
328
|
-
}
|
|
307
|
+
val borderRadius = LengthPercentage.setFromDynamic(rawBorderRadius)
|
|
329
308
|
|
|
330
309
|
BackgroundStyleApplicator.setBorderRadius(view, BorderRadiusProp.values()[index], borderRadius)
|
|
331
310
|
}
|
|
@@ -385,15 +364,12 @@ public open class ReactViewManager : ReactClippingViewManager<ReactViewGroup>()
|
|
|
385
364
|
|
|
386
365
|
@ReactProp(name = "nativeBackgroundAndroid")
|
|
387
366
|
public open fun setNativeBackground(view: ReactViewGroup, background: ReadableMap?) {
|
|
388
|
-
|
|
389
|
-
background?.let { ReactDrawableHelper.createDrawableFromJSDescription(view.context, it) }
|
|
390
|
-
BackgroundStyleApplicator.setFeedbackUnderlay(view, bg)
|
|
367
|
+
view.applyNativeBackground(background)
|
|
391
368
|
}
|
|
392
369
|
|
|
393
370
|
@ReactProp(name = "nativeForegroundAndroid")
|
|
394
371
|
public open fun setNativeForeground(view: ReactViewGroup, foreground: ReadableMap?) {
|
|
395
|
-
view.foreground
|
|
396
|
-
foreground?.let { ReactDrawableHelper.createDrawableFromJSDescription(view.context, it) }
|
|
372
|
+
view.applyNativeForeground(foreground)
|
|
397
373
|
}
|
|
398
374
|
|
|
399
375
|
@ReactProp(name = ViewProps.NEEDS_OFFSCREEN_ALPHA_COMPOSITING)
|
|
@@ -7,14 +7,19 @@
|
|
|
7
7
|
|
|
8
8
|
package com.facebook.react.views.view
|
|
9
9
|
|
|
10
|
+
import android.app.Activity
|
|
10
11
|
import android.graphics.Color
|
|
11
12
|
import android.os.Build
|
|
13
|
+
import android.view.View
|
|
12
14
|
import android.view.Window
|
|
15
|
+
import android.view.WindowInsetsController
|
|
13
16
|
import android.view.WindowManager
|
|
17
|
+
import androidx.annotation.VisibleForTesting
|
|
14
18
|
import androidx.core.view.ViewCompat
|
|
15
19
|
import androidx.core.view.WindowCompat
|
|
16
20
|
import androidx.core.view.WindowInsetsCompat
|
|
17
21
|
import androidx.core.view.WindowInsetsControllerCompat
|
|
22
|
+
import com.facebook.react.util.AndroidVersion
|
|
18
23
|
import com.facebook.react.views.common.UiModeUtils
|
|
19
24
|
|
|
20
25
|
// The light scrim color used in the platform API 29+
|
|
@@ -31,12 +36,38 @@ internal val DarkNavigationBarColor = Color.argb(0x80, 0x1b, 0x1b, 0x1b)
|
|
|
31
36
|
* as enabled elsewhere in the application.
|
|
32
37
|
*/
|
|
33
38
|
public var isEdgeToEdgeFeatureFlagOn: Boolean = false
|
|
34
|
-
|
|
39
|
+
@VisibleForTesting internal set
|
|
35
40
|
|
|
36
41
|
public fun setEdgeToEdgeFeatureFlagOn() {
|
|
37
42
|
isEdgeToEdgeFeatureFlagOn = true
|
|
38
43
|
}
|
|
39
44
|
|
|
45
|
+
internal fun updateEdgeToEdgeFeatureFlag(activity: Activity) {
|
|
46
|
+
// When the app targets SDK 35+, edge-to-edge may be enforced by the OS even if the
|
|
47
|
+
// feature flag wasn't explicitly set. In that case, turn the flag on to match.
|
|
48
|
+
if (AndroidVersion.isAtLeastTargetSdk35(activity)) {
|
|
49
|
+
if (Build.VERSION.SDK_INT >= AndroidVersion.VERSION_CODE_BAKLAVA) {
|
|
50
|
+
// The device is running Android 16+ (where edge-to-edge is always enforced)
|
|
51
|
+
isEdgeToEdgeFeatureFlagOn = true
|
|
52
|
+
} else {
|
|
53
|
+
val attributes = intArrayOf(AndroidVersion.ATTR_WINDOW_OPT_OUT_EDGE_TO_EDGE_ENFORCEMENT)
|
|
54
|
+
val typedArray = activity.theme.obtainStyledAttributes(attributes)
|
|
55
|
+
|
|
56
|
+
// The device is running Android 15 with / without opting out
|
|
57
|
+
isEdgeToEdgeFeatureFlagOn =
|
|
58
|
+
try {
|
|
59
|
+
!typedArray.getBoolean(0, false)
|
|
60
|
+
} finally {
|
|
61
|
+
typedArray.recycle()
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (isEdgeToEdgeFeatureFlagOn) {
|
|
67
|
+
activity.window.enableEdgeToEdge()
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
40
71
|
@Suppress("DEPRECATION")
|
|
41
72
|
internal fun Window.setStatusBarTranslucency(isTranslucent: Boolean) {
|
|
42
73
|
// If the status bar is translucent hook into the window insets calculations
|
|
@@ -65,6 +96,33 @@ internal fun Window.setStatusBarVisibility(isHidden: Boolean) {
|
|
|
65
96
|
}
|
|
66
97
|
}
|
|
67
98
|
|
|
99
|
+
@Suppress("DEPRECATION")
|
|
100
|
+
internal fun Window.setStatusBarStyle(style: String?) {
|
|
101
|
+
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.R) {
|
|
102
|
+
if ("dark-content" == style) {
|
|
103
|
+
// dark-content means dark icons on a light status bar
|
|
104
|
+
insetsController?.setSystemBarsAppearance(
|
|
105
|
+
WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS,
|
|
106
|
+
WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS,
|
|
107
|
+
)
|
|
108
|
+
} else {
|
|
109
|
+
insetsController?.setSystemBarsAppearance(
|
|
110
|
+
0,
|
|
111
|
+
WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS,
|
|
112
|
+
)
|
|
113
|
+
}
|
|
114
|
+
} else {
|
|
115
|
+
var systemUiVisibilityFlags = decorView.systemUiVisibility
|
|
116
|
+
systemUiVisibilityFlags =
|
|
117
|
+
if ("dark-content" == style) {
|
|
118
|
+
systemUiVisibilityFlags or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
|
|
119
|
+
} else {
|
|
120
|
+
systemUiVisibilityFlags and View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR.inv()
|
|
121
|
+
}
|
|
122
|
+
decorView.systemUiVisibility = systemUiVisibilityFlags
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
68
126
|
@Suppress("DEPRECATION")
|
|
69
127
|
private fun Window.statusBarHide() {
|
|
70
128
|
if (isEdgeToEdgeFeatureFlagOn) {
|
|
@@ -106,23 +164,37 @@ private fun Window.statusBarShow() {
|
|
|
106
164
|
internal fun Window.enableEdgeToEdge() {
|
|
107
165
|
WindowCompat.setDecorFitsSystemWindows(this, false)
|
|
108
166
|
|
|
167
|
+
val insetsController = WindowInsetsControllerCompat(this, decorView)
|
|
109
168
|
val isDarkMode = UiModeUtils.isDarkMode(context)
|
|
110
169
|
|
|
170
|
+
statusBarColor = Color.TRANSPARENT
|
|
171
|
+
|
|
111
172
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
|
173
|
+
navigationBarColor = Color.TRANSPARENT
|
|
174
|
+
|
|
175
|
+
val attributes = intArrayOf(android.R.attr.enforceNavigationBarContrast)
|
|
176
|
+
val typedArray = context.theme.obtainStyledAttributes(attributes)
|
|
177
|
+
|
|
178
|
+
val enforceNavigationBarContrast =
|
|
179
|
+
try {
|
|
180
|
+
typedArray.getBoolean(0, true)
|
|
181
|
+
} finally {
|
|
182
|
+
typedArray.recycle()
|
|
183
|
+
}
|
|
184
|
+
|
|
112
185
|
isStatusBarContrastEnforced = false
|
|
113
|
-
isNavigationBarContrastEnforced =
|
|
114
|
-
}
|
|
186
|
+
isNavigationBarContrastEnforced = enforceNavigationBarContrast
|
|
115
187
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
isAppearanceLightNavigationBars =
|
|
188
|
+
if (enforceNavigationBarContrast) {
|
|
189
|
+
insetsController.isAppearanceLightNavigationBars = !isDarkMode
|
|
190
|
+
}
|
|
191
|
+
} else {
|
|
192
|
+
val isAppearanceLightNavigationBars =
|
|
193
|
+
Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && !isDarkMode
|
|
194
|
+
|
|
195
|
+
navigationBarColor =
|
|
196
|
+
if (isAppearanceLightNavigationBars) LightNavigationBarColor else DarkNavigationBarColor
|
|
197
|
+
insetsController.isAppearanceLightNavigationBars = isAppearanceLightNavigationBars
|
|
126
198
|
}
|
|
127
199
|
|
|
128
200
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
package com.facebook.soloader.annotation
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Stub annotation for open-source Gradle builds. The real implementation lives in
|
|
12
|
+
* fbandroid/java/com/facebook/soloader/annotation/ and is used by the internal Buck build for
|
|
13
|
+
* compile-time validation of native library merging.
|
|
14
|
+
*/
|
|
15
|
+
@Retention(AnnotationRetention.SOURCE)
|
|
16
|
+
@Target(AnnotationTarget.CLASS)
|
|
17
|
+
internal annotation class SoLoaderLibrary(vararg val value: String)
|
|
@@ -18,7 +18,9 @@ public enum YogaAlign {
|
|
|
18
18
|
BASELINE(5),
|
|
19
19
|
SPACE_BETWEEN(6),
|
|
20
20
|
SPACE_AROUND(7),
|
|
21
|
-
SPACE_EVENLY(8)
|
|
21
|
+
SPACE_EVENLY(8),
|
|
22
|
+
START(9),
|
|
23
|
+
END(10);
|
|
22
24
|
|
|
23
25
|
private final int mIntValue;
|
|
24
26
|
|
|
@@ -41,6 +43,8 @@ public enum YogaAlign {
|
|
|
41
43
|
case 6: return SPACE_BETWEEN;
|
|
42
44
|
case 7: return SPACE_AROUND;
|
|
43
45
|
case 8: return SPACE_EVENLY;
|
|
46
|
+
case 9: return START;
|
|
47
|
+
case 10: return END;
|
|
44
48
|
default: throw new IllegalArgumentException("Unknown enum value: " + value);
|
|
45
49
|
}
|
|
46
50
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
package com.facebook.yoga
|
|
9
|
+
|
|
10
|
+
public class YogaConfigJNIFinalizer public constructor() : YogaConfigJNIBase() {
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
* This is a valid use of finalize. No other mechanism is appropriate.
|
|
14
|
+
* YogaConfigJNIFinalizer exists specifically to release JNI-allocated native
|
|
15
|
+
* memory (via jni_YGConfigFreeJNI) when the Java object is garbage collected.
|
|
16
|
+
* This is the established pattern for JNI prevented leak classes in Yoga.
|
|
17
|
+
*/
|
|
18
|
+
@Throws(Throwable::class)
|
|
19
|
+
protected fun finalize() {
|
|
20
|
+
freeNatives()
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
public fun freeNatives() {
|
|
24
|
+
if (nativePointer != 0L) {
|
|
25
|
+
val pointer = nativePointer
|
|
26
|
+
nativePointer = 0
|
|
27
|
+
YogaNative.jni_YGConfigFreeJNI(pointer)
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -12,7 +12,8 @@ package com.facebook.yoga;
|
|
|
12
12
|
public enum YogaDisplay {
|
|
13
13
|
FLEX(0),
|
|
14
14
|
NONE(1),
|
|
15
|
-
CONTENTS(2)
|
|
15
|
+
CONTENTS(2),
|
|
16
|
+
GRID(3);
|
|
16
17
|
|
|
17
18
|
private final int mIntValue;
|
|
18
19
|
|
|
@@ -29,6 +30,7 @@ public enum YogaDisplay {
|
|
|
29
30
|
case 0: return FLEX;
|
|
30
31
|
case 1: return NONE;
|
|
31
32
|
case 2: return CONTENTS;
|
|
33
|
+
case 3: return GRID;
|
|
32
34
|
default: throw new IllegalArgumentException("Unknown enum value: " + value);
|
|
33
35
|
}
|
|
34
36
|
}
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
package com.facebook.yoga;
|
|
11
11
|
|
|
12
12
|
public enum YogaExperimentalFeature {
|
|
13
|
-
WEB_FLEX_BASIS(0)
|
|
13
|
+
WEB_FLEX_BASIS(0),
|
|
14
|
+
FIX_FLEX_BASIS_FIT_CONTENT(1);
|
|
14
15
|
|
|
15
16
|
private final int mIntValue;
|
|
16
17
|
|
|
@@ -25,6 +26,7 @@ public enum YogaExperimentalFeature {
|
|
|
25
26
|
public static YogaExperimentalFeature fromInt(int value) {
|
|
26
27
|
switch (value) {
|
|
27
28
|
case 0: return WEB_FLEX_BASIS;
|
|
29
|
+
case 1: return FIX_FLEX_BASIS_FIT_CONTENT;
|
|
28
30
|
default: throw new IllegalArgumentException("Unknown enum value: " + value);
|
|
29
31
|
}
|
|
30
32
|
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
// @generated by enums.py
|
|
9
|
+
|
|
10
|
+
package com.facebook.yoga;
|
|
11
|
+
|
|
12
|
+
public enum YogaGridTrackType {
|
|
13
|
+
AUTO(0),
|
|
14
|
+
POINTS(1),
|
|
15
|
+
PERCENT(2),
|
|
16
|
+
FR(3),
|
|
17
|
+
MINMAX(4);
|
|
18
|
+
|
|
19
|
+
private final int mIntValue;
|
|
20
|
+
|
|
21
|
+
YogaGridTrackType(int intValue) {
|
|
22
|
+
mIntValue = intValue;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
public int intValue() {
|
|
26
|
+
return mIntValue;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
public static YogaGridTrackType fromInt(int value) {
|
|
30
|
+
switch (value) {
|
|
31
|
+
case 0: return AUTO;
|
|
32
|
+
case 1: return POINTS;
|
|
33
|
+
case 2: return PERCENT;
|
|
34
|
+
case 3: return FR;
|
|
35
|
+
case 4: return MINMAX;
|
|
36
|
+
default: throw new IllegalArgumentException("Unknown enum value: " + value);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|