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

Commit afe68c68 authored by Romain Guy's avatar Romain Guy Committed by Android (Google) Code Review
Browse files

Merge "Remove extraneous log."

parents 8eed7ade bc7cdb67
Loading
Loading
Loading
Loading
+37 −34
Original line number Diff line number Diff line
@@ -43,6 +43,8 @@ import android.util.Log;
 * @hide
 */
class TextLine {
    private static final boolean DEBUG = false;

    private TextPaint mPaint;
    private CharSequence mText;
    private int mStart;
@@ -56,7 +58,7 @@ class TextLine {
    private Spanned mSpanned;
    private final TextPaint mWorkPaint = new TextPaint();

    private static TextLine[] cached = new TextLine[3];
    private static final TextLine[] sCached = new TextLine[3];

    /**
     * Returns a new TextLine from the shared pool.
@@ -65,17 +67,19 @@ class TextLine {
     */
    static TextLine obtain() {
        TextLine tl;
        synchronized (cached) {
            for (int i = cached.length; --i >= 0;) {
                if (cached[i] != null) {
                    tl = cached[i];
                    cached[i] = null;
        synchronized (sCached) {
            for (int i = sCached.length; --i >= 0;) {
                if (sCached[i] != null) {
                    tl = sCached[i];
                    sCached[i] = null;
                    return tl;
                }
            }
        }
        tl = new TextLine();
        if (DEBUG) {
            Log.v("TLINE", "new: " + tl);
        }
        return tl;
    }

@@ -90,10 +94,10 @@ class TextLine {
        tl.mText = null;
        tl.mPaint = null;
        tl.mDirections = null;
        synchronized(cached) {
            for (int i = 0; i < cached.length; ++i) {
                if (cached[i] == null) {
                    cached[i] = tl;
        synchronized(sCached) {
            for (int i = 0; i < sCached.length; ++i) {
                if (sCached[i] == null) {
                    sCached[i] = tl;
                    break;
                }
            }
@@ -175,11 +179,11 @@ class TextLine {
    void draw(Canvas c, float x, int top, int y, int bottom) {
        if (!mHasTabs) {
            if (mDirections == Layout.DIRS_ALL_LEFT_TO_RIGHT) {
                drawRun(c, 0, 0, mLen, false, x, top, y, bottom, false);
                drawRun(c, 0, mLen, false, x, top, y, bottom, false);
                return;
            }
            if (mDirections == Layout.DIRS_ALL_RIGHT_TO_LEFT) {
                drawRun(c, 0, 0, mLen, true, x, top, y, bottom, false);
                drawRun(c, 0, mLen, true, x, top, y, bottom, false);
                return;
            }
        }
@@ -216,7 +220,7 @@ class TextLine {
                }

                if (j == runLimit || codept == '\t' || bm != null) {
                    h += drawRun(c, i, segstart, j, runIsRtl, x+h, top, y, bottom,
                    h += drawRun(c, segstart, j, runIsRtl, x+h, top, y, bottom,
                            i != lastRunIndex || j != mLen);

                    if (codept == '\t') {
@@ -275,10 +279,10 @@ class TextLine {

        if (!mHasTabs) {
            if (mDirections == Layout.DIRS_ALL_LEFT_TO_RIGHT) {
                return measureRun(0, 0, offset, mLen, false, fmi);
                return measureRun(0, offset, mLen, false, fmi);
            }
            if (mDirections == Layout.DIRS_ALL_RIGHT_TO_LEFT) {
                return measureRun(0, 0, offset, mLen, true, fmi);
                return measureRun(0, offset, mLen, true, fmi);
            }
        }

@@ -315,14 +319,14 @@ class TextLine {

                    boolean advance = (mDir == Layout.DIR_RIGHT_TO_LEFT) == runIsRtl;
                    if (inSegment && advance) {
                        return h += measureRun(i, segstart, offset, j, runIsRtl, fmi);
                        return h += measureRun(segstart, offset, j, runIsRtl, fmi);
                    }

                    float w = measureRun(i, segstart, j, j, runIsRtl, fmi);
                    float w = measureRun(segstart, j, j, runIsRtl, fmi);
                    h += advance ? w : -w;

                    if (inSegment) {
                        return h += measureRun(i, segstart, offset, j, runIsRtl, null);
                        return h += measureRun(segstart, offset, j, runIsRtl, null);
                    }

                    if (codept == '\t') {
@@ -353,8 +357,8 @@ class TextLine {
    /**
     * Draws a unidirectional (but possibly multi-styled) run of text.
     *
     *
     * @param c the canvas to draw on
     * @param runIndex the index of this directional run
     * @param start the line-relative start
     * @param limit the line-relative limit
     * @param runIsRtl true if the run is right-to-left
@@ -366,25 +370,25 @@ class TextLine {
     * @return the signed width of the run, based on the paragraph direction.
     * Only valid if needWidth is true.
     */
    private float drawRun(Canvas c, int runIndex, int start,
    private float drawRun(Canvas c, int start,
            int limit, boolean runIsRtl, float x, int top, int y, int bottom,
            boolean needWidth) {

        if ((mDir == Layout.DIR_LEFT_TO_RIGHT) == runIsRtl) {
            float w = -measureRun(runIndex, start, limit, limit, runIsRtl, null);
            handleRun(runIndex, start, limit, limit, runIsRtl, c, x + w, top,
            float w = -measureRun(start, limit, limit, runIsRtl, null);
            handleRun(start, limit, limit, runIsRtl, c, x + w, top,
                    y, bottom, null, false);
            return w;
        }

        return handleRun(runIndex, start, limit, limit, runIsRtl, c, x, top,
        return handleRun(start, limit, limit, runIsRtl, c, x, top,
                y, bottom, null, needWidth);
    }

    /**
     * Measures a unidirectional (but possibly multi-styled) run of text.
     *
     * @param runIndex the run index
     *
     * @param start the line-relative start of the run
     * @param offset the offset to measure to, between start and limit inclusive
     * @param limit the line-relative limit of the run
@@ -394,10 +398,9 @@ class TextLine {
     * @return the signed width from the start of the run to the leading edge
     * of the character at offset, based on the run (not paragraph) direction
     */
    private float measureRun(int runIndex, int start,
            int offset, int limit, boolean runIsRtl, FontMetricsInt fmi) {
        return handleRun(runIndex, start, offset, limit, runIsRtl, null,
                0, 0, 0, 0, fmi, true);
    private float measureRun(int start, int offset, int limit, boolean runIsRtl,
            FontMetricsInt fmi) {
        return handleRun(start, offset, limit, runIsRtl, null, 0, 0, 0, 0, fmi, true);
    }

    /**
@@ -751,9 +754,9 @@ class TextLine {
    /**
     * Utility function for measuring and rendering a replacement.
     *
     *
     * @param replacement the replacement
     * @param wp the work paint
     * @param runIndex the run index
     * @param start the start of the run
     * @param limit the limit of the run
     * @param runIsRtl true if the run is right-to-left
@@ -768,7 +771,7 @@ class TextLine {
     * valid if needWidth is true
     */
    private float handleReplacement(ReplacementSpan replacement, TextPaint wp,
            int runIndex, int start, int limit, boolean runIsRtl, Canvas c,
            int start, int limit, boolean runIsRtl, Canvas c,
            float x, int top, int y, int bottom, FontMetricsInt fmi,
            boolean needWidth) {

@@ -796,7 +799,7 @@ class TextLine {
     * Utility function for handling a unidirectional run.  The run must not
     * contain tabs or emoji but can contain styles.
     *
     * @param runIndex the run index
     *
     * @param start the line-relative start of the run
     * @param measureLimit the offset to measure to, between start and limit inclusive
     * @param limit the limit of the run
@@ -811,7 +814,7 @@ class TextLine {
     * @return the signed width of the run based on the run direction; only
     * valid if needWidth is true
     */
    private float handleRun(int runIndex, int start, int measureLimit,
    private float handleRun(int start, int measureLimit,
            int limit, boolean runIsRtl, Canvas c, float x, int top, int y,
            int bottom, FontMetricsInt fmi, boolean needWidth) {

@@ -859,7 +862,7 @@ class TextLine {
                    }

                    if (replacement != null) {
                        x += handleReplacement(replacement, wp, runIndex, i,
                        x += handleReplacement(replacement, wp, i,
                                mlimit, runIsRtl, c, x, top, y, bottom, fmi,
                                needWidth || mlimit < measureLimit);
                        continue;