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
main
Yohei Yukawa 2014-10-02 12:46:11 +09:00
parent eff21b653f
commit 3852cfa717
1 changed files with 2 additions and 3 deletions

View File

@ -145,9 +145,8 @@ public class SentenceLevelAdapter {
int wordEnd = wordIterator.getEndOfWord(originalText, wordStart); int wordEnd = wordIterator.getEndOfWord(originalText, wordStart);
while (wordStart <= end && wordEnd != -1 && wordStart != -1) { while (wordStart <= end && wordEnd != -1 && wordStart != -1) {
if (wordEnd >= start && wordEnd > wordStart) { if (wordEnd >= start && wordEnd > wordStart) {
CharSequence subSequence = originalText.subSequence(wordStart, wordEnd).toString(); final TextInfo ti = TextInfoCompatUtils.newInstance(originalText, wordStart,
final TextInfo ti = TextInfoCompatUtils.newInstance(subSequence, 0, wordEnd, cookie, originalText.subSequence(wordStart, wordEnd).hashCode());
subSequence.length(), cookie, subSequence.hashCode());
wordItems.add(new SentenceWordItem(ti, wordStart, wordEnd)); wordItems.add(new SentenceWordItem(ti, wordStart, wordEnd));
} }
wordStart = wordIterator.getBeginningOfNextWord(originalText, wordEnd); wordStart = wordIterator.getBeginningOfNextWord(originalText, wordEnd);