Merge "Fix bug #5197549 android.text.cts.StaticLayoutTest#testGetEllipsisCount fails on IRK49E mysid-userdebug"
This commit is contained in:
committed by
Android (Google) Code Review
commit
c6f19da0ff
@@ -729,12 +729,22 @@ public class StaticLayout extends Layout {
|
|||||||
start - widthStart, end - start);
|
start - widthStart, end - start);
|
||||||
}
|
}
|
||||||
|
|
||||||
// If ellipsize is in marquee mode, do not apply ellipsis on the first line
|
if (ellipsize != null) {
|
||||||
if (ellipsize != null && (ellipsize != TextUtils.TruncateAt.MARQUEE || j != 0)) {
|
// If there is only one line, then do any type of ellipsis except when it is MARQUEE
|
||||||
|
// if there are multiple lines, just allow END ellipsis on the last line
|
||||||
|
boolean firstLine = (j == 0);
|
||||||
|
boolean currentLineIsTheLastVisibleOne = (j + 1 == mMaximumVisibleLineCount);
|
||||||
boolean forceEllipsis = moreChars && (mLineCount + 1 == mMaximumVisibleLineCount);
|
boolean forceEllipsis = moreChars && (mLineCount + 1 == mMaximumVisibleLineCount);
|
||||||
calculateEllipsis(start, end, widths, widthStart,
|
|
||||||
ellipsisWidth, ellipsize, j,
|
boolean doEllipsis = (firstLine && !moreChars &&
|
||||||
textWidth, paint, forceEllipsis);
|
ellipsize != TextUtils.TruncateAt.MARQUEE) ||
|
||||||
|
(!firstLine && (currentLineIsTheLastVisibleOne || !moreChars) &&
|
||||||
|
ellipsize == TextUtils.TruncateAt.END);
|
||||||
|
if (doEllipsis) {
|
||||||
|
calculateEllipsis(start, end, widths, widthStart,
|
||||||
|
ellipsisWidth, ellipsize, j,
|
||||||
|
textWidth, paint, forceEllipsis);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mLineCount++;
|
mLineCount++;
|
||||||
@@ -797,8 +807,8 @@ public class StaticLayout extends Layout {
|
|||||||
|
|
||||||
ellipsisStart = i;
|
ellipsisStart = i;
|
||||||
ellipsisCount = len - i;
|
ellipsisCount = len - i;
|
||||||
if (forceEllipsis && ellipsisCount == 0 && i > 0) {
|
if (forceEllipsis && ellipsisCount == 0 && len > 0) {
|
||||||
ellipsisStart = i - 1;
|
ellipsisStart = len - 1;
|
||||||
ellipsisCount = 1;
|
ellipsisCount = 1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user