summaryrefslogtreecommitdiffstats
path: root/core/java/android/widget/TextView.java
diff options
context:
space:
mode:
authorGilles Debunne <debunne@google.com>2011-11-29 10:01:43 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2011-11-29 10:01:43 -0800
commit6c9d4f3cd3c5185cda06f3bf83049dba81007bd1 (patch)
treeb83e72355f1096914860beb983ef7906681a5e31 /core/java/android/widget/TextView.java
parent0e9c942e4a97c0416928d9697f6e92be8faff5a3 (diff)
parent0dca407eede3d85a0185718f4993c2b09d1cc658 (diff)
downloadframeworks_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.java20
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);
}