diff options
author | Gilles Debunne <debunne@google.com> | 2011-12-07 10:35:59 -0800 |
---|---|---|
committer | Gilles Debunne <debunne@google.com> | 2011-12-07 10:40:09 -0800 |
commit | 653d3a27878d5358b4a91518a756f6b9b3407b07 (patch) | |
tree | 45629d32adf7938df844f060a84646dda3ebaab8 /core/java/android/text/method | |
parent | fb90df8c6e6d48c4b6701014a3053915b94f4b9e (diff) | |
download | frameworks_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.java | 7 |
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); } |