Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 19b3c371 authored by Haoyu Zhang's avatar Haoyu Zhang Committed by Android (Google) Code Review
Browse files

Merge "Make LineHeightSpan.Standard a ParcelableSpan"

parents f14f2b63 63a5efb4
Loading
Loading
Loading
Loading
+6 −1
Original line number Original line Diff line number Diff line
@@ -45620,9 +45620,14 @@ package android.text.style {
    method public abstract void chooseHeight(java.lang.CharSequence, int, int, int, int, android.graphics.Paint.FontMetricsInt);
    method public abstract void chooseHeight(java.lang.CharSequence, int, int, int, int, android.graphics.Paint.FontMetricsInt);
  }
  }
  public static class LineHeightSpan.Standard implements android.text.style.LineHeightSpan {
  public static class LineHeightSpan.Standard implements android.text.style.LineHeightSpan android.text.ParcelableSpan {
    ctor public LineHeightSpan.Standard(int);
    ctor public LineHeightSpan.Standard(int);
    ctor public LineHeightSpan.Standard(android.os.Parcel);
    method public void chooseHeight(java.lang.CharSequence, int, int, int, int, android.graphics.Paint.FontMetricsInt);
    method public void chooseHeight(java.lang.CharSequence, int, int, int, int, android.graphics.Paint.FontMetricsInt);
    method public int describeContents();
    method public int getHeight();
    method public int getSpanTypeId();
    method public void writeToParcel(android.os.Parcel, int);
  }
  }
  public static abstract interface LineHeightSpan.WithDensity implements android.text.style.LineHeightSpan {
  public static abstract interface LineHeightSpan.WithDensity implements android.text.style.LineHeightSpan {
+8 −1
Original line number Original line Diff line number Diff line
@@ -46,6 +46,7 @@ import android.text.style.EasyEditSpan;
import android.text.style.ForegroundColorSpan;
import android.text.style.ForegroundColorSpan;
import android.text.style.LeadingMarginSpan;
import android.text.style.LeadingMarginSpan;
import android.text.style.LineBackgroundSpan;
import android.text.style.LineBackgroundSpan;
import android.text.style.LineHeightSpan;
import android.text.style.LocaleSpan;
import android.text.style.LocaleSpan;
import android.text.style.ParagraphStyle;
import android.text.style.ParagraphStyle;
import android.text.style.QuoteSpan;
import android.text.style.QuoteSpan;
@@ -733,7 +734,9 @@ public class TextUtils {
    /** @hide */
    /** @hide */
    public static final int LINE_BACKGROUND_SPAN = 27;
    public static final int LINE_BACKGROUND_SPAN = 27;
    /** @hide */
    /** @hide */
    public static final int LAST_SPAN = LINE_BACKGROUND_SPAN;
    public static final int LINE_HEIGHT_SPAN = 28;
    /** @hide */
    public static final int LAST_SPAN = LINE_HEIGHT_SPAN;


    /**
    /**
     * Flatten a CharSequence and whatever styles can be copied across processes
     * Flatten a CharSequence and whatever styles can be copied across processes
@@ -928,6 +931,10 @@ public class TextUtils {
                    readSpan(p, sp, new LineBackgroundSpan.Standard(p));
                    readSpan(p, sp, new LineBackgroundSpan.Standard(p));
                    break;
                    break;


                case LINE_HEIGHT_SPAN:
                    readSpan(p, sp, new LineHeightSpan.Standard(p));
                    break;
                    
                default:
                default:
                    throw new RuntimeException("bogus span encoding " + kind);
                    throw new RuntimeException("bogus span encoding " + kind);
                }
                }
+46 −1
Original line number Original line Diff line number Diff line
@@ -20,7 +20,10 @@ import android.annotation.IntRange;
import android.annotation.NonNull;
import android.annotation.NonNull;
import android.annotation.Px;
import android.annotation.Px;
import android.graphics.Paint;
import android.graphics.Paint;
import android.os.Parcel;
import android.text.ParcelableSpan;
import android.text.TextPaint;
import android.text.TextPaint;
import android.text.TextUtils;


import com.android.internal.util.Preconditions;
import com.android.internal.util.Preconditions;


@@ -71,7 +74,7 @@ public interface LineHeightSpan extends ParagraphStyle, WrapTogetherSpan {
     * covers only part of the paragraph.
     * covers only part of the paragraph.
     * </p>
     * </p>
     */
     */
    class Standard implements LineHeightSpan {
    class Standard implements LineHeightSpan, ParcelableSpan {


        private final @Px int mHeight;
        private final @Px int mHeight;
        /**
        /**
@@ -82,6 +85,48 @@ public interface LineHeightSpan extends ParagraphStyle, WrapTogetherSpan {
            mHeight = height;
            mHeight = height;
        }
        }


        /**
         * Constructor called from {@link TextUtils} to restore the span from a parcel
         */
        public Standard(Parcel src) {
            mHeight = src.readInt();
        }

        /**
         * Returns the line height specified by this span.
         */
        @Px
        public int getHeight() {
            return mHeight;
        }

        @Override
        public int getSpanTypeId() {
            return getSpanTypeIdInternal();
        }

        /** @hide */
        @Override
        public int getSpanTypeIdInternal() {
            return TextUtils.LINE_HEIGHT_SPAN;
        }

        @Override
        public int describeContents() {
            return 0;
        }

        @Override
        public void writeToParcel(Parcel dest, int flags) {
            writeToParcelInternal(dest, flags);
        }

        /** @hide */
        @Override
        public void writeToParcelInternal(@NonNull Parcel dest, int flags) {
            dest.writeInt(mHeight);
        }

        @Override
        @Override
        public void chooseHeight(@NonNull CharSequence text, int start, int end,
        public void chooseHeight(@NonNull CharSequence text, int start, int end,
                int spanstartv, int lineHeight,
                int spanstartv, int lineHeight,