diff --git a/core/api/current.txt b/core/api/current.txt index 64337760887ba..8005d25f63241 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -45941,7 +45941,9 @@ package android.text.style { ctor public DrawableMarginSpan(@NonNull android.graphics.drawable.Drawable, int); method public void chooseHeight(@NonNull CharSequence, int, int, int, int, @NonNull android.graphics.Paint.FontMetricsInt); method public void drawLeadingMargin(@NonNull android.graphics.Canvas, @NonNull android.graphics.Paint, int, int, int, int, int, @NonNull CharSequence, int, int, boolean, @NonNull android.text.Layout); + method @NonNull public android.graphics.drawable.Drawable getDrawable(); method public int getLeadingMargin(boolean); + method @Px public int getPadding(); } public abstract class DynamicDrawableSpan extends android.text.style.ReplacementSpan { @@ -45984,7 +45986,9 @@ package android.text.style { ctor public IconMarginSpan(@NonNull android.graphics.Bitmap, @IntRange(from=0) int); method public void chooseHeight(CharSequence, int, int, int, int, android.graphics.Paint.FontMetricsInt); method public void drawLeadingMargin(android.graphics.Canvas, android.graphics.Paint, int, int, int, int, int, CharSequence, int, int, boolean, android.text.Layout); + method @NonNull public android.graphics.Bitmap getBitmap(); method public int getLeadingMargin(boolean); + method @Px public int getPadding(); } public class ImageSpan extends android.text.style.DynamicDrawableSpan { @@ -46232,6 +46236,7 @@ package android.text.style { method public String getFamily(); method @Nullable public String getFontFeatureSettings(); method @Nullable public String getFontVariationSettings(); + method public float getLetterSpacing(); method public android.content.res.ColorStateList getLinkTextColor(); method public int getShadowColor(); method public float getShadowDx(); diff --git a/core/java/android/text/style/AbsoluteSizeSpan.java b/core/java/android/text/style/AbsoluteSizeSpan.java index 3b4eea76b390c..6d4f05a84a037 100644 --- a/core/java/android/text/style/AbsoluteSizeSpan.java +++ b/core/java/android/text/style/AbsoluteSizeSpan.java @@ -130,4 +130,10 @@ public class AbsoluteSizeSpan extends MetricAffectingSpan implements ParcelableS ds.setTextSize(mSize); } } + + + @Override + public String toString() { + return "AbsoluteSizeSpan{size=" + getSize() + ", isDip=" + getDip() + '}'; + } } diff --git a/core/java/android/text/style/AlignmentSpan.java b/core/java/android/text/style/AlignmentSpan.java index 18c3e16b910ab..31db78a51c75b 100644 --- a/core/java/android/text/style/AlignmentSpan.java +++ b/core/java/android/text/style/AlignmentSpan.java @@ -101,5 +101,10 @@ public interface AlignmentSpan extends ParagraphStyle { public Layout.Alignment getAlignment() { return mAlignment; } + + @Override + public String toString() { + return "AlignmentSpan.Standard{alignment=" + getAlignment() + '}'; + } } } diff --git a/core/java/android/text/style/BackgroundColorSpan.java b/core/java/android/text/style/BackgroundColorSpan.java index 44e35615ca55c..13647d92a8975 100644 --- a/core/java/android/text/style/BackgroundColorSpan.java +++ b/core/java/android/text/style/BackgroundColorSpan.java @@ -100,4 +100,9 @@ public class BackgroundColorSpan extends CharacterStyle public void updateDrawState(@NonNull TextPaint textPaint) { textPaint.bgColor = mColor; } + + @Override + public String toString() { + return "BackgroundColorSpan{color=#" + String.format("%08X", getBackgroundColor()) + '}'; + } } diff --git a/core/java/android/text/style/BulletSpan.java b/core/java/android/text/style/BulletSpan.java index ad617889cd561..b3e7bda074134 100644 --- a/core/java/android/text/style/BulletSpan.java +++ b/core/java/android/text/style/BulletSpan.java @@ -235,4 +235,13 @@ public class BulletSpan implements LeadingMarginSpan, ParcelableSpan { paint.setStyle(style); } } + + @Override + public String toString() { + return "BulletSpan{" + + "gapWidth=" + getGapWidth() + + ", bulletRadius=" + getBulletRadius() + + ", color=" + String.format("%08X", getColor()) + + '}'; + } } diff --git a/core/java/android/text/style/ClickableSpan.java b/core/java/android/text/style/ClickableSpan.java index 60aed2a782ab3..238da55526b0a 100644 --- a/core/java/android/text/style/ClickableSpan.java +++ b/core/java/android/text/style/ClickableSpan.java @@ -64,4 +64,9 @@ public abstract class ClickableSpan extends CharacterStyle implements UpdateAppe public int getId() { return mId; } + + @Override + public String toString() { + return "ClickableSpan{}"; + } } diff --git a/core/java/android/text/style/DrawableMarginSpan.java b/core/java/android/text/style/DrawableMarginSpan.java index cd199b3547c9a..1f3446ea0c2f4 100644 --- a/core/java/android/text/style/DrawableMarginSpan.java +++ b/core/java/android/text/style/DrawableMarginSpan.java @@ -112,4 +112,25 @@ public class DrawableMarginSpan implements LeadingMarginSpan, LineHeightSpan { } } } + + @Override + public String toString() { + return "DrawableMarginSpan{drawable=" + mDrawable + ", padding=" + mPad + '}'; + } + + /** + * Returns the drawable used. + * @return a drawable + */ + @NonNull public Drawable getDrawable() { + return mDrawable; + } + + /** + * Returns a distance between the drawable and text in pixel. + * @return a distance pixel from the text + */ + @Px public int getPadding() { + return mPad; + } } diff --git a/core/java/android/text/style/DynamicDrawableSpan.java b/core/java/android/text/style/DynamicDrawableSpan.java index d6d99f846e169..38897ed1b92ea 100644 --- a/core/java/android/text/style/DynamicDrawableSpan.java +++ b/core/java/android/text/style/DynamicDrawableSpan.java @@ -189,5 +189,13 @@ public abstract class DynamicDrawableSpan extends ReplacementSpan { return d; } + + @Override + public String toString() { + return "DynamicDrawableSpan{" + + "verticalAlignment=" + getVerticalAlignment() + + ", drawable=" + getDrawable() + + '}'; + } } diff --git a/core/java/android/text/style/ForegroundColorSpan.java b/core/java/android/text/style/ForegroundColorSpan.java index f770674503f20..5c9742622549f 100644 --- a/core/java/android/text/style/ForegroundColorSpan.java +++ b/core/java/android/text/style/ForegroundColorSpan.java @@ -101,4 +101,9 @@ public class ForegroundColorSpan extends CharacterStyle public void updateDrawState(@NonNull TextPaint textPaint) { textPaint.setColor(mColor); } + + @Override + public String toString() { + return "ForegroundColorSpan{color=#" + String.format("%08X", getForegroundColor()) + '}'; + } } diff --git a/core/java/android/text/style/IconMarginSpan.java b/core/java/android/text/style/IconMarginSpan.java index ad78bd5746960..a6c513971ffb9 100644 --- a/core/java/android/text/style/IconMarginSpan.java +++ b/core/java/android/text/style/IconMarginSpan.java @@ -110,4 +110,24 @@ public class IconMarginSpan implements LeadingMarginSpan, LineHeightSpan { } } + @Override + public String toString() { + return "IconMarginSpan{bitmap=" + getBitmap() + ", padding=" + getPadding() + '}'; + } + + /** + * Returns the bitmap to be used at the beginning of the text + * @return a bitmap + */ + @NonNull public Bitmap getBitmap() { + return mBitmap; + } + + /** + * Returns the padding width between the bitmap and the text. + * @return a padding width in pixels + */ + @Px public int getPadding() { + return mPad; + } } diff --git a/core/java/android/text/style/ImageSpan.java b/core/java/android/text/style/ImageSpan.java index ec55aebfb0ac1..fc85590edc80d 100644 --- a/core/java/android/text/style/ImageSpan.java +++ b/core/java/android/text/style/ImageSpan.java @@ -266,4 +266,13 @@ public class ImageSpan extends DynamicDrawableSpan { public String getSource() { return mSource; } + + @Override + public String toString() { + return "ImageSpan{" + + "drawable=" + getDrawable() + + ", source='" + getSource() + '\'' + + ", verticalAlignment=" + getVerticalAlignment() + + '}'; + } } diff --git a/core/java/android/text/style/LocaleSpan.java b/core/java/android/text/style/LocaleSpan.java index a3a4bf8c02911..489ceeaa55429 100644 --- a/core/java/android/text/style/LocaleSpan.java +++ b/core/java/android/text/style/LocaleSpan.java @@ -126,4 +126,9 @@ public class LocaleSpan extends MetricAffectingSpan implements ParcelableSpan { private static void apply(@NonNull Paint paint, @NonNull LocaleList locales) { paint.setTextLocales(locales); } + + @Override + public String toString() { + return "LocaleSpan{locales=" + getLocales() + '}'; + } } diff --git a/core/java/android/text/style/MaskFilterSpan.java b/core/java/android/text/style/MaskFilterSpan.java index d76ef941d42ed..587d1b4497dc0 100644 --- a/core/java/android/text/style/MaskFilterSpan.java +++ b/core/java/android/text/style/MaskFilterSpan.java @@ -56,4 +56,9 @@ public class MaskFilterSpan extends CharacterStyle implements UpdateAppearance { public void updateDrawState(TextPaint ds) { ds.setMaskFilter(mFilter); } + + @Override + public String toString() { + return "MaskFilterSpan{filter=" + getMaskFilter() + '}'; + } } diff --git a/core/java/android/text/style/QuoteSpan.java b/core/java/android/text/style/QuoteSpan.java index a1c12c256fa1f..393ede653cb1a 100644 --- a/core/java/android/text/style/QuoteSpan.java +++ b/core/java/android/text/style/QuoteSpan.java @@ -203,4 +203,13 @@ public class QuoteSpan implements LeadingMarginSpan, ParcelableSpan { p.setStyle(style); p.setColor(color); } + + @Override + public String toString() { + return "QuoteSpan{" + + "color=" + String.format("#%08X", getColor()) + + ", stripeWidth=" + getStripeWidth() + + ", gapWidth=" + getGapWidth() + + '}'; + } } diff --git a/core/java/android/text/style/RelativeSizeSpan.java b/core/java/android/text/style/RelativeSizeSpan.java index 3094f27ab72d7..5c91b201d28c3 100644 --- a/core/java/android/text/style/RelativeSizeSpan.java +++ b/core/java/android/text/style/RelativeSizeSpan.java @@ -97,4 +97,9 @@ public class RelativeSizeSpan extends MetricAffectingSpan implements ParcelableS public void updateMeasureState(@NonNull TextPaint ds) { ds.setTextSize(ds.getTextSize() * mProportion); } + + @Override + public String toString() { + return "RelativeSizeSpan{proportion=" + getSizeChange() + '}'; + } } diff --git a/core/java/android/text/style/ScaleXSpan.java b/core/java/android/text/style/ScaleXSpan.java index 6ef4ceccced18..d022b071b4d7a 100644 --- a/core/java/android/text/style/ScaleXSpan.java +++ b/core/java/android/text/style/ScaleXSpan.java @@ -102,4 +102,9 @@ public class ScaleXSpan extends MetricAffectingSpan implements ParcelableSpan { public void updateMeasureState(TextPaint ds) { ds.setTextScaleX(ds.getTextScaleX() * mProportion); } + + @Override + public String toString() { + return "ScaleXSpan{scaleX=" + getScaleX() + '}'; + } } diff --git a/core/java/android/text/style/StrikethroughSpan.java b/core/java/android/text/style/StrikethroughSpan.java index a6305050656a8..65ee34717232c 100644 --- a/core/java/android/text/style/StrikethroughSpan.java +++ b/core/java/android/text/style/StrikethroughSpan.java @@ -77,4 +77,9 @@ public class StrikethroughSpan extends CharacterStyle public void updateDrawState(@NonNull TextPaint ds) { ds.setStrikeThruText(true); } + + @Override + public String toString() { + return "StrikethroughSpan{}"; + } } diff --git a/core/java/android/text/style/StyleSpan.java b/core/java/android/text/style/StyleSpan.java index 176a0685e19b1..378682b9c8909 100644 --- a/core/java/android/text/style/StyleSpan.java +++ b/core/java/android/text/style/StyleSpan.java @@ -185,4 +185,12 @@ public class StyleSpan extends MetricAffectingSpan implements ParcelableSpan { paint.setTypeface(tf); } + + @Override + public String toString() { + return "StyleSpan{" + + "style=" + getStyle() + + ", fontWeightAdjustment=" + getFontWeightAdjustment() + + '}'; + } } diff --git a/core/java/android/text/style/SubscriptSpan.java b/core/java/android/text/style/SubscriptSpan.java index 3d15aad662b13..729a9ad73e754 100644 --- a/core/java/android/text/style/SubscriptSpan.java +++ b/core/java/android/text/style/SubscriptSpan.java @@ -86,4 +86,9 @@ public class SubscriptSpan extends MetricAffectingSpan implements ParcelableSpan public void updateMeasureState(@NonNull TextPaint textPaint) { textPaint.baselineShift -= (int) (textPaint.ascent() / 2); } + + @Override + public String toString() { + return "SubscriptSpan{}"; + } } diff --git a/core/java/android/text/style/SuperscriptSpan.java b/core/java/android/text/style/SuperscriptSpan.java index 3dc9d3fdfe052..561022352ffd7 100644 --- a/core/java/android/text/style/SuperscriptSpan.java +++ b/core/java/android/text/style/SuperscriptSpan.java @@ -83,4 +83,9 @@ public class SuperscriptSpan extends MetricAffectingSpan implements ParcelableSp public void updateMeasureState(@NonNull TextPaint textPaint) { textPaint.baselineShift += (int) (textPaint.ascent() / 2); } + + @Override + public String toString() { + return "SuperscriptSpan{}"; + } } diff --git a/core/java/android/text/style/TabStopSpan.java b/core/java/android/text/style/TabStopSpan.java index 2cceb2c8ced9d..812847594ad89 100644 --- a/core/java/android/text/style/TabStopSpan.java +++ b/core/java/android/text/style/TabStopSpan.java @@ -65,5 +65,10 @@ public interface TabStopSpan extends ParagraphStyle { public int getTabStop() { return mTabOffset; } + + @Override + public String toString() { + return "TabStopSpan.Standard{tabOffset=" + getTabStop() + '}'; + } } } diff --git a/core/java/android/text/style/TextAppearanceSpan.java b/core/java/android/text/style/TextAppearanceSpan.java index adb379a397b74..85b7ae901b388 100644 --- a/core/java/android/text/style/TextAppearanceSpan.java +++ b/core/java/android/text/style/TextAppearanceSpan.java @@ -442,6 +442,14 @@ public class TextAppearanceSpan extends MetricAffectingSpan implements Parcelabl return mElegantTextHeight; } + /** + * Returns the value of letter spacing to be added in em unit. + * @return a letter spacing amount + */ + public float getLetterSpacing() { + return mLetterSpacing; + } + @Override public void updateDrawState(TextPaint ds) { updateMeasureState(ds); @@ -534,4 +542,26 @@ public class TextAppearanceSpan extends MetricAffectingSpan implements Parcelabl ds.setFontVariationSettings(mFontVariationSettings); } } + + @Override + public String toString() { + return "TextAppearanceSpan{" + + "familyName='" + getFamily() + '\'' + + ", style=" + getTextStyle() + + ", textSize=" + getTextSize() + + ", textColor=" + getTextColor() + + ", textColorLink=" + getLinkTextColor() + + ", typeface=" + getTypeface() + + ", textFontWeight=" + getTextFontWeight() + + ", textLocales=" + getTextLocales() + + ", shadowRadius=" + getShadowRadius() + + ", shadowDx=" + getShadowDx() + + ", shadowDy=" + getShadowDy() + + ", shadowColor=" + String.format("#%08X", getShadowColor()) + + ", elegantTextHeight=" + isElegantTextHeight() + + ", letterSpacing=" + getLetterSpacing() + + ", fontFeatureSettings='" + getFontFeatureSettings() + '\'' + + ", fontVariationSettings='" + getFontVariationSettings() + '\'' + + '}'; + } } diff --git a/core/java/android/text/style/TypefaceSpan.java b/core/java/android/text/style/TypefaceSpan.java index 908de2988be90..bdfc772c03281 100644 --- a/core/java/android/text/style/TypefaceSpan.java +++ b/core/java/android/text/style/TypefaceSpan.java @@ -180,4 +180,12 @@ public class TypefaceSpan extends MetricAffectingSpan implements ParcelableSpan } paint.setTypeface(styledTypeface); } + + @Override + public String toString() { + return "TypefaceSpan{" + + "family='" + getFamily() + '\'' + + ", typeface=" + getTypeface() + + '}'; + } } diff --git a/core/java/android/text/style/URLSpan.java b/core/java/android/text/style/URLSpan.java index eab1ef4f6afd5..e8113905894c1 100644 --- a/core/java/android/text/style/URLSpan.java +++ b/core/java/android/text/style/URLSpan.java @@ -109,4 +109,9 @@ public class URLSpan extends ClickableSpan implements ParcelableSpan { Log.w("URLSpan", "Actvity was not found for intent, " + intent.toString()); } } + + @Override + public String toString() { + return "URLSpan{" + "URL='" + getURL() + '\'' + '}'; + } } diff --git a/core/java/android/text/style/UnderlineSpan.java b/core/java/android/text/style/UnderlineSpan.java index 800838ef92e92..075e70b7fbf5a 100644 --- a/core/java/android/text/style/UnderlineSpan.java +++ b/core/java/android/text/style/UnderlineSpan.java @@ -77,4 +77,9 @@ public class UnderlineSpan extends CharacterStyle public void updateDrawState(@NonNull TextPaint ds) { ds.setUnderlineText(true); } + + @Override + public String toString() { + return "UnderlineSpan{}"; + } }