From daa4a95a54909d53a325eb06ca22130743b5be04 Mon Sep 17 00:00:00 2001 From: Gilles Debunne Date: Fri, 8 Apr 2011 11:31:25 -0700 Subject: Fix in BreakIterator. An index equal to the length of text is indeed a valid position, representing a cursor located after the last character. Also changed iterator to comply to the documentation. Change-Id: I7b9e427e4e37df20ab7e66d99053a9d8a6af6eb3 --- core/java/android/text/method/ArrowKeyMovementMethod.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'core/java/android/text/method') diff --git a/core/java/android/text/method/ArrowKeyMovementMethod.java b/core/java/android/text/method/ArrowKeyMovementMethod.java index 80c0106..b25ba8d 100644 --- a/core/java/android/text/method/ArrowKeyMovementMethod.java +++ b/core/java/android/text/method/ArrowKeyMovementMethod.java @@ -390,7 +390,7 @@ public class ArrowKeyMovementMethod extends BaseMovementMethod implements Moveme } private boolean isValidOffset(int offset) { - return offset >= 0 && offset < mCurrent.length(); + return offset >= 0 && offset <= mCurrent.length(); } private boolean isLetterOrDigit(int offset) { @@ -404,7 +404,7 @@ public class ArrowKeyMovementMethod extends BaseMovementMethod implements Moveme /** {@inheritDoc} */ public int preceding(int offset) { // always round cursor index into valid string index - offset = MathUtils.constrain(offset, 0, mCurrent.length() - 1); + offset = MathUtils.constrain(offset, 0, mCurrent.length()); do { offset = mIterator.preceding(offset); @@ -417,7 +417,7 @@ public class ArrowKeyMovementMethod extends BaseMovementMethod implements Moveme /** {@inheritDoc} */ public int following(int offset) { // always round cursor index into valid string index - offset = MathUtils.constrain(offset, 0, mCurrent.length() - 1); + offset = MathUtils.constrain(offset, 0, mCurrent.length()); do { offset = mIterator.following(offset); -- cgit v1.1