summaryrefslogtreecommitdiffstats
path: root/core/java/android/text/method
diff options
context:
space:
mode:
authorGilles Debunne <debunne@google.com>2011-12-07 10:35:59 -0800
committerGilles Debunne <debunne@google.com>2011-12-07 10:40:09 -0800
commit653d3a27878d5358b4a91518a756f6b9b3407b07 (patch)
tree45629d32adf7938df844f060a84646dda3ebaab8 /core/java/android/text/method
parentfb90df8c6e6d48c4b6701014a3053915b94f4b9e (diff)
downloadframeworks_base-653d3a27878d5358b4a91518a756f6b9b3407b07.zip
frameworks_base-653d3a27878d5358b4a91518a756f6b9b3407b07.tar.gz
frameworks_base-653d3a27878d5358b4a91518a756f6b9b3407b07.tar.bz2
Limit created string size in Spell Checker
Change-Id: I2f4e7a8b0022d76bc30199ff80c2fe637dbe03ef
Diffstat (limited to 'core/java/android/text/method')
-rw-r--r--core/java/android/text/method/WordIterator.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/core/java/android/text/method/WordIterator.java b/core/java/android/text/method/WordIterator.java
index 239d9e8..11226a9 100644
--- a/core/java/android/text/method/WordIterator.java
+++ b/core/java/android/text/method/WordIterator.java
@@ -18,6 +18,7 @@
package android.text.method;
import android.text.Selection;
+import android.text.SpannableStringBuilder;
import java.text.BreakIterator;
import java.util.Locale;
@@ -58,7 +59,11 @@ public class WordIterator implements Selection.PositionIterator {
mOffsetShift = Math.max(0, start - WINDOW_WIDTH);
final int windowEnd = Math.min(charSequence.length(), end + WINDOW_WIDTH);
- mString = charSequence.toString().substring(mOffsetShift, windowEnd);
+ if (charSequence instanceof SpannableStringBuilder) {
+ mString = ((SpannableStringBuilder) charSequence).substring(mOffsetShift, windowEnd);
+ } else {
+ mString = charSequence.subSequence(mOffsetShift, windowEnd).toString();
+ }
mIterator.setText(mString);
}