From 29a3267b8db3a688b85a3fbfa733b7f11cc764b8 Mon Sep 17 00:00:00 2001 From: Jakub Trzebiatowski Date: Tue, 19 Dec 2023 13:35:44 +0100 Subject: [PATCH 1/3] Move all `ReactSpan` subclasses to a separate folder --- .../views/text/ReactBaseTextShadowNode.java | 24 +++++++++++++++---- .../text/ReactTextInlineImageShadowNode.java | 1 + .../react/views/text/ReactTextShadowNode.java | 2 ++ .../react/views/text/ReactTextView.java | 3 +++ .../views/text/ReactTextViewManager.java | 2 ++ .../react/views/text/TextLayoutManager.java | 13 ++++++++++ .../text/TextLayoutManagerMapBuffer.java | 14 +++++++++++ .../react/views/text/TextLayoutUtils.kt | 16 ++++++++++++- ...coBasedReactTextInlineImageShadowNode.java | 2 +- .../FrescoBasedReactTextInlineImageSpan.java | 2 +- .../{ => span}/CustomLetterSpacingSpan.java | 2 +- .../text/{ => span}/CustomLineHeightSpan.java | 2 +- .../text/{ => span}/CustomStyleSpan.java | 3 ++- .../{ => span}/ReactAbsoluteSizeSpan.java | 2 +- .../{ => span}/ReactBackgroundColorSpan.java | 2 +- .../text/{ => span}/ReactClickableSpan.java | 8 ++++--- .../{ => span}/ReactForegroundColorSpan.java | 2 +- .../views/text/{ => span}/ReactSpan.java | 2 +- .../{ => span}/ReactStrikethroughSpan.java | 2 +- .../views/text/{ => span}/ReactTagSpan.java | 2 +- .../text/{ => span}/ReactUnderlineSpan.java | 2 +- .../text/{ => span}/SetSpanOperation.java | 11 ++++++--- .../text/{ => span}/ShadowStyleSpan.java | 2 +- .../text/{ => span}/TextInlineImageSpan.java | 2 +- .../TextInlineViewPlaceholderSpan.java | 2 +- .../react/views/textinput/ReactEditText.java | 20 ++++++++-------- .../textinput/ReactTextInputManager.java | 2 +- .../views/text/CustomLineHeightSpanTest.kt | 1 + 28 files changed, 111 insertions(+), 37 deletions(-) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => span}/CustomLetterSpacingSpan.java (96%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => span}/CustomLineHeightSpan.java (98%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => span}/CustomStyleSpan.java (96%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => span}/ReactAbsoluteSizeSpan.java (91%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => span}/ReactBackgroundColorSpan.java (91%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => span}/ReactClickableSpan.java (88%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => span}/ReactForegroundColorSpan.java (91%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => span}/ReactSpan.java (90%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => span}/ReactStrikethroughSpan.java (89%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => span}/ReactTagSpan.java (92%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => span}/ReactUnderlineSpan.java (89%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => span}/SetSpanOperation.java (90%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => span}/ShadowStyleSpan.java (93%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => span}/TextInlineImageSpan.java (97%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => span}/TextInlineViewPlaceholderSpan.java (97%) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java index 2c0489df363696..a12ca76d5b2f7e 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java @@ -31,6 +31,21 @@ import com.facebook.react.uimanager.ReactShadowNode; import com.facebook.react.uimanager.ViewProps; import com.facebook.react.uimanager.annotations.ReactProp; +import com.facebook.react.views.text.span.CustomLetterSpacingSpan; +import com.facebook.react.views.text.span.CustomLineHeightSpan; +import com.facebook.react.views.text.span.CustomStyleSpan; +import com.facebook.react.views.text.span.ReactAbsoluteSizeSpan; +import com.facebook.react.views.text.span.ReactBackgroundColorSpan; +import com.facebook.react.views.text.span.ReactClickableSpan; +import com.facebook.react.views.text.span.ReactForegroundColorSpan; +import com.facebook.react.views.text.span.ReactSpan; +import com.facebook.react.views.text.span.ReactStrikethroughSpan; +import com.facebook.react.views.text.span.ReactTagSpan; +import com.facebook.react.views.text.span.ReactUnderlineSpan; +import com.facebook.react.views.text.span.SetSpanOperation; +import com.facebook.react.views.text.span.ShadowStyleSpan; +import com.facebook.react.views.text.span.TextInlineImageSpan; +import com.facebook.react.views.text.span.TextInlineViewPlaceholderSpan; import com.facebook.yoga.YogaDirection; import com.facebook.yoga.YogaUnit; import com.facebook.yoga.YogaValue; @@ -366,15 +381,16 @@ protected Spannable spannedFromShadowNode( // or images. for (int priorityIndex = 0; priorityIndex < ops.size(); priorityIndex++) { final SetSpanOperation op = ops.get(ops.size() - priorityIndex - 1); + final ReactSpan what = op.getWhat(); - boolean isInlineImage = op.what instanceof TextInlineImageSpan; - if (isInlineImage || op.what instanceof TextInlineViewPlaceholderSpan) { + boolean isInlineImage = what instanceof TextInlineImageSpan; + if (isInlineImage || what instanceof TextInlineViewPlaceholderSpan) { int height; if (isInlineImage) { - height = ((TextInlineImageSpan) op.what).getHeight(); + height = ((TextInlineImageSpan) what).getHeight(); textShadowNode.mContainsImages = true; } else { - TextInlineViewPlaceholderSpan placeholder = (TextInlineViewPlaceholderSpan) op.what; + TextInlineViewPlaceholderSpan placeholder = (TextInlineViewPlaceholderSpan) what; height = placeholder.getHeight(); // Inline views cannot be layout-only because the ReactTextView needs to be able to grab diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextInlineImageShadowNode.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextInlineImageShadowNode.java index 9e011bade6bffe..9f49d1cc6b09a0 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextInlineImageShadowNode.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextInlineImageShadowNode.java @@ -8,6 +8,7 @@ package com.facebook.react.views.text; import com.facebook.react.uimanager.LayoutShadowNode; +import com.facebook.react.views.text.span.TextInlineImageSpan; import com.facebook.yoga.YogaNode; /** Base class for {@link YogaNode}s that represent inline images. */ diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java index 9b7d15715c90aa..b0281bd122e9dd 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java @@ -32,6 +32,8 @@ import com.facebook.react.uimanager.UIViewOperationQueue; import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.uimanager.events.RCTEventEmitter; +import com.facebook.react.views.text.span.ReactAbsoluteSizeSpan; +import com.facebook.react.views.text.span.TextInlineViewPlaceholderSpan; import com.facebook.yoga.YogaBaselineFunction; import com.facebook.yoga.YogaConstants; import com.facebook.yoga.YogaDirection; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java index d0343a59e556cb..1bd4a48a290e5d 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java @@ -40,6 +40,9 @@ import com.facebook.react.uimanager.ViewDefaults; import com.facebook.react.uimanager.common.UIManagerType; import com.facebook.react.uimanager.common.ViewUtil; +import com.facebook.react.views.text.span.ReactTagSpan; +import com.facebook.react.views.text.span.TextInlineImageSpan; +import com.facebook.react.views.text.span.TextInlineViewPlaceholderSpan; import com.facebook.react.views.view.ReactViewBackgroundManager; import java.util.ArrayList; import java.util.Collections; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java index 705223f832d4c8..ce5560f5634d7a 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java @@ -25,6 +25,8 @@ import com.facebook.react.uimanager.StateWrapper; import com.facebook.react.uimanager.ThemedReactContext; import com.facebook.react.uimanager.ViewProps; +import com.facebook.react.views.text.span.ReactClickableSpan; +import com.facebook.react.views.text.span.TextInlineImageSpan; import com.facebook.yoga.YogaMeasureMode; import java.util.HashMap; import java.util.Map; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java index 439401492d9258..9a7470458a5c29 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java @@ -38,6 +38,19 @@ import com.facebook.react.uimanager.ReactStylesDiffMap; import com.facebook.react.uimanager.ViewProps; import com.facebook.react.views.text.fragments.BridgeTextFragmentList; +import com.facebook.react.views.text.span.CustomLetterSpacingSpan; +import com.facebook.react.views.text.span.CustomLineHeightSpan; +import com.facebook.react.views.text.span.CustomStyleSpan; +import com.facebook.react.views.text.span.ReactAbsoluteSizeSpan; +import com.facebook.react.views.text.span.ReactBackgroundColorSpan; +import com.facebook.react.views.text.span.ReactClickableSpan; +import com.facebook.react.views.text.span.ReactForegroundColorSpan; +import com.facebook.react.views.text.span.ReactStrikethroughSpan; +import com.facebook.react.views.text.span.ReactTagSpan; +import com.facebook.react.views.text.span.ReactUnderlineSpan; +import com.facebook.react.views.text.span.SetSpanOperation; +import com.facebook.react.views.text.span.ShadowStyleSpan; +import com.facebook.react.views.text.span.TextInlineViewPlaceholderSpan; import com.facebook.yoga.YogaConstants; import com.facebook.yoga.YogaMeasureMode; import com.facebook.yoga.YogaMeasureOutput; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java index f6f0287db6d883..96097d4979c680 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java @@ -22,6 +22,7 @@ import android.util.LayoutDirection; import android.util.LruCache; import android.view.View; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; @@ -37,6 +38,19 @@ import com.facebook.react.uimanager.ReactAccessibilityDelegate.AccessibilityRole; import com.facebook.react.uimanager.ReactAccessibilityDelegate.Role; import com.facebook.react.views.text.fragments.MapBufferTextFragmentList; +import com.facebook.react.views.text.span.CustomLetterSpacingSpan; +import com.facebook.react.views.text.span.CustomLineHeightSpan; +import com.facebook.react.views.text.span.CustomStyleSpan; +import com.facebook.react.views.text.span.ReactAbsoluteSizeSpan; +import com.facebook.react.views.text.span.ReactBackgroundColorSpan; +import com.facebook.react.views.text.span.ReactClickableSpan; +import com.facebook.react.views.text.span.ReactForegroundColorSpan; +import com.facebook.react.views.text.span.ReactStrikethroughSpan; +import com.facebook.react.views.text.span.ReactTagSpan; +import com.facebook.react.views.text.span.ReactUnderlineSpan; +import com.facebook.react.views.text.span.SetSpanOperation; +import com.facebook.react.views.text.span.ShadowStyleSpan; +import com.facebook.react.views.text.span.TextInlineViewPlaceholderSpan; import com.facebook.yoga.YogaConstants; import com.facebook.yoga.YogaMeasureMode; import com.facebook.yoga.YogaMeasureOutput; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutUtils.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutUtils.kt index c23cd93acd139e..03745623cdc2e9 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutUtils.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutUtils.kt @@ -9,13 +9,27 @@ package com.facebook.react.views.text import android.content.Context import android.graphics.Color -import android.text.* +import android.text.Spannable +import android.text.SpannableStringBuilder import android.view.View import com.facebook.react.common.ReactConstants import com.facebook.react.uimanager.PixelUtil import com.facebook.react.uimanager.ReactAccessibilityDelegate import com.facebook.react.views.text.fragments.TextFragment import com.facebook.react.views.text.fragments.TextFragmentList +import com.facebook.react.views.text.span.CustomLetterSpacingSpan +import com.facebook.react.views.text.span.CustomLineHeightSpan +import com.facebook.react.views.text.span.CustomStyleSpan +import com.facebook.react.views.text.span.ReactAbsoluteSizeSpan +import com.facebook.react.views.text.span.ReactBackgroundColorSpan +import com.facebook.react.views.text.span.ReactClickableSpan +import com.facebook.react.views.text.span.ReactForegroundColorSpan +import com.facebook.react.views.text.span.ReactStrikethroughSpan +import com.facebook.react.views.text.span.ReactTagSpan +import com.facebook.react.views.text.span.ReactUnderlineSpan +import com.facebook.react.views.text.span.SetSpanOperation +import com.facebook.react.views.text.span.ShadowStyleSpan +import com.facebook.react.views.text.span.TextInlineViewPlaceholderSpan /** Utility methods for building [Spannable]s */ internal object TextLayoutUtils { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java index 7891aee93a030c..fbc7286c4f5c5b 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java @@ -22,7 +22,7 @@ import com.facebook.react.uimanager.ViewProps; import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.views.text.ReactTextInlineImageShadowNode; -import com.facebook.react.views.text.TextInlineImageSpan; +import com.facebook.react.views.text.span.TextInlineImageSpan; import com.facebook.yoga.YogaConstants; import java.util.Locale; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java index 3dfe989cd3c96c..06691964f21857 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java @@ -27,7 +27,7 @@ import com.facebook.react.modules.fresco.ReactNetworkImageRequest; import com.facebook.react.uimanager.PixelUtil; import com.facebook.react.views.image.ImageResizeMode; -import com.facebook.react.views.text.TextInlineImageSpan; +import com.facebook.react.views.text.span.TextInlineImageSpan; /** * FrescoBasedTextInlineImageSpan is a span for Images that are inside . It computes its size diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLetterSpacingSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/CustomLetterSpacingSpan.java similarity index 96% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLetterSpacingSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/CustomLetterSpacingSpan.java index f037ef1881450f..d7cb3d44e325e2 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLetterSpacingSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/CustomLetterSpacingSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text; +package com.facebook.react.views.text.span; import android.text.TextPaint; import android.text.style.MetricAffectingSpan; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLineHeightSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/CustomLineHeightSpan.java similarity index 98% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLineHeightSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/CustomLineHeightSpan.java index 67ede6245a1ea2..849f728d2f78e2 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLineHeightSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/CustomLineHeightSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text; +package com.facebook.react.views.text.span; import android.graphics.Paint; import android.text.style.LineHeightSpan; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/CustomStyleSpan.java similarity index 96% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/CustomStyleSpan.java index 1bcbb6f919f05c..624fd6b4c9c1d8 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/CustomStyleSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text; +package com.facebook.react.views.text.span; import android.content.res.AssetManager; import android.graphics.Paint; @@ -16,6 +16,7 @@ import com.facebook.infer.annotation.Nullsafe; import com.facebook.react.common.ReactConstants; import com.facebook.react.common.assets.ReactFontManager; +import com.facebook.react.views.text.ReactTypefaceUtils; @Nullsafe(Nullsafe.Mode.LOCAL) public class CustomStyleSpan extends MetricAffectingSpan implements ReactSpan { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactAbsoluteSizeSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactAbsoluteSizeSpan.java similarity index 91% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactAbsoluteSizeSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactAbsoluteSizeSpan.java index 073a57c21139a0..9f1e646d267e8d 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactAbsoluteSizeSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactAbsoluteSizeSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text; +package com.facebook.react.views.text.span; import android.text.style.AbsoluteSizeSpan; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBackgroundColorSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactBackgroundColorSpan.java similarity index 91% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBackgroundColorSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactBackgroundColorSpan.java index 0954a0f8bc8c97..b9f1ba05bb295d 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBackgroundColorSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactBackgroundColorSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text; +package com.facebook.react.views.text.span; import android.text.style.BackgroundColorSpan; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactClickableSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactClickableSpan.java similarity index 88% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactClickableSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactClickableSpan.java index 3b71d0b1366a50..987401aefc790a 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactClickableSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactClickableSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text; +package com.facebook.react.views.text.span; import android.text.TextPaint; import android.text.style.ClickableSpan; @@ -14,6 +14,8 @@ import com.facebook.react.bridge.ReactContext; import com.facebook.react.uimanager.UIManagerHelper; import com.facebook.react.uimanager.events.EventDispatcher; +import com.facebook.react.views.text.ReactTextView; +import com.facebook.react.views.text.TextLayoutManager; import com.facebook.react.views.view.ViewGroupClickEvent; /** @@ -36,11 +38,11 @@ * accessible (TalkBack announces that the text has links available, and the links are exposed in * the context menu). */ -class ReactClickableSpan extends ClickableSpan implements ReactSpan { +public class ReactClickableSpan extends ClickableSpan implements ReactSpan { private final int mReactTag; - ReactClickableSpan(int reactTag) { + public ReactClickableSpan(int reactTag) { mReactTag = reactTag; } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactForegroundColorSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactForegroundColorSpan.java similarity index 91% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactForegroundColorSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactForegroundColorSpan.java index 3aebde60799b97..51bb0e7388c0f5 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactForegroundColorSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactForegroundColorSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text; +package com.facebook.react.views.text.span; import android.text.style.ForegroundColorSpan; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactSpan.java similarity index 90% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactSpan.java index c847a92cb373d8..74182494fe591b 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text; +package com.facebook.react.views.text.span; /* * Enables us to distinguish between spans that were added by React Native and spans that were diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactStrikethroughSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactStrikethroughSpan.java similarity index 89% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactStrikethroughSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactStrikethroughSpan.java index 5c5eae7bfbf1fc..5997aedfc57f26 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactStrikethroughSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactStrikethroughSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text; +package com.facebook.react.views.text.span; import android.text.style.StrikethroughSpan; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTagSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactTagSpan.java similarity index 92% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTagSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactTagSpan.java index 535fd9757f53c4..e8d2a73caa5431 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTagSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactTagSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text; +package com.facebook.react.views.text.span; /** * Instances of this class are used to place reactTag information of nested text react nodes into diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactUnderlineSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactUnderlineSpan.java similarity index 89% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactUnderlineSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactUnderlineSpan.java index f625dfc8d4fe08..c0fc4b075e4c9d 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactUnderlineSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactUnderlineSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text; +package com.facebook.react.views.text.span; import android.text.style.UnderlineSpan; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/SetSpanOperation.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/SetSpanOperation.java similarity index 90% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/SetSpanOperation.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/SetSpanOperation.java index 57649508d54316..ccb34d13581e58 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/SetSpanOperation.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/SetSpanOperation.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text; +package com.facebook.react.views.text.span; import android.text.Spannable; import android.text.SpannableStringBuilder; @@ -17,9 +17,10 @@ public class SetSpanOperation { static final int SPAN_MAX_PRIORITY = Spanned.SPAN_PRIORITY >> Spanned.SPAN_PRIORITY_SHIFT; protected int start, end; - protected ReactSpan what; - SetSpanOperation(int start, int end, ReactSpan what) { + private final ReactSpan what; + + public SetSpanOperation(int start, int end, ReactSpan what) { this.start = start; this.end = end; this.what = what; @@ -56,4 +57,8 @@ public void execute(SpannableStringBuilder sb, int priorityIndex) { sb.setSpan(what, start, end, spanFlags); } + + public ReactSpan getWhat() { + return what; + } } diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ShadowStyleSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ShadowStyleSpan.java similarity index 93% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ShadowStyleSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ShadowStyleSpan.java index 4fe4bf958201e7..6800203c4acfa7 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ShadowStyleSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ShadowStyleSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text; +package com.facebook.react.views.text.span; import android.text.TextPaint; import android.text.style.CharacterStyle; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextInlineImageSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/TextInlineImageSpan.java similarity index 97% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextInlineImageSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/TextInlineImageSpan.java index 6d674ebba9b419..6dae41ba4d5ed0 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextInlineImageSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/TextInlineImageSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text; +package com.facebook.react.views.text.span; import android.graphics.drawable.Drawable; import android.text.Spannable; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextInlineViewPlaceholderSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/TextInlineViewPlaceholderSpan.java similarity index 97% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextInlineViewPlaceholderSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/TextInlineViewPlaceholderSpan.java index 3b0196ecd52ecc..bf0c9b9305e682 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextInlineViewPlaceholderSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/TextInlineViewPlaceholderSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text; +package com.facebook.react.views.text.span; import android.graphics.Canvas; import android.graphics.Paint; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java index d70f9e67b3cdc3..6885ce07c5d13f 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java @@ -52,19 +52,19 @@ import com.facebook.react.uimanager.StateWrapper; import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.events.EventDispatcher; -import com.facebook.react.views.text.CustomLetterSpacingSpan; -import com.facebook.react.views.text.CustomLineHeightSpan; -import com.facebook.react.views.text.CustomStyleSpan; -import com.facebook.react.views.text.ReactAbsoluteSizeSpan; -import com.facebook.react.views.text.ReactBackgroundColorSpan; -import com.facebook.react.views.text.ReactForegroundColorSpan; -import com.facebook.react.views.text.ReactSpan; -import com.facebook.react.views.text.ReactStrikethroughSpan; +import com.facebook.react.views.text.span.CustomLetterSpacingSpan; +import com.facebook.react.views.text.span.CustomLineHeightSpan; +import com.facebook.react.views.text.span.CustomStyleSpan; +import com.facebook.react.views.text.span.ReactAbsoluteSizeSpan; +import com.facebook.react.views.text.span.ReactBackgroundColorSpan; +import com.facebook.react.views.text.span.ReactForegroundColorSpan; +import com.facebook.react.views.text.span.ReactSpan; +import com.facebook.react.views.text.span.ReactStrikethroughSpan; import com.facebook.react.views.text.ReactTextUpdate; import com.facebook.react.views.text.ReactTypefaceUtils; -import com.facebook.react.views.text.ReactUnderlineSpan; +import com.facebook.react.views.text.span.ReactUnderlineSpan; import com.facebook.react.views.text.TextAttributes; -import com.facebook.react.views.text.TextInlineImageSpan; +import com.facebook.react.views.text.span.TextInlineImageSpan; import com.facebook.react.views.text.TextLayoutManager; import com.facebook.react.views.view.ReactViewBackgroundManager; import java.util.ArrayList; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java index 376af6a81e6a10..f96f5d5004ccd6 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java @@ -69,7 +69,7 @@ import com.facebook.react.views.text.ReactTextViewManagerCallback; import com.facebook.react.views.text.ReactTypefaceUtils; import com.facebook.react.views.text.TextAttributeProps; -import com.facebook.react.views.text.TextInlineImageSpan; +import com.facebook.react.views.text.span.TextInlineImageSpan; import com.facebook.react.views.text.TextLayoutManager; import com.facebook.react.views.text.TextLayoutManagerMapBuffer; import com.facebook.react.views.text.TextTransform; diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/text/CustomLineHeightSpanTest.kt b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/text/CustomLineHeightSpanTest.kt index aea7de47db71d8..b7b9e8c226d429 100644 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/text/CustomLineHeightSpanTest.kt +++ b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/text/CustomLineHeightSpanTest.kt @@ -8,6 +8,7 @@ package com.facebook.react.views.text import android.graphics.Paint +import com.facebook.react.views.text.span.CustomLineHeightSpan import org.assertj.core.api.Assertions.assertThat import org.junit.Test import org.junit.runner.RunWith From 446677630fecb07ecead2163acad4ac2c1f6c4c4 Mon Sep 17 00:00:00 2001 From: Jakub Trzebiatowski Date: Thu, 25 Jan 2024 13:33:09 +0100 Subject: [PATCH 2/3] Move the new `span` package to an `internal` sub-package --- .../views/text/ReactBaseTextShadowNode.java | 30 +++++++++---------- .../text/ReactTextInlineImageShadowNode.java | 2 +- .../react/views/text/ReactTextShadowNode.java | 4 +-- .../react/views/text/ReactTextView.java | 6 ++-- .../views/text/ReactTextViewManager.java | 4 +-- .../react/views/text/TextLayoutManager.java | 26 ++++++++-------- .../text/TextLayoutManagerMapBuffer.java | 26 ++++++++-------- .../react/views/text/TextLayoutUtils.kt | 26 ++++++++-------- ...coBasedReactTextInlineImageShadowNode.java | 2 +- .../FrescoBasedReactTextInlineImageSpan.java | 2 +- .../span/CustomLetterSpacingSpan.java | 2 +- .../span/CustomLineHeightSpan.java | 2 +- .../{ => internal}/span/CustomStyleSpan.java | 2 +- .../span/ReactAbsoluteSizeSpan.java | 2 +- .../span/ReactBackgroundColorSpan.java | 2 +- .../span/ReactClickableSpan.java | 2 +- .../span/ReactForegroundColorSpan.java | 2 +- .../text/{ => internal}/span/ReactSpan.java | 2 +- .../span/ReactStrikethroughSpan.java | 2 +- .../{ => internal}/span/ReactTagSpan.java | 2 +- .../span/ReactUnderlineSpan.java | 2 +- .../{ => internal}/span/SetSpanOperation.java | 2 +- .../{ => internal}/span/ShadowStyleSpan.java | 2 +- .../span/TextInlineImageSpan.java | 2 +- .../span/TextInlineViewPlaceholderSpan.java | 2 +- .../react/views/textinput/ReactEditText.java | 20 ++++++------- .../textinput/ReactTextInputManager.java | 2 +- .../views/text/CustomLineHeightSpanTest.kt | 2 +- 28 files changed, 91 insertions(+), 91 deletions(-) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => internal}/span/CustomLetterSpacingSpan.java (95%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => internal}/span/CustomLineHeightSpan.java (97%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => internal}/span/CustomStyleSpan.java (98%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => internal}/span/ReactAbsoluteSizeSpan.java (89%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => internal}/span/ReactBackgroundColorSpan.java (89%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => internal}/span/ReactClickableSpan.java (97%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => internal}/span/ReactForegroundColorSpan.java (89%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => internal}/span/ReactSpan.java (88%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => internal}/span/ReactStrikethroughSpan.java (88%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => internal}/span/ReactTagSpan.java (91%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => internal}/span/ReactUnderlineSpan.java (87%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => internal}/span/SetSpanOperation.java (97%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => internal}/span/ShadowStyleSpan.java (92%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => internal}/span/TextInlineImageSpan.java (97%) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => internal}/span/TextInlineViewPlaceholderSpan.java (96%) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java index a12ca76d5b2f7e..88d42d83368bde 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java @@ -31,21 +31,21 @@ import com.facebook.react.uimanager.ReactShadowNode; import com.facebook.react.uimanager.ViewProps; import com.facebook.react.uimanager.annotations.ReactProp; -import com.facebook.react.views.text.span.CustomLetterSpacingSpan; -import com.facebook.react.views.text.span.CustomLineHeightSpan; -import com.facebook.react.views.text.span.CustomStyleSpan; -import com.facebook.react.views.text.span.ReactAbsoluteSizeSpan; -import com.facebook.react.views.text.span.ReactBackgroundColorSpan; -import com.facebook.react.views.text.span.ReactClickableSpan; -import com.facebook.react.views.text.span.ReactForegroundColorSpan; -import com.facebook.react.views.text.span.ReactSpan; -import com.facebook.react.views.text.span.ReactStrikethroughSpan; -import com.facebook.react.views.text.span.ReactTagSpan; -import com.facebook.react.views.text.span.ReactUnderlineSpan; -import com.facebook.react.views.text.span.SetSpanOperation; -import com.facebook.react.views.text.span.ShadowStyleSpan; -import com.facebook.react.views.text.span.TextInlineImageSpan; -import com.facebook.react.views.text.span.TextInlineViewPlaceholderSpan; +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; +import com.facebook.react.views.text.internal.span.ReactAbsoluteSizeSpan; +import com.facebook.react.views.text.internal.span.ReactBackgroundColorSpan; +import com.facebook.react.views.text.internal.span.ReactClickableSpan; +import com.facebook.react.views.text.internal.span.ReactForegroundColorSpan; +import com.facebook.react.views.text.internal.span.ReactSpan; +import com.facebook.react.views.text.internal.span.ReactStrikethroughSpan; +import com.facebook.react.views.text.internal.span.ReactTagSpan; +import com.facebook.react.views.text.internal.span.ReactUnderlineSpan; +import com.facebook.react.views.text.internal.span.SetSpanOperation; +import com.facebook.react.views.text.internal.span.ShadowStyleSpan; +import com.facebook.react.views.text.internal.span.TextInlineImageSpan; +import com.facebook.react.views.text.internal.span.TextInlineViewPlaceholderSpan; import com.facebook.yoga.YogaDirection; import com.facebook.yoga.YogaUnit; import com.facebook.yoga.YogaValue; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextInlineImageShadowNode.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextInlineImageShadowNode.java index 9f49d1cc6b09a0..7a74418f1bec67 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextInlineImageShadowNode.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextInlineImageShadowNode.java @@ -8,7 +8,7 @@ package com.facebook.react.views.text; import com.facebook.react.uimanager.LayoutShadowNode; -import com.facebook.react.views.text.span.TextInlineImageSpan; +import com.facebook.react.views.text.internal.span.TextInlineImageSpan; import com.facebook.yoga.YogaNode; /** Base class for {@link YogaNode}s that represent inline images. */ diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java index b0281bd122e9dd..96bb3495cd31d0 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java @@ -32,8 +32,8 @@ import com.facebook.react.uimanager.UIViewOperationQueue; import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.uimanager.events.RCTEventEmitter; -import com.facebook.react.views.text.span.ReactAbsoluteSizeSpan; -import com.facebook.react.views.text.span.TextInlineViewPlaceholderSpan; +import com.facebook.react.views.text.internal.span.ReactAbsoluteSizeSpan; +import com.facebook.react.views.text.internal.span.TextInlineViewPlaceholderSpan; import com.facebook.yoga.YogaBaselineFunction; import com.facebook.yoga.YogaConstants; import com.facebook.yoga.YogaDirection; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java index 1bd4a48a290e5d..cf50efcbfa1a0a 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java @@ -40,9 +40,9 @@ import com.facebook.react.uimanager.ViewDefaults; import com.facebook.react.uimanager.common.UIManagerType; import com.facebook.react.uimanager.common.ViewUtil; -import com.facebook.react.views.text.span.ReactTagSpan; -import com.facebook.react.views.text.span.TextInlineImageSpan; -import com.facebook.react.views.text.span.TextInlineViewPlaceholderSpan; +import com.facebook.react.views.text.internal.span.ReactTagSpan; +import com.facebook.react.views.text.internal.span.TextInlineImageSpan; +import com.facebook.react.views.text.internal.span.TextInlineViewPlaceholderSpan; import com.facebook.react.views.view.ReactViewBackgroundManager; import java.util.ArrayList; import java.util.Collections; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java index ce5560f5634d7a..de2f290935549f 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java @@ -25,8 +25,8 @@ import com.facebook.react.uimanager.StateWrapper; import com.facebook.react.uimanager.ThemedReactContext; import com.facebook.react.uimanager.ViewProps; -import com.facebook.react.views.text.span.ReactClickableSpan; -import com.facebook.react.views.text.span.TextInlineImageSpan; +import com.facebook.react.views.text.internal.span.ReactClickableSpan; +import com.facebook.react.views.text.internal.span.TextInlineImageSpan; import com.facebook.yoga.YogaMeasureMode; import java.util.HashMap; import java.util.Map; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java index 9a7470458a5c29..8c555f2f978671 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java @@ -38,19 +38,19 @@ import com.facebook.react.uimanager.ReactStylesDiffMap; import com.facebook.react.uimanager.ViewProps; import com.facebook.react.views.text.fragments.BridgeTextFragmentList; -import com.facebook.react.views.text.span.CustomLetterSpacingSpan; -import com.facebook.react.views.text.span.CustomLineHeightSpan; -import com.facebook.react.views.text.span.CustomStyleSpan; -import com.facebook.react.views.text.span.ReactAbsoluteSizeSpan; -import com.facebook.react.views.text.span.ReactBackgroundColorSpan; -import com.facebook.react.views.text.span.ReactClickableSpan; -import com.facebook.react.views.text.span.ReactForegroundColorSpan; -import com.facebook.react.views.text.span.ReactStrikethroughSpan; -import com.facebook.react.views.text.span.ReactTagSpan; -import com.facebook.react.views.text.span.ReactUnderlineSpan; -import com.facebook.react.views.text.span.SetSpanOperation; -import com.facebook.react.views.text.span.ShadowStyleSpan; -import com.facebook.react.views.text.span.TextInlineViewPlaceholderSpan; +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; +import com.facebook.react.views.text.internal.span.ReactAbsoluteSizeSpan; +import com.facebook.react.views.text.internal.span.ReactBackgroundColorSpan; +import com.facebook.react.views.text.internal.span.ReactClickableSpan; +import com.facebook.react.views.text.internal.span.ReactForegroundColorSpan; +import com.facebook.react.views.text.internal.span.ReactStrikethroughSpan; +import com.facebook.react.views.text.internal.span.ReactTagSpan; +import com.facebook.react.views.text.internal.span.ReactUnderlineSpan; +import com.facebook.react.views.text.internal.span.SetSpanOperation; +import com.facebook.react.views.text.internal.span.ShadowStyleSpan; +import com.facebook.react.views.text.internal.span.TextInlineViewPlaceholderSpan; import com.facebook.yoga.YogaConstants; import com.facebook.yoga.YogaMeasureMode; import com.facebook.yoga.YogaMeasureOutput; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java index 96097d4979c680..eab5471ef7cc7f 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java @@ -38,19 +38,19 @@ import com.facebook.react.uimanager.ReactAccessibilityDelegate.AccessibilityRole; import com.facebook.react.uimanager.ReactAccessibilityDelegate.Role; import com.facebook.react.views.text.fragments.MapBufferTextFragmentList; -import com.facebook.react.views.text.span.CustomLetterSpacingSpan; -import com.facebook.react.views.text.span.CustomLineHeightSpan; -import com.facebook.react.views.text.span.CustomStyleSpan; -import com.facebook.react.views.text.span.ReactAbsoluteSizeSpan; -import com.facebook.react.views.text.span.ReactBackgroundColorSpan; -import com.facebook.react.views.text.span.ReactClickableSpan; -import com.facebook.react.views.text.span.ReactForegroundColorSpan; -import com.facebook.react.views.text.span.ReactStrikethroughSpan; -import com.facebook.react.views.text.span.ReactTagSpan; -import com.facebook.react.views.text.span.ReactUnderlineSpan; -import com.facebook.react.views.text.span.SetSpanOperation; -import com.facebook.react.views.text.span.ShadowStyleSpan; -import com.facebook.react.views.text.span.TextInlineViewPlaceholderSpan; +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; +import com.facebook.react.views.text.internal.span.ReactAbsoluteSizeSpan; +import com.facebook.react.views.text.internal.span.ReactBackgroundColorSpan; +import com.facebook.react.views.text.internal.span.ReactClickableSpan; +import com.facebook.react.views.text.internal.span.ReactForegroundColorSpan; +import com.facebook.react.views.text.internal.span.ReactStrikethroughSpan; +import com.facebook.react.views.text.internal.span.ReactTagSpan; +import com.facebook.react.views.text.internal.span.ReactUnderlineSpan; +import com.facebook.react.views.text.internal.span.SetSpanOperation; +import com.facebook.react.views.text.internal.span.ShadowStyleSpan; +import com.facebook.react.views.text.internal.span.TextInlineViewPlaceholderSpan; import com.facebook.yoga.YogaConstants; import com.facebook.yoga.YogaMeasureMode; import com.facebook.yoga.YogaMeasureOutput; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutUtils.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutUtils.kt index 03745623cdc2e9..e72afed9458222 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutUtils.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutUtils.kt @@ -17,19 +17,19 @@ import com.facebook.react.uimanager.PixelUtil import com.facebook.react.uimanager.ReactAccessibilityDelegate import com.facebook.react.views.text.fragments.TextFragment import com.facebook.react.views.text.fragments.TextFragmentList -import com.facebook.react.views.text.span.CustomLetterSpacingSpan -import com.facebook.react.views.text.span.CustomLineHeightSpan -import com.facebook.react.views.text.span.CustomStyleSpan -import com.facebook.react.views.text.span.ReactAbsoluteSizeSpan -import com.facebook.react.views.text.span.ReactBackgroundColorSpan -import com.facebook.react.views.text.span.ReactClickableSpan -import com.facebook.react.views.text.span.ReactForegroundColorSpan -import com.facebook.react.views.text.span.ReactStrikethroughSpan -import com.facebook.react.views.text.span.ReactTagSpan -import com.facebook.react.views.text.span.ReactUnderlineSpan -import com.facebook.react.views.text.span.SetSpanOperation -import com.facebook.react.views.text.span.ShadowStyleSpan -import com.facebook.react.views.text.span.TextInlineViewPlaceholderSpan +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 +import com.facebook.react.views.text.internal.span.ReactAbsoluteSizeSpan +import com.facebook.react.views.text.internal.span.ReactBackgroundColorSpan +import com.facebook.react.views.text.internal.span.ReactClickableSpan +import com.facebook.react.views.text.internal.span.ReactForegroundColorSpan +import com.facebook.react.views.text.internal.span.ReactStrikethroughSpan +import com.facebook.react.views.text.internal.span.ReactTagSpan +import com.facebook.react.views.text.internal.span.ReactUnderlineSpan +import com.facebook.react.views.text.internal.span.SetSpanOperation +import com.facebook.react.views.text.internal.span.ShadowStyleSpan +import com.facebook.react.views.text.internal.span.TextInlineViewPlaceholderSpan /** Utility methods for building [Spannable]s */ internal object TextLayoutUtils { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java index fbc7286c4f5c5b..3bfba353fab313 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java @@ -22,7 +22,7 @@ import com.facebook.react.uimanager.ViewProps; import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.views.text.ReactTextInlineImageShadowNode; -import com.facebook.react.views.text.span.TextInlineImageSpan; +import com.facebook.react.views.text.internal.span.TextInlineImageSpan; import com.facebook.yoga.YogaConstants; import java.util.Locale; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java index 06691964f21857..2f3cf1cc3daa82 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java @@ -27,7 +27,7 @@ import com.facebook.react.modules.fresco.ReactNetworkImageRequest; import com.facebook.react.uimanager.PixelUtil; import com.facebook.react.views.image.ImageResizeMode; -import com.facebook.react.views.text.span.TextInlineImageSpan; +import com.facebook.react.views.text.internal.span.TextInlineImageSpan; /** * FrescoBasedTextInlineImageSpan is a span for Images that are inside . It computes its size diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/CustomLetterSpacingSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLetterSpacingSpan.java similarity index 95% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/CustomLetterSpacingSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLetterSpacingSpan.java index d7cb3d44e325e2..6de79326400c55 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/CustomLetterSpacingSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLetterSpacingSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text.span; +package com.facebook.react.views.text.internal.span; import android.text.TextPaint; import android.text.style.MetricAffectingSpan; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/CustomLineHeightSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLineHeightSpan.java similarity index 97% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/CustomLineHeightSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLineHeightSpan.java index 849f728d2f78e2..682a7dd3ddcb69 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/CustomLineHeightSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLineHeightSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text.span; +package com.facebook.react.views.text.internal.span; import android.graphics.Paint; import android.text.style.LineHeightSpan; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/CustomStyleSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.java similarity index 98% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/CustomStyleSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.java index 624fd6b4c9c1d8..5ec7e645385952 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/CustomStyleSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text.span; +package com.facebook.react.views.text.internal.span; import android.content.res.AssetManager; import android.graphics.Paint; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactAbsoluteSizeSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactAbsoluteSizeSpan.java similarity index 89% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactAbsoluteSizeSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactAbsoluteSizeSpan.java index 9f1e646d267e8d..460bcd20c6a5b3 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactAbsoluteSizeSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactAbsoluteSizeSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text.span; +package com.facebook.react.views.text.internal.span; import android.text.style.AbsoluteSizeSpan; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactBackgroundColorSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactBackgroundColorSpan.java similarity index 89% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactBackgroundColorSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactBackgroundColorSpan.java index b9f1ba05bb295d..a04f2439dffe64 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactBackgroundColorSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactBackgroundColorSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text.span; +package com.facebook.react.views.text.internal.span; import android.text.style.BackgroundColorSpan; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactClickableSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.java similarity index 97% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactClickableSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.java index 987401aefc790a..8aba070b1d210f 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactClickableSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text.span; +package com.facebook.react.views.text.internal.span; import android.text.TextPaint; import android.text.style.ClickableSpan; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactForegroundColorSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactForegroundColorSpan.java similarity index 89% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactForegroundColorSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactForegroundColorSpan.java index 51bb0e7388c0f5..0a7b489b9230c3 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactForegroundColorSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactForegroundColorSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text.span; +package com.facebook.react.views.text.internal.span; import android.text.style.ForegroundColorSpan; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactSpan.java similarity index 88% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactSpan.java index 74182494fe591b..1b47e63d19bf7e 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text.span; +package com.facebook.react.views.text.internal.span; /* * Enables us to distinguish between spans that were added by React Native and spans that were diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactStrikethroughSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactStrikethroughSpan.java similarity index 88% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactStrikethroughSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactStrikethroughSpan.java index 5997aedfc57f26..d2164156b1818a 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactStrikethroughSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactStrikethroughSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text.span; +package com.facebook.react.views.text.internal.span; import android.text.style.StrikethroughSpan; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactTagSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactTagSpan.java similarity index 91% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactTagSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactTagSpan.java index e8d2a73caa5431..04497ba19954e2 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactTagSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactTagSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text.span; +package com.facebook.react.views.text.internal.span; /** * Instances of this class are used to place reactTag information of nested text react nodes into diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactUnderlineSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactUnderlineSpan.java similarity index 87% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactUnderlineSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactUnderlineSpan.java index c0fc4b075e4c9d..7676230f0b6c51 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ReactUnderlineSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactUnderlineSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text.span; +package com.facebook.react.views.text.internal.span; import android.text.style.UnderlineSpan; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/SetSpanOperation.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.java similarity index 97% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/SetSpanOperation.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.java index ccb34d13581e58..40b523268cc14f 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/SetSpanOperation.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text.span; +package com.facebook.react.views.text.internal.span; import android.text.Spannable; import android.text.SpannableStringBuilder; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ShadowStyleSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ShadowStyleSpan.java similarity index 92% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ShadowStyleSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ShadowStyleSpan.java index 6800203c4acfa7..63325f32638b12 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/ShadowStyleSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ShadowStyleSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text.span; +package com.facebook.react.views.text.internal.span; import android.text.TextPaint; import android.text.style.CharacterStyle; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/TextInlineImageSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineImageSpan.java similarity index 97% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/TextInlineImageSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineImageSpan.java index 6dae41ba4d5ed0..34638cefd1d87e 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/TextInlineImageSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineImageSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text.span; +package com.facebook.react.views.text.internal.span; import android.graphics.drawable.Drawable; import android.text.Spannable; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/TextInlineViewPlaceholderSpan.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineViewPlaceholderSpan.java similarity index 96% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/TextInlineViewPlaceholderSpan.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineViewPlaceholderSpan.java index bf0c9b9305e682..acb9c93c63b890 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/span/TextInlineViewPlaceholderSpan.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineViewPlaceholderSpan.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text.span; +package com.facebook.react.views.text.internal.span; import android.graphics.Canvas; import android.graphics.Paint; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java index 6885ce07c5d13f..71132bede4159b 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java @@ -52,19 +52,19 @@ import com.facebook.react.uimanager.StateWrapper; import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.events.EventDispatcher; -import com.facebook.react.views.text.span.CustomLetterSpacingSpan; -import com.facebook.react.views.text.span.CustomLineHeightSpan; -import com.facebook.react.views.text.span.CustomStyleSpan; -import com.facebook.react.views.text.span.ReactAbsoluteSizeSpan; -import com.facebook.react.views.text.span.ReactBackgroundColorSpan; -import com.facebook.react.views.text.span.ReactForegroundColorSpan; -import com.facebook.react.views.text.span.ReactSpan; -import com.facebook.react.views.text.span.ReactStrikethroughSpan; +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; +import com.facebook.react.views.text.internal.span.ReactAbsoluteSizeSpan; +import com.facebook.react.views.text.internal.span.ReactBackgroundColorSpan; +import com.facebook.react.views.text.internal.span.ReactForegroundColorSpan; +import com.facebook.react.views.text.internal.span.ReactSpan; +import com.facebook.react.views.text.internal.span.ReactStrikethroughSpan; import com.facebook.react.views.text.ReactTextUpdate; import com.facebook.react.views.text.ReactTypefaceUtils; -import com.facebook.react.views.text.span.ReactUnderlineSpan; +import com.facebook.react.views.text.internal.span.ReactUnderlineSpan; import com.facebook.react.views.text.TextAttributes; -import com.facebook.react.views.text.span.TextInlineImageSpan; +import com.facebook.react.views.text.internal.span.TextInlineImageSpan; import com.facebook.react.views.text.TextLayoutManager; import com.facebook.react.views.view.ReactViewBackgroundManager; import java.util.ArrayList; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java index f96f5d5004ccd6..190c422f6c44e0 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java @@ -69,7 +69,7 @@ import com.facebook.react.views.text.ReactTextViewManagerCallback; import com.facebook.react.views.text.ReactTypefaceUtils; import com.facebook.react.views.text.TextAttributeProps; -import com.facebook.react.views.text.span.TextInlineImageSpan; +import com.facebook.react.views.text.internal.span.TextInlineImageSpan; import com.facebook.react.views.text.TextLayoutManager; import com.facebook.react.views.text.TextLayoutManagerMapBuffer; import com.facebook.react.views.text.TextTransform; diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/text/CustomLineHeightSpanTest.kt b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/text/CustomLineHeightSpanTest.kt index b7b9e8c226d429..f55c90af78de44 100644 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/text/CustomLineHeightSpanTest.kt +++ b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/views/text/CustomLineHeightSpanTest.kt @@ -8,7 +8,7 @@ package com.facebook.react.views.text import android.graphics.Paint -import com.facebook.react.views.text.span.CustomLineHeightSpan +import com.facebook.react.views.text.internal.span.CustomLineHeightSpan import org.assertj.core.api.Assertions.assertThat import org.junit.Test import org.junit.runner.RunWith From 55579bc015666f107793047b5cca5717a16cab3c Mon Sep 17 00:00:00 2001 From: Jakub Trzebiatowski Date: Fri, 26 Jan 2024 12:35:14 +0100 Subject: [PATCH 3/3] Move `ReactTextInlineImageShadowNode` to the `text.internal` package --- .../com/facebook/react/views/text/ReactBaseTextShadowNode.java | 1 + .../FrescoBasedReactTextInlineImageShadowNode.java | 2 +- .../text/{ => internal}/ReactTextInlineImageShadowNode.java | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) rename packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/{ => internal}/ReactTextInlineImageShadowNode.java (93%) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java index 88d42d83368bde..b7627dc9863435 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java @@ -31,6 +31,7 @@ import com.facebook.react.uimanager.ReactShadowNode; import com.facebook.react.uimanager.ViewProps; import com.facebook.react.uimanager.annotations.ReactProp; +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; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java index 3bfba353fab313..a512b20833caca 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java @@ -21,7 +21,7 @@ import com.facebook.react.common.ReactConstants; import com.facebook.react.uimanager.ViewProps; import com.facebook.react.uimanager.annotations.ReactProp; -import com.facebook.react.views.text.ReactTextInlineImageShadowNode; +import com.facebook.react.views.text.internal.ReactTextInlineImageShadowNode; import com.facebook.react.views.text.internal.span.TextInlineImageSpan; import com.facebook.yoga.YogaConstants; import java.util.Locale; diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextInlineImageShadowNode.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.java similarity index 93% rename from packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextInlineImageShadowNode.java rename to packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.java index 7a74418f1bec67..dbb409dc06b8ce 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextInlineImageShadowNode.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.java @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -package com.facebook.react.views.text; +package com.facebook.react.views.text.internal; import com.facebook.react.uimanager.LayoutShadowNode; import com.facebook.react.views.text.internal.span.TextInlineImageSpan;