Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2616a431 authored by Qi Wang's avatar Qi Wang
Browse files

Fix a bug in SpellCheckerService.

Previously, the returned value of WordIterator#following is used without
checking, which will cause fatal error when it's WordIterator.DONE.

Fix: 184915852
Test: atest CtsInputMethodTestCases:SpellCheckerTest
Change-Id: I37418bb36bc49e7dfa729ffb7209a6f383b611dd
parent 1233b55e
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -421,7 +421,8 @@ public abstract class SpellCheckerService extends Service {
            final ArrayList<SentenceWordItem> wordItems = new ArrayList<SentenceWordItem>();
            wordIterator.setCharSequence(originalText, 0, originalText.length());
            int wordEnd = wordIterator.following(start);
            int wordStart = wordIterator.getBeginning(wordEnd);
            int wordStart = wordEnd == BreakIterator.DONE ? BreakIterator.DONE
                    : wordIterator.getBeginning(wordEnd);
            if (DBG) {
                Log.d(TAG, "iterator: break: ---- 1st word start = " + wordStart + ", end = "
                        + wordEnd + "\n" + originalText);