summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGilles Debunne <debunne@google.com>2012-01-20 10:27:00 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-01-20 10:27:00 -0800
commit7418c35d80e3462fe6f80ed1394e2d31c8b1b6bf (patch)
treee9b7215e4b851b16ea07596d8eb77b9d79fd2260
parent7524a592526a14d20ec3f3acffd61fe18afaa4b4 (diff)
parent92db51938f6dac6227ab362e851858bc848efd9e (diff)
downloadframeworks_base-7418c35d80e3462fe6f80ed1394e2d31c8b1b6bf.zip
frameworks_base-7418c35d80e3462fe6f80ed1394e2d31c8b1b6bf.tar.gz
frameworks_base-7418c35d80e3462fe6f80ed1394e2d31c8b1b6bf.tar.bz2
Merge "Make sure text selection always starts"
-rw-r--r--core/java/android/widget/TextView.java8
1 files changed, 3 insertions, 5 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index e508e9a..1ec869d 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -8920,14 +8920,12 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
wordIterator.setCharSequence(mText, minOffset, maxOffset);
selectionStart = wordIterator.getBeginning(minOffset);
- if (selectionStart == BreakIterator.DONE) return false;
-
selectionEnd = wordIterator.getEnd(maxOffset);
- if (selectionEnd == BreakIterator.DONE) return false;
- if (selectionStart == selectionEnd) {
+ if (selectionStart == BreakIterator.DONE || selectionEnd == BreakIterator.DONE ||
+ selectionStart == selectionEnd) {
// Possible when the word iterator does not properly handle the text's language
- long range = getCharRange(selectionStart);
+ long range = getCharRange(minOffset);
selectionStart = extractRangeStartFromLong(range);
selectionEnd = extractRangeEndFromLong(range);
}