From 3852cfa717a80e617e7748865ed7465931c54a12 Mon Sep 17 00:00:00 2001 From: Yohei Yukawa Date: Thu, 2 Oct 2014 12:46:11 +0900 Subject: [PATCH] Preserve spans when splitting sentences This CL fixes a bug that span information was unintentionally removed when given sentences are split into words. Nothing is changed in KitKat and prior because TextInfo never returns spanned text until L. Note that the spell checker service still doesn't rely on span information even with this CL. BUG: 16419551 Change-Id: I6ffb75ee6add4ae20e9d3dcfb90b65f097d70fba --- .../inputmethod/latin/spellcheck/SentenceLevelAdapter.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/java/src/com/android/inputmethod/latin/spellcheck/SentenceLevelAdapter.java b/java/src/com/android/inputmethod/latin/spellcheck/SentenceLevelAdapter.java index 51c4b1ee8..9ddee8629 100644 --- a/java/src/com/android/inputmethod/latin/spellcheck/SentenceLevelAdapter.java +++ b/java/src/com/android/inputmethod/latin/spellcheck/SentenceLevelAdapter.java @@ -145,9 +145,8 @@ public class SentenceLevelAdapter { int wordEnd = wordIterator.getEndOfWord(originalText, wordStart); while (wordStart <= end && wordEnd != -1 && wordStart != -1) { if (wordEnd >= start && wordEnd > wordStart) { - CharSequence subSequence = originalText.subSequence(wordStart, wordEnd).toString(); - final TextInfo ti = TextInfoCompatUtils.newInstance(subSequence, 0, - subSequence.length(), cookie, subSequence.hashCode()); + final TextInfo ti = TextInfoCompatUtils.newInstance(originalText, wordStart, + wordEnd, cookie, originalText.subSequence(wordStart, wordEnd).hashCode()); wordItems.add(new SentenceWordItem(ti, wordStart, wordEnd)); } wordStart = wordIterator.getBeginningOfNextWord(originalText, wordEnd);