summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2019-06-26 00:18:11 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-06-26 00:18:11 +0000
commita33ce8a337a7ec6d05b92fcd49e8eec9241e178e (patch)
tree7add3fdb3f436e1427873b3bab65c7e1d7d433e3
parent82e696d5d3f009eb1475202acffaa410ac0e3ec8 (diff)
parent71a00189480c27406aa9693cbff7691d1e746df6 (diff)
Merge "Fix Layout.primaryIsTrailingPreviousAllLineOffsets"
-rw-r--r--core/java/android/text/Layout.java9
-rw-r--r--core/tests/coretests/src/android/text/LayoutTest.java3
2 files changed, 9 insertions, 3 deletions
diff --git a/core/java/android/text/Layout.java b/core/java/android/text/Layout.java
index bf0ef9465fcd..2c2c2953ed51 100644
--- a/core/java/android/text/Layout.java
+++ b/core/java/android/text/Layout.java
@@ -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;
}
diff --git a/core/tests/coretests/src/android/text/LayoutTest.java b/core/tests/coretests/src/android/text/LayoutTest.java
index 990161a88c22..93a6b15f744c 100644
--- a/core/tests/coretests/src/android/text/LayoutTest.java
+++ b/core/tests/coretests/src/android/text/LayoutTest.java
@@ -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});
}
}