summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorsatok <satok@google.com>2012-04-23 13:46:40 +0900
committersatok <satok@google.com>2012-04-23 13:46:40 +0900
commit979de903695275bae08f2e7a4e99d342f0facd23 (patch)
tree4d0225e5ed95318f2e2783cb1f238d93b62bdc9b /core/java/android
parentad04c9ccc9d30b44ef4d95e9bed195b83a22b03c (diff)
Fix the first boundary of the sentence level spell check
Change-Id: I7c7659c921103d31f9909c14850088aef0d2eb19
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/widget/SpellChecker.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/core/java/android/widget/SpellChecker.java b/core/java/android/widget/SpellChecker.java
index a13ee5a3c335..02cb46b8a79a 100644
--- a/core/java/android/widget/SpellChecker.java
+++ b/core/java/android/widget/SpellChecker.java
@@ -60,6 +60,8 @@ public class SpellChecker implements SpellCheckerSessionListener {
// Pause between each spell check to keep the UI smooth
private final static int SPELL_PAUSE_DURATION = 400; // milliseconds
+ private static final int MIN_SENTENCE_LENGTH = 50;
+
private static final int USE_SPAN_RANGE = -1;
private final TextView mTextView;
@@ -508,11 +510,10 @@ public class SpellChecker implements SpellCheckerSessionListener {
if (wordEnd < start) {
return;
}
- wordStart = regionEnd;
// TODO: Find the start position of the sentence.
// Set span with the context
final int spellCheckStart = Math.max(
- 0, Math.min(wordStart, regionEnd - WORD_ITERATOR_INTERVAL));
+ 0, Math.min(wordStart, regionEnd - MIN_SENTENCE_LENGTH));
if (regionEnd <= spellCheckStart) {
return;
}
@@ -530,6 +531,7 @@ public class SpellChecker implements SpellCheckerSessionListener {
&& (selectionEnd < spellCheckStart || selectionStart > regionEnd)) {
addSpellCheckSpan(editable, spellCheckStart, regionEnd);
}
+ wordStart = regionEnd;
} else {
while (wordStart <= end) {
if (wordEnd >= start && wordEnd > wordStart) {