Merge "Fix Layout.primaryIsTrailingPreviousAllLineOffsets"

This commit is contained in:
TreeHugger Robot
2019-06-26 00:18:11 +00:00
committed by Android (Google) Code Review
2 changed files with 9 additions and 3 deletions

View File

@@ -1122,6 +1122,9 @@ public abstract class Layout {
if (limit > lineEnd) {
limit = lineEnd;
}
if (limit == start) {
continue;
}
level[limit - lineStart - 1] =
(byte) ((runs[i + 1] >>> RUN_LEVEL_SHIFT) & RUN_LEVEL_MASK);
}
@@ -1220,8 +1223,8 @@ public abstract class Layout {
}
/**
* Computes in linear time the results of calling
* #getHorizontal for all offsets on a line.
* Computes in linear time the results of calling #getHorizontal for all offsets on a line.
*
* @param line The line giving the offsets we compute information for
* @param clamped Whether to clamp the results to the width of the layout
* @param primary Whether the results should be the primary or the secondary horizontal
@@ -1257,7 +1260,7 @@ public abstract class Layout {
TextLine.recycle(tl);
if (clamped) {
for (int offset = 0; offset <= wid.length; ++offset) {
for (int offset = 0; offset < wid.length; ++offset) {
if (wid[offset] > mWidth) {
wid[offset] = mWidth;
}

View File

@@ -743,6 +743,9 @@ public class LayoutTest {
assertPrimaryIsTrailingPrevious(
RTL + LRI + RTL + LTR + PDI + RTL,
new boolean[]{false, false, true, false, false, false, false});
assertPrimaryIsTrailingPrevious(
"",
new boolean[]{false});
}
}