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

Commit c661516e authored by Gilles Debunne's avatar Gilles Debunne Committed by Android Git Automerger
Browse files

am 64ac862f: Merge "Basic renaming refactoring in Layout" into jb-dev

* commit '64ac862f':
  Basic renaming refactoring in Layout
parents 7f6a6c78 64ac862f
Loading
Loading
Loading
Loading
+15 −15
Original line number Diff line number Diff line
@@ -45,8 +45,7 @@ public abstract class Layout {
    private static final ParagraphStyle[] NO_PARA_SPANS =
        ArrayUtils.emptyArray(ParagraphStyle.class);

    /* package */ static final EmojiFactory EMOJI_FACTORY =
        EmojiFactory.newAvailableInstance();
    /* package */ static final EmojiFactory EMOJI_FACTORY = EmojiFactory.newAvailableInstance();
    /* package */ static final int MIN_EMOJI, MAX_EMOJI;

    static {
@@ -363,15 +362,15 @@ public abstract class Layout {
        // direction of the layout or line.  XXX: Should they?
        // They are evaluated at each line.
        if (mSpannedText) {
            if (lineBackgroundSpans == null) {
                lineBackgroundSpans = new SpanSet<LineBackgroundSpan>(LineBackgroundSpan.class);
            if (mLineBackgroundSpans == null) {
                mLineBackgroundSpans = new SpanSet<LineBackgroundSpan>(LineBackgroundSpan.class);
            }

            Spanned buffer = (Spanned) mText;
            int textLength = buffer.length();
            lineBackgroundSpans.init(buffer, 0, textLength);
            mLineBackgroundSpans.init(buffer, 0, textLength);

            if (lineBackgroundSpans.numberOfSpans > 0) {
            if (mLineBackgroundSpans.numberOfSpans > 0) {
                int previousLineBottom = getLineTop(firstLine);
                int previousLineEnd = getLineStart(firstLine);
                ParagraphStyle[] spans = NO_PARA_SPANS;
@@ -392,17 +391,18 @@ public abstract class Layout {
                    if (start >= spanEnd) {
                        // These should be infrequent, so we'll use this so that
                        // we don't have to check as often.
                        spanEnd = lineBackgroundSpans.getNextTransition(start, textLength);
                        spanEnd = mLineBackgroundSpans.getNextTransition(start, textLength);
                        // All LineBackgroundSpans on a line contribute to its background.
                        spansLength = 0;
                        // Duplication of the logic of getParagraphSpans
                        if (start != end || start == 0) {
                            // Equivalent to a getSpans(start, end), but filling the 'spans' local
                            // array instead to reduce memory allocation
                            for (int j = 0; j < lineBackgroundSpans.numberOfSpans; j++) {
                                // equal test is valid since both intervals are not empty by construction
                                if (lineBackgroundSpans.spanStarts[j] >= end ||
                                        lineBackgroundSpans.spanEnds[j] <= start) continue;
                            for (int j = 0; j < mLineBackgroundSpans.numberOfSpans; j++) {
                                // equal test is valid since both intervals are not empty by
                                // construction
                                if (mLineBackgroundSpans.spanStarts[j] >= end ||
                                        mLineBackgroundSpans.spanEnds[j] <= start) continue;
                                if (spansLength == spans.length) {
                                    // The spans array needs to be expanded
                                    int newSize = ArrayUtils.idealObjectArraySize(2 * spansLength);
@@ -410,7 +410,7 @@ public abstract class Layout {
                                    System.arraycopy(spans, 0, newSpans, 0, spansLength);
                                    spans = newSpans;
                                }
                                spans[spansLength++] = lineBackgroundSpans.spans[j];
                                spans[spansLength++] = mLineBackgroundSpans.spans[j];
                            }
                        }
                    }
@@ -423,7 +423,7 @@ public abstract class Layout {
                    }
                }
            }
            lineBackgroundSpans.recycle();
            mLineBackgroundSpans.recycle();
        }

        // There can be a highlight even without spans if we are drawing
@@ -1857,7 +1857,7 @@ public abstract class Layout {
    private static final Rect sTempRect = new Rect();
    private boolean mSpannedText;
    private TextDirectionHeuristic mTextDir;
    private SpanSet<LineBackgroundSpan> lineBackgroundSpans;
    private SpanSet<LineBackgroundSpan> mLineBackgroundSpans;

    public static final int DIR_LEFT_TO_RIGHT = 1;
    public static final int DIR_RIGHT_TO_LEFT = -1;