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

Commit 06ce394e authored by Siyamed Sinir's avatar Siyamed Sinir Committed by android-build-merger
Browse files

Merge "Revert "Fix TextView layout reuse when maxLines is set"" into nyc-dev...

Merge "Revert "Fix TextView layout reuse when maxLines is set"" into nyc-dev am: 990e2611 am: 6fe1ab7f
am: af57bd75

* commit 'af57bd75':
  Revert "Fix TextView layout reuse when maxLines is set"

Change-Id: I6c4865dceff4debb17e679a67ffbb3d7eb33f817
parents 7d94537e af57bd75
Loading
Loading
Loading
Loading
+4 −9
Original line number Original line Diff line number Diff line
@@ -6980,19 +6980,14 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
        return false;
        return false;
    }
    }


    private static int desired(Layout layout, int maxLines) {
    private static int desired(Layout layout) {
        int n = layout.getLineCount();
        int n = layout.getLineCount();
        CharSequence text = layout.getText();
        CharSequence text = layout.getText();
        float max = 0;
        float max = 0;


        // if maxLines is set, and the text length is greater that the length of the text in the
        // layout, it means that there is a cut-off and we cannot use it.
        if (maxLines != -1 && text.length() > layout.getLineEnd(n - 1)) {
            return -1;
        }

        // if any line was wrapped, we can't use it.
        // if any line was wrapped, we can't use it.
        // but it's ok for the last line not to have a newline
        // but it's ok for the last line not to have a newline

        for (int i = 0; i < n - 1; i++) {
        for (int i = 0; i < n - 1; i++) {
            if (text.charAt(layout.getLineEnd(i) - 1) != '\n')
            if (text.charAt(layout.getLineEnd(i) - 1) != '\n')
                return -1;
                return -1;
@@ -7065,7 +7060,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
            width = widthSize;
            width = widthSize;
        } else {
        } else {
            if (mLayout != null && mEllipsize == null) {
            if (mLayout != null && mEllipsize == null) {
                des = desired(mLayout, getMaxLines());
                des = desired(mLayout);
            }
            }


            if (des < 0) {
            if (des < 0) {
@@ -7097,7 +7092,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
                int hintWidth;
                int hintWidth;


                if (mHintLayout != null && mEllipsize == null) {
                if (mHintLayout != null && mEllipsize == null) {
                    hintDes = desired(mHintLayout, getMaxLines());
                    hintDes = desired(mHintLayout);
                }
                }


                if (hintDes < 0) {
                if (hintDes < 0) {