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

Commit a4371bc5 authored by Keisuke Kuroyanagi's avatar Keisuke Kuroyanagi Committed by Android (Google) Code Review
Browse files

Merge "Fix: Wrong TextView height when DynamicLayout is used."

parents 24caec2d c2e38ce2
Loading
Loading
Loading
Loading
+13 −2
Original line number Diff line number Diff line
@@ -7740,14 +7740,25 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
            desired = Math.max(desired, dr.mDrawableHeightRight);
        }

        desired += getCompoundPaddingTop() + getCompoundPaddingBottom();
        int linecount = layout.getLineCount();
        final int padding = getCompoundPaddingTop() + getCompoundPaddingBottom();
        desired += padding;

        if (mMaxMode != LINES) {
            desired = Math.min(desired, mMaximum);
        } else if (cap && linecount > mMaximum && layout instanceof DynamicLayout) {
            desired = layout.getLineTop(mMaximum);

            if (dr != null) {
                desired = Math.max(desired, dr.mDrawableHeightLeft);
                desired = Math.max(desired, dr.mDrawableHeightRight);
            }

            desired += padding;
            linecount = mMaximum;
        }

        if (mMinMode == LINES) {
            int linecount = layout.getLineCount();
            if (linecount < mMinimum) {
                desired += getLineHeight() * (mMinimum - linecount);
            }