From 4858a0f469fa9efe379ae2f768ef780e498360cb Mon Sep 17 00:00:00 2001 From: Nicola Corti Date: Tue, 16 Sep 2025 07:23:51 -0700 Subject: [PATCH] Mark ReactTextInlineImageShadowNode as @LegacyArchitecture (#53735) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/53735 This class should have been marked as LegacyArchitecture back then but was forgotten. I'm doing it now. Changelog: [Internal] - Reviewed By: javache Differential Revision: D82219780 fbshipit-source-id: 5119b7469733d5d2d4b16e976b09231ad5f71f5f --- .../facebook/react/views/text/ReactBaseTextShadowNode.kt | 4 ++-- .../FrescoBasedReactTextInlineImageShadowNode.kt | 2 ++ .../views/text/internal/ReactTextInlineImageShadowNode.kt | 7 +++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.kt index f4f0f2396e2..fb845d46264 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.kt @@ -34,7 +34,6 @@ import com.facebook.react.views.text.ReactTypefaceUtils.parseFontStyle import com.facebook.react.views.text.ReactTypefaceUtils.parseFontVariant import com.facebook.react.views.text.ReactTypefaceUtils.parseFontWeight import com.facebook.react.views.text.TextTransform.Companion.apply -import com.facebook.react.views.text.internal.ReactTextInlineImageShadowNode import com.facebook.react.views.text.internal.span.CustomLetterSpacingSpan import com.facebook.react.views.text.internal.span.CustomLineHeightSpan import com.facebook.react.views.text.internal.span.CustomStyleSpan @@ -523,6 +522,7 @@ public constructor( while (i < length) { val child: ReactShadowNode<*> = textShadowNode.getChildAt(i) + @Suppress("DEPRECATION") if (child is ReactRawTextShadowNode) { child.text?.let { sb.append(apply(it, textAttributes.textTransform)) } } else if (child is ReactBaseTextShadowNode) { @@ -535,7 +535,7 @@ public constructor( inlineViews, sb.length, ) - } else if (child is ReactTextInlineImageShadowNode) { + } else if (child is com.facebook.react.views.text.internal.ReactTextInlineImageShadowNode) { // We make the image take up 1 character in the span and put a corresponding character // into the text so that the image doesn't run over any following text. sb.append(INLINE_VIEW_PLACEHOLDER) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt index 81b728f6d2a..cb6db475434 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt @@ -5,6 +5,8 @@ * LICENSE file in the root directory of this source tree. */ +@file:Suppress("DEPRECATION") + package com.facebook.react.views.text.frescosupport import android.content.Context diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.kt index 96e65079918..84b23a6cbe9 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.kt @@ -9,11 +9,18 @@ package com.facebook.react.views.text.internal +import com.facebook.react.common.annotations.internal.LegacyArchitecture +import com.facebook.react.common.annotations.internal.LegacyArchitectureLogLevel import com.facebook.react.uimanager.LayoutShadowNode import com.facebook.react.views.text.internal.span.TextInlineImageSpan import com.facebook.yoga.YogaNode /** Base class for [YogaNode]s that represent inline images. */ +@LegacyArchitecture(logLevel = LegacyArchitectureLogLevel.ERROR) +@Deprecated( + message = "This class is part of Legacy Architecture and will be removed in a future release", + level = DeprecationLevel.WARNING, +) internal abstract class ReactTextInlineImageShadowNode : LayoutShadowNode() { /** * Build a [TextInlineImageSpan] from this node. This will be added to the TextView in place of