Loading core/java/android/text/Layout.java +11 −10 Original line number Diff line number Diff line Loading @@ -1727,6 +1727,17 @@ public abstract class Layout { } } /** * Inform this layout that not all of its lines will be displayed, because a maximum number of * lines has been set on the associated TextView. * * A non strictly positive value means that all lines are displayed. * * @param lineCount number of visible lines * @hide */ public void setMaximumVisibleLineCount(int lineCount) {} private CharSequence mText; private TextPaint mPaint; /* package */ TextPaint mWorkPaint; Loading Loading @@ -1765,14 +1776,4 @@ public abstract class Layout { /* package */ static final Directions DIRS_ALL_RIGHT_TO_LEFT = new Directions(new int[] { 0, RUN_LENGTH_MASK | RUN_RTL_FLAG }); /** * Inform this layout that not all of its lines will be displayed, because a maximum number of * lines has been set on the associated TextView. * * A non positive value means that all lines are displayed. * * @param line line number of the last visible line (line numbers start at 1 for the first line) * @hide */ public void setMaximumVisibleLineCount(int line) {} } core/java/android/text/StaticLayout.java +9 −61 Original line number Diff line number Diff line Loading @@ -354,44 +354,6 @@ public class StaticLayout extends Layout { if (fitBottom > okBottom) okBottom = fitBottom; } } else { if (ellipsize != null) { // Break only at spaces using ok indexes. if (ok != here) { // Log.e("text", "output ok " + here + " to " +ok); while (ok < spanEnd && chs[ok - paraStart] == CHAR_SPACE) { ok++; } v = out(source, here, ok, okAscent, okDescent, okTop, okBottom, v, spacingmult, spacingadd, chooseHt, chooseHtv, fm, hasTabOrEmoji, needMultiply, paraStart, chdirs, dir, easy, ok == bufEnd, includepad, trackpad, chs, widths, here - paraStart, ellipsize, ellipsizedWidth, okWidth, paint); here = ok; } else { // Act like it fit even though it didn't. fitWidth = w; here = fit = j + 1; if (fmTop < fitTop) fitTop = fmTop; if (fmAscent < fitAscent) fitAscent = fmAscent; if (fmDescent > fitDescent) fitDescent = fmDescent; if (fmBottom > fitBottom) fitBottom = fmBottom; } } else { if (ok != here) { // Log.e("text", "output ok " + here + " to " +ok); Loading @@ -408,7 +370,7 @@ public class StaticLayout extends Layout { chooseHtv, fm, hasTabOrEmoji, needMultiply, paraStart, chdirs, dir, easy, ok == bufEnd, includepad, trackpad, chs, widths, here - paraStart, chs, widths, paraStart, ellipsize, ellipsizedWidth, okWidth, paint); Loading @@ -424,7 +386,7 @@ public class StaticLayout extends Layout { chooseHtv, fm, hasTabOrEmoji, needMultiply, paraStart, chdirs, dir, easy, fit == bufEnd, includepad, trackpad, chs, widths, here - paraStart, chs, widths, paraStart, ellipsize, ellipsizedWidth, fitWidth, paint); Loading @@ -446,13 +408,12 @@ public class StaticLayout extends Layout { needMultiply, paraStart, chdirs, dir, easy, here + 1 == bufEnd, includepad, trackpad, chs, widths, here - paraStart, chs, widths, paraStart, ellipsize, ellipsizedWidth, widths[here - paraStart], paint); here = here + 1; } } if (here < spanStart) { // didn't output all the text for this span Loading Loading @@ -495,7 +456,7 @@ public class StaticLayout extends Layout { chooseHtv, fm, hasTabOrEmoji, needMultiply, paraStart, chdirs, dir, easy, paraEnd == bufEnd, includepad, trackpad, chs, widths, here - paraStart, chs, widths, paraStart, ellipsize, ellipsizedWidth, w, paint); } Loading Loading @@ -614,19 +575,6 @@ public class StaticLayout extends Layout { return false; } /* private static void dump(byte[] data, int count, String label) { if (false) { System.out.print(label); for (int i = 0; i < count; i++) System.out.print(" " + data[i]); System.out.println(); } } */ private int out(CharSequence text, int start, int end, int above, int below, int top, int bottom, int v, float spacingmult, float spacingadd, Loading Loading @@ -729,8 +677,8 @@ public class StaticLayout extends Layout { if (easy) { mLineDirections[j] = linedirs; } else { mLineDirections[j] = AndroidBidi.directions(dir, chdirs, widthStart, chs, widthStart, end - start); mLineDirections[j] = AndroidBidi.directions(dir, chdirs, start - widthStart, chs, start - widthStart, end - start); } // If ellipsize is in marquee mode, do not apply ellipsis on the first line Loading Loading @@ -869,7 +817,7 @@ public class StaticLayout extends Layout { @Override public int getLineDescent(int line) { int descent = mLines[mColumns * line + DESCENT]; if (mMaximumVisibleLineCount > 0 && line >= mMaximumVisibleLineCount - 1 && if (mMaximumVisibleLineCount > 0 && line >= mMaximumVisibleLineCount - 1 && // -1 intended line != mLineCount) { descent += getBottomPadding(); } Loading Loading @@ -933,8 +881,8 @@ public class StaticLayout extends Layout { * @hide */ @Override public void setMaximumVisibleLineCount(int line) { mMaximumVisibleLineCount = line; public void setMaximumVisibleLineCount(int lineCount) { mMaximumVisibleLineCount = lineCount; } private int mLineCount; Loading Loading
core/java/android/text/Layout.java +11 −10 Original line number Diff line number Diff line Loading @@ -1727,6 +1727,17 @@ public abstract class Layout { } } /** * Inform this layout that not all of its lines will be displayed, because a maximum number of * lines has been set on the associated TextView. * * A non strictly positive value means that all lines are displayed. * * @param lineCount number of visible lines * @hide */ public void setMaximumVisibleLineCount(int lineCount) {} private CharSequence mText; private TextPaint mPaint; /* package */ TextPaint mWorkPaint; Loading Loading @@ -1765,14 +1776,4 @@ public abstract class Layout { /* package */ static final Directions DIRS_ALL_RIGHT_TO_LEFT = new Directions(new int[] { 0, RUN_LENGTH_MASK | RUN_RTL_FLAG }); /** * Inform this layout that not all of its lines will be displayed, because a maximum number of * lines has been set on the associated TextView. * * A non positive value means that all lines are displayed. * * @param line line number of the last visible line (line numbers start at 1 for the first line) * @hide */ public void setMaximumVisibleLineCount(int line) {} }
core/java/android/text/StaticLayout.java +9 −61 Original line number Diff line number Diff line Loading @@ -354,44 +354,6 @@ public class StaticLayout extends Layout { if (fitBottom > okBottom) okBottom = fitBottom; } } else { if (ellipsize != null) { // Break only at spaces using ok indexes. if (ok != here) { // Log.e("text", "output ok " + here + " to " +ok); while (ok < spanEnd && chs[ok - paraStart] == CHAR_SPACE) { ok++; } v = out(source, here, ok, okAscent, okDescent, okTop, okBottom, v, spacingmult, spacingadd, chooseHt, chooseHtv, fm, hasTabOrEmoji, needMultiply, paraStart, chdirs, dir, easy, ok == bufEnd, includepad, trackpad, chs, widths, here - paraStart, ellipsize, ellipsizedWidth, okWidth, paint); here = ok; } else { // Act like it fit even though it didn't. fitWidth = w; here = fit = j + 1; if (fmTop < fitTop) fitTop = fmTop; if (fmAscent < fitAscent) fitAscent = fmAscent; if (fmDescent > fitDescent) fitDescent = fmDescent; if (fmBottom > fitBottom) fitBottom = fmBottom; } } else { if (ok != here) { // Log.e("text", "output ok " + here + " to " +ok); Loading @@ -408,7 +370,7 @@ public class StaticLayout extends Layout { chooseHtv, fm, hasTabOrEmoji, needMultiply, paraStart, chdirs, dir, easy, ok == bufEnd, includepad, trackpad, chs, widths, here - paraStart, chs, widths, paraStart, ellipsize, ellipsizedWidth, okWidth, paint); Loading @@ -424,7 +386,7 @@ public class StaticLayout extends Layout { chooseHtv, fm, hasTabOrEmoji, needMultiply, paraStart, chdirs, dir, easy, fit == bufEnd, includepad, trackpad, chs, widths, here - paraStart, chs, widths, paraStart, ellipsize, ellipsizedWidth, fitWidth, paint); Loading @@ -446,13 +408,12 @@ public class StaticLayout extends Layout { needMultiply, paraStart, chdirs, dir, easy, here + 1 == bufEnd, includepad, trackpad, chs, widths, here - paraStart, chs, widths, paraStart, ellipsize, ellipsizedWidth, widths[here - paraStart], paint); here = here + 1; } } if (here < spanStart) { // didn't output all the text for this span Loading Loading @@ -495,7 +456,7 @@ public class StaticLayout extends Layout { chooseHtv, fm, hasTabOrEmoji, needMultiply, paraStart, chdirs, dir, easy, paraEnd == bufEnd, includepad, trackpad, chs, widths, here - paraStart, chs, widths, paraStart, ellipsize, ellipsizedWidth, w, paint); } Loading Loading @@ -614,19 +575,6 @@ public class StaticLayout extends Layout { return false; } /* private static void dump(byte[] data, int count, String label) { if (false) { System.out.print(label); for (int i = 0; i < count; i++) System.out.print(" " + data[i]); System.out.println(); } } */ private int out(CharSequence text, int start, int end, int above, int below, int top, int bottom, int v, float spacingmult, float spacingadd, Loading Loading @@ -729,8 +677,8 @@ public class StaticLayout extends Layout { if (easy) { mLineDirections[j] = linedirs; } else { mLineDirections[j] = AndroidBidi.directions(dir, chdirs, widthStart, chs, widthStart, end - start); mLineDirections[j] = AndroidBidi.directions(dir, chdirs, start - widthStart, chs, start - widthStart, end - start); } // If ellipsize is in marquee mode, do not apply ellipsis on the first line Loading Loading @@ -869,7 +817,7 @@ public class StaticLayout extends Layout { @Override public int getLineDescent(int line) { int descent = mLines[mColumns * line + DESCENT]; if (mMaximumVisibleLineCount > 0 && line >= mMaximumVisibleLineCount - 1 && if (mMaximumVisibleLineCount > 0 && line >= mMaximumVisibleLineCount - 1 && // -1 intended line != mLineCount) { descent += getBottomPadding(); } Loading Loading @@ -933,8 +881,8 @@ public class StaticLayout extends Layout { * @hide */ @Override public void setMaximumVisibleLineCount(int line) { mMaximumVisibleLineCount = line; public void setMaximumVisibleLineCount(int lineCount) { mMaximumVisibleLineCount = lineCount; } private int mLineCount; Loading