mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Move all ReactSpan subclasses to a separate folder (#42594)
Summary: Move all `ReactSpan` subclasses to a separate folder. This is a minor improvement in the context of my multi-PR work on https://github.com/react-native-community/discussions-and-proposals/issues/695. I'm adding a new span class later, which was the direct motivation for this change. ## Changelog: <!-- Help reviewers and the release process by writing your own changelog entry. Pick one each for the category and type tags: [ANDROID|GENERAL|IOS|INTERNAL] [BREAKING|ADDED|CHANGED|DEPRECATED|REMOVED|FIXED|SECURITY] - Message For more details, see: https://reactnative.dev/contributing/changelogs-in-pull-requests --> [INTERNAL] [CHANGE] - Move all `ReactSpan` subclasses to a separate folder Pull Request resolved: https://github.com/facebook/react-native/pull/42594 Reviewed By: mdvacca Differential Revision: D53123733 Pulled By: cortinico fbshipit-source-id: 10db214a520d157c231e6f3b97948b4209a7ad4b
This commit is contained in:
committed by
Facebook GitHub Bot
parent
f8f7949e25
commit
d4c3311296
@@ -6733,29 +6733,6 @@ public class com/facebook/react/views/switchview/ReactSwitchManager$ReactSwitchS
|
||||
public fun setProperty (Lcom/facebook/react/views/switchview/ReactSwitchManager$ReactSwitchShadowNode;Ljava/lang/String;Ljava/lang/Object;)V
|
||||
}
|
||||
|
||||
public class com/facebook/react/views/text/CustomLetterSpacingSpan : android/text/style/MetricAffectingSpan, com/facebook/react/views/text/ReactSpan {
|
||||
public fun <init> (F)V
|
||||
public fun getSpacing ()F
|
||||
public fun updateDrawState (Landroid/text/TextPaint;)V
|
||||
public fun updateMeasureState (Landroid/text/TextPaint;)V
|
||||
}
|
||||
|
||||
public class com/facebook/react/views/text/CustomLineHeightSpan : android/text/style/LineHeightSpan, com/facebook/react/views/text/ReactSpan {
|
||||
public fun <init> (F)V
|
||||
public fun chooseHeight (Ljava/lang/CharSequence;IIIILandroid/graphics/Paint$FontMetricsInt;)V
|
||||
public fun getLineHeight ()I
|
||||
}
|
||||
|
||||
public class com/facebook/react/views/text/CustomStyleSpan : android/text/style/MetricAffectingSpan, com/facebook/react/views/text/ReactSpan {
|
||||
public fun <init> (IILjava/lang/String;Ljava/lang/String;Landroid/content/res/AssetManager;)V
|
||||
public fun getFontFamily ()Ljava/lang/String;
|
||||
public fun getFontFeatureSettings ()Ljava/lang/String;
|
||||
public fun getStyle ()I
|
||||
public fun getWeight ()I
|
||||
public fun updateDrawState (Landroid/text/TextPaint;)V
|
||||
public fun updateMeasureState (Landroid/text/TextPaint;)V
|
||||
}
|
||||
|
||||
public final class com/facebook/react/views/text/DefaultStyleValuesUtil {
|
||||
public static fun getDefaultTextColor (Landroid/content/Context;)Landroid/content/res/ColorStateList;
|
||||
public static fun getDefaultTextColorHighlight (Landroid/content/Context;)I
|
||||
@@ -6767,14 +6744,6 @@ public class com/facebook/react/views/text/FontMetricsUtil {
|
||||
public static fun getFontMetrics (Ljava/lang/CharSequence;Landroid/text/Layout;Landroid/text/TextPaint;Landroid/content/Context;)Lcom/facebook/react/bridge/WritableArray;
|
||||
}
|
||||
|
||||
public class com/facebook/react/views/text/ReactAbsoluteSizeSpan : android/text/style/AbsoluteSizeSpan, com/facebook/react/views/text/ReactSpan {
|
||||
public fun <init> (I)V
|
||||
}
|
||||
|
||||
public class com/facebook/react/views/text/ReactBackgroundColorSpan : android/text/style/BackgroundColorSpan, com/facebook/react/views/text/ReactSpan {
|
||||
public fun <init> (I)V
|
||||
}
|
||||
|
||||
public abstract class com/facebook/react/views/text/ReactBaseTextShadowNode : com/facebook/react/uimanager/LayoutShadowNode, com/facebook/react/views/text/BasicTextAttributeProvider {
|
||||
public static final field DEFAULT_TEXT_SHADOW_COLOR I
|
||||
public static final field PROP_SHADOW_COLOR Ljava/lang/String;
|
||||
@@ -6866,10 +6835,6 @@ public class com/facebook/react/views/text/ReactFontManager {
|
||||
public fun setTypeface (Ljava/lang/String;ILandroid/graphics/Typeface;)V
|
||||
}
|
||||
|
||||
public class com/facebook/react/views/text/ReactForegroundColorSpan : android/text/style/ForegroundColorSpan, com/facebook/react/views/text/ReactSpan {
|
||||
public fun <init> (I)V
|
||||
}
|
||||
|
||||
public class com/facebook/react/views/text/ReactRawTextManager : com/facebook/react/uimanager/ViewManager {
|
||||
public fun <init> ()V
|
||||
public synthetic fun createShadowNodeInstance ()Lcom/facebook/react/uimanager/ReactShadowNode;
|
||||
@@ -6903,18 +6868,6 @@ public class com/facebook/react/views/text/ReactRawTextShadowNode$$PropsSetter :
|
||||
public fun setProperty (Lcom/facebook/react/views/text/ReactRawTextShadowNode;Ljava/lang/String;Ljava/lang/Object;)V
|
||||
}
|
||||
|
||||
public abstract interface class com/facebook/react/views/text/ReactSpan {
|
||||
}
|
||||
|
||||
public class com/facebook/react/views/text/ReactStrikethroughSpan : android/text/style/StrikethroughSpan, com/facebook/react/views/text/ReactSpan {
|
||||
public fun <init> ()V
|
||||
}
|
||||
|
||||
public class com/facebook/react/views/text/ReactTagSpan : com/facebook/react/views/text/ReactSpan {
|
||||
public fun <init> (I)V
|
||||
public fun getReactTag ()I
|
||||
}
|
||||
|
||||
public abstract class com/facebook/react/views/text/ReactTextAnchorViewManager : com/facebook/react/uimanager/BaseViewManager {
|
||||
public fun <init> ()V
|
||||
public fun setAccessible (Lcom/facebook/react/views/text/ReactTextView;Z)V
|
||||
@@ -6937,11 +6890,6 @@ public abstract class com/facebook/react/views/text/ReactTextAnchorViewManager :
|
||||
public fun setTextAlignVertical (Lcom/facebook/react/views/text/ReactTextView;Ljava/lang/String;)V
|
||||
}
|
||||
|
||||
public abstract class com/facebook/react/views/text/ReactTextInlineImageShadowNode : com/facebook/react/uimanager/LayoutShadowNode {
|
||||
public fun <init> ()V
|
||||
public abstract fun buildInlineImageSpan ()Lcom/facebook/react/views/text/TextInlineImageSpan;
|
||||
}
|
||||
|
||||
public class com/facebook/react/views/text/ReactTextShadowNode : com/facebook/react/views/text/ReactBaseTextShadowNode {
|
||||
public fun <init> ()V
|
||||
public fun <init> (Lcom/facebook/react/views/text/ReactTextViewManagerCallback;)V
|
||||
@@ -7056,10 +7004,6 @@ public class com/facebook/react/views/text/ReactTypefaceUtils {
|
||||
public static fun parseFontWeight (Ljava/lang/String;)I
|
||||
}
|
||||
|
||||
public class com/facebook/react/views/text/ReactUnderlineSpan : android/text/style/UnderlineSpan, com/facebook/react/views/text/ReactSpan {
|
||||
public fun <init> ()V
|
||||
}
|
||||
|
||||
public class com/facebook/react/views/text/ReactVirtualTextShadowNode : com/facebook/react/views/text/ReactBaseTextShadowNode {
|
||||
public fun <init> ()V
|
||||
public fun isVirtual ()Z
|
||||
@@ -7089,18 +7033,6 @@ public class com/facebook/react/views/text/ReactVirtualTextViewManager$$PropsSet
|
||||
public fun setProperty (Lcom/facebook/react/views/text/ReactVirtualTextViewManager;Landroid/view/View;Ljava/lang/String;Ljava/lang/Object;)V
|
||||
}
|
||||
|
||||
public class com/facebook/react/views/text/SetSpanOperation {
|
||||
protected field end I
|
||||
protected field start I
|
||||
protected field what Lcom/facebook/react/views/text/ReactSpan;
|
||||
public fun execute (Landroid/text/SpannableStringBuilder;I)V
|
||||
}
|
||||
|
||||
public class com/facebook/react/views/text/ShadowStyleSpan : android/text/style/CharacterStyle, com/facebook/react/views/text/ReactSpan {
|
||||
public fun <init> (FFFI)V
|
||||
public fun updateDrawState (Landroid/text/TextPaint;)V
|
||||
}
|
||||
|
||||
public class com/facebook/react/views/text/TextAttributeProps : com/facebook/react/views/text/EffectiveTextAttributeProvider {
|
||||
public static final field TA_KEY_ACCESSIBILITY_ROLE S
|
||||
public static final field TA_KEY_ALIGNMENT S
|
||||
@@ -7213,28 +7145,6 @@ public class com/facebook/react/views/text/TextAttributes {
|
||||
public fun toString ()Ljava/lang/String;
|
||||
}
|
||||
|
||||
public abstract class com/facebook/react/views/text/TextInlineImageSpan : android/text/style/ReplacementSpan, com/facebook/react/views/text/ReactSpan {
|
||||
public fun <init> ()V
|
||||
public abstract fun getDrawable ()Landroid/graphics/drawable/Drawable;
|
||||
public abstract fun getHeight ()I
|
||||
public abstract fun getWidth ()I
|
||||
public abstract fun onAttachedToWindow ()V
|
||||
public abstract fun onDetachedFromWindow ()V
|
||||
public abstract fun onFinishTemporaryDetach ()V
|
||||
public abstract fun onStartTemporaryDetach ()V
|
||||
public static fun possiblyUpdateInlineImageSpans (Landroid/text/Spannable;Landroid/widget/TextView;)V
|
||||
public abstract fun setTextView (Landroid/widget/TextView;)V
|
||||
}
|
||||
|
||||
public class com/facebook/react/views/text/TextInlineViewPlaceholderSpan : android/text/style/ReplacementSpan, com/facebook/react/views/text/ReactSpan {
|
||||
public fun <init> (III)V
|
||||
public fun draw (Landroid/graphics/Canvas;Ljava/lang/CharSequence;IIFIIILandroid/graphics/Paint;)V
|
||||
public fun getHeight ()I
|
||||
public fun getReactTag ()I
|
||||
public fun getSize (Landroid/graphics/Paint;Ljava/lang/CharSequence;IILandroid/graphics/Paint$FontMetricsInt;)I
|
||||
public fun getWidth ()I
|
||||
}
|
||||
|
||||
public class com/facebook/react/views/text/TextLayoutManager {
|
||||
public fun <init> ()V
|
||||
public static fun deleteCachedSpannableForTag (I)V
|
||||
|
||||
@@ -20,6 +20,7 @@ binaryCompatibilityValidator.ignoredPackages=com.facebook.debug,\
|
||||
com.facebook.react.internal,\
|
||||
com.facebook.react.module.processing,\
|
||||
com.facebook.react.processing,\
|
||||
com.facebook.react.views.text.internal,\
|
||||
com.facebook.systrace,\
|
||||
com.facebook.yoga
|
||||
binaryCompatibilityValidator.nonPublicMarkers=com.facebook.react.common.annotations.VisibleForTesting,\
|
||||
|
||||
+21
-4
@@ -31,6 +31,22 @@ import com.facebook.react.uimanager.ReactAccessibilityDelegate.Role;
|
||||
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;
|
||||
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;
|
||||
@@ -366,15 +382,16 @@ public abstract class ReactBaseTextShadowNode extends LayoutShadowNode
|
||||
// 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
|
||||
|
||||
+2
@@ -32,6 +32,8 @@ import com.facebook.react.uimanager.ThemedReactContext;
|
||||
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.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;
|
||||
|
||||
+3
@@ -40,6 +40,9 @@ import com.facebook.react.uimanager.UIManagerModule;
|
||||
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.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;
|
||||
|
||||
+2
@@ -25,6 +25,8 @@ import com.facebook.react.uimanager.ReactStylesDiffMap;
|
||||
import com.facebook.react.uimanager.StateWrapper;
|
||||
import com.facebook.react.uimanager.ThemedReactContext;
|
||||
import com.facebook.react.uimanager.ViewProps;
|
||||
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;
|
||||
|
||||
+13
@@ -38,6 +38,19 @@ import com.facebook.react.uimanager.ReactAccessibilityDelegate.Role;
|
||||
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.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;
|
||||
|
||||
+13
@@ -37,6 +37,19 @@ import com.facebook.react.uimanager.PixelUtil;
|
||||
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.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;
|
||||
|
||||
+15
-1
@@ -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.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 {
|
||||
|
||||
+2
-2
@@ -21,8 +21,8 @@ import com.facebook.react.bridge.ReadableType;
|
||||
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.TextInlineImageSpan;
|
||||
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;
|
||||
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ import com.facebook.react.bridge.ReadableMap;
|
||||
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.internal.span.TextInlineImageSpan;
|
||||
|
||||
/**
|
||||
* FrescoBasedTextInlineImageSpan is a span for Images that are inside <Text/>. It computes its size
|
||||
|
||||
+2
-1
@@ -5,9 +5,10 @@
|
||||
* 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;
|
||||
import com.facebook.yoga.YogaNode;
|
||||
|
||||
/** Base class for {@link YogaNode}s that represent inline images. */
|
||||
+1
-1
@@ -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.span;
|
||||
|
||||
import android.text.TextPaint;
|
||||
import android.text.style.MetricAffectingSpan;
|
||||
+1
-1
@@ -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.span;
|
||||
|
||||
import android.graphics.Paint;
|
||||
import android.text.style.LineHeightSpan;
|
||||
+2
-1
@@ -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.span;
|
||||
|
||||
import android.content.res.AssetManager;
|
||||
import android.graphics.Paint;
|
||||
@@ -16,6 +16,7 @@ import androidx.annotation.Nullable;
|
||||
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 {
|
||||
+1
-1
@@ -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.span;
|
||||
|
||||
import android.text.style.AbsoluteSizeSpan;
|
||||
|
||||
+1
-1
@@ -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.span;
|
||||
|
||||
import android.text.style.BackgroundColorSpan;
|
||||
|
||||
+5
-3
@@ -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.span;
|
||||
|
||||
import android.text.TextPaint;
|
||||
import android.text.style.ClickableSpan;
|
||||
@@ -14,6 +14,8 @@ import androidx.annotation.NonNull;
|
||||
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 @@ import com.facebook.react.views.view.ViewGroupClickEvent;
|
||||
* 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;
|
||||
}
|
||||
|
||||
+1
-1
@@ -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.span;
|
||||
|
||||
import android.text.style.ForegroundColorSpan;
|
||||
|
||||
+1
-1
@@ -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.span;
|
||||
|
||||
/*
|
||||
* Enables us to distinguish between spans that were added by React Native and spans that were
|
||||
+1
-1
@@ -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.span;
|
||||
|
||||
import android.text.style.StrikethroughSpan;
|
||||
|
||||
+1
-1
@@ -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.span;
|
||||
|
||||
/**
|
||||
* Instances of this class are used to place reactTag information of nested text react nodes into
|
||||
+1
-1
@@ -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.span;
|
||||
|
||||
import android.text.style.UnderlineSpan;
|
||||
|
||||
+8
-3
@@ -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.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 class SetSpanOperation {
|
||||
|
||||
sb.setSpan(what, start, end, spanFlags);
|
||||
}
|
||||
|
||||
public ReactSpan getWhat() {
|
||||
return what;
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -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.span;
|
||||
|
||||
import android.text.TextPaint;
|
||||
import android.text.style.CharacterStyle;
|
||||
+1
-1
@@ -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.span;
|
||||
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.text.Spannable;
|
||||
+1
-1
@@ -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.span;
|
||||
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Paint;
|
||||
+10
-10
@@ -52,20 +52,20 @@ import com.facebook.react.uimanager.ReactAccessibilityDelegate;
|
||||
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.ReactTextUpdate;
|
||||
import com.facebook.react.views.text.ReactTypefaceUtils;
|
||||
import com.facebook.react.views.text.ReactUnderlineSpan;
|
||||
import com.facebook.react.views.text.TextAttributes;
|
||||
import com.facebook.react.views.text.TextInlineImageSpan;
|
||||
import com.facebook.react.views.text.TextLayoutManager;
|
||||
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.internal.span.ReactUnderlineSpan;
|
||||
import com.facebook.react.views.text.internal.span.TextInlineImageSpan;
|
||||
import com.facebook.react.views.view.ReactViewBackgroundManager;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Objects;
|
||||
|
||||
+1
-1
@@ -69,10 +69,10 @@ import com.facebook.react.views.text.ReactTextUpdate;
|
||||
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.TextLayoutManager;
|
||||
import com.facebook.react.views.text.TextLayoutManagerMapBuffer;
|
||||
import com.facebook.react.views.text.TextTransform;
|
||||
import com.facebook.react.views.text.internal.span.TextInlineImageSpan;
|
||||
import com.facebook.yoga.YogaConstants;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.HashMap;
|
||||
|
||||
+1
@@ -8,6 +8,7 @@
|
||||
package com.facebook.react.views.text
|
||||
|
||||
import android.graphics.Paint
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user