From 24d146b966c87fd9c3b48027cbfb4238cb892ca5 Mon Sep 17 00:00:00 2001 From: satok Date: Thu, 26 Apr 2012 20:44:34 +0900 Subject: Fix the boundary of the sentence level spell check Bug: 6400290 Change-Id: Ifb3b2f4034a1717369c63206611e5b6c441fded5 --- core/java/android/widget/SpellChecker.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'core/java/android') diff --git a/core/java/android/widget/SpellChecker.java b/core/java/android/widget/SpellChecker.java index a91b16e..98e45fb 100644 --- a/core/java/android/widget/SpellChecker.java +++ b/core/java/android/widget/SpellChecker.java @@ -457,7 +457,16 @@ public class SpellChecker implements SpellCheckerSessionListener { public void parse() { Editable editable = (Editable) mTextView.getText(); // Iterate over the newly added text and schedule new SpellCheckSpans - final int start = editable.getSpanStart(mRange); + final int start; + if (mIsSentenceSpellCheckSupported) { + // TODO: Find the start position of the sentence. + // Set span with the context + start = Math.max( + 0, editable.getSpanStart(mRange) - MIN_SENTENCE_LENGTH); + } else { + start = editable.getSpanStart(mRange); + } + final int end = editable.getSpanEnd(mRange); int wordIteratorWindowEnd = Math.min(end, start + WORD_ITERATOR_INTERVAL); @@ -512,9 +521,7 @@ public class SpellChecker implements SpellCheckerSessionListener { return; } // TODO: Find the start position of the sentence. - // Set span with the context - final int spellCheckStart = Math.max( - 0, Math.min(wordStart, regionEnd - MIN_SENTENCE_LENGTH)); + final int spellCheckStart = wordStart; if (regionEnd <= spellCheckStart) { return; } -- cgit v1.1