diff options
| author | Gilles Debunne <debunne@google.com> | 2011-11-29 10:01:43 -0800 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2011-11-29 10:01:43 -0800 |
| commit | 6c9d4f3cd3c5185cda06f3bf83049dba81007bd1 (patch) | |
| tree | b83e72355f1096914860beb983ef7906681a5e31 /core/java/android/widget/TextView.java | |
| parent | 0e9c942e4a97c0416928d9697f6e92be8faff5a3 (diff) | |
| parent | 0dca407eede3d85a0185718f4993c2b09d1cc658 (diff) | |
| download | frameworks_base-6c9d4f3cd3c5185cda06f3bf83049dba81007bd1.zip frameworks_base-6c9d4f3cd3c5185cda06f3bf83049dba81007bd1.tar.gz frameworks_base-6c9d4f3cd3c5185cda06f3bf83049dba81007bd1.tar.bz2 | |
am 0dca407e: am 7be31bd9: Merge "IOOB in text selection." into ics-mr1
* commit '0dca407eede3d85a0185718f4993c2b09d1cc658':
IOOB in text selection.
Diffstat (limited to 'core/java/android/widget/TextView.java')
| -rw-r--r-- | core/java/android/widget/TextView.java | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index ee5fa64..a62d5cc 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -7629,6 +7629,13 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener list.get(i).onTextChanged(text, start, before, after); } } + + updateSpellCheckSpans(start, start + after); + + // Hide the controllers as soon as text is modified (typing, procedural...) + // We do not hide the span controllers, since they can be added when a new text is + // inserted into the text view (voice IME). + hideCursorControllers(); } /** @@ -7668,15 +7675,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener sendOnTextChanged(buffer, start, before, after); onTextChanged(buffer, start, before, after); - - updateSpellCheckSpans(start, start + after); - - // Hide the controllers if the amount of content changed - if (before != after) { - // We do not hide the span controllers, as they can be added when a new text is - // inserted into the text view - hideCursorControllers(); - } } /** @@ -10840,7 +10838,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener // Handles can not cross and selection is at least one character final int selectionEnd = getSelectionEnd(); - if (offset >= selectionEnd) offset = selectionEnd - 1; + if (offset >= selectionEnd) offset = Math.max(0, selectionEnd - 1); positionAtCursorOffset(offset, false); } @@ -10882,7 +10880,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener // Handles can not cross and selection is at least one character final int selectionStart = getSelectionStart(); - if (offset <= selectionStart) offset = selectionStart + 1; + if (offset <= selectionStart) offset = Math.min(selectionStart + 1, mText.length()); positionAtCursorOffset(offset, false); } |
