diff options
| author | 2019-09-06 16:34:07 -0700 | |
|---|---|---|
| committer | 2019-09-11 11:28:34 -0700 | |
| commit | 0a57fe099a55ab3a7583b229fa7cfb905d6106f3 (patch) | |
| tree | 5010c54feb54c07ccf5df8bb73f97c58754e1721 | |
| parent | 0141ef09483f1bb92b028f821b03561097442cd9 (diff) | |
don't compute outside of visible range
Bug: 140632678
Test: manually done
Test: TreeHugger
Change-Id: I646851973b3816bf9ba32dfe26748c0345a5a081
| -rw-r--r-- | core/java/android/text/TextLine.java | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/core/java/android/text/TextLine.java b/core/java/android/text/TextLine.java index 86651060a394..5a2d8f4329dc 100644 --- a/core/java/android/text/TextLine.java +++ b/core/java/android/text/TextLine.java @@ -276,6 +276,7 @@ public class TextLine { final int runCount = mDirections.getRunCount(); for (int runIndex = 0; runIndex < runCount; runIndex++) { final int runStart = mDirections.getRunStart(runIndex); + if (runStart >= mLen) break; final int runLimit = Math.min(runStart + mDirections.getRunLength(runIndex), mLen); final boolean runIsRtl = mDirections.isRunRtl(runIndex); @@ -360,6 +361,7 @@ public class TextLine { float h = 0; for (int runIndex = 0; runIndex < mDirections.getRunCount(); runIndex++) { final int runStart = mDirections.getRunStart(runIndex); + if (runStart >= mLen) break; final int runLimit = Math.min(runStart + mDirections.getRunLength(runIndex), mLen); final boolean runIsRtl = mDirections.isRunRtl(runIndex); @@ -417,6 +419,7 @@ public class TextLine { float h = 0; for (int runIndex = 0; runIndex < mDirections.getRunCount(); runIndex++) { final int runStart = mDirections.getRunStart(runIndex); + if (runStart > mLen) break; final int runLimit = Math.min(runStart + mDirections.getRunLength(runIndex), mLen); final boolean runIsRtl = mDirections.isRunRtl(runIndex); |