am 78bb2dd9: am 3bd8eee3: am 4e28a6a8: Fix an IOOB exception
* commit '78bb2dd945a013f230396f3ce9c122a20fec21cf':
Fix an IOOB exception
diff --git a/java/src/com/android/inputmethod/latin/SuggestedWords.java b/java/src/com/android/inputmethod/latin/SuggestedWords.java
index 1eebabe..6bc3da8 100644
--- a/java/src/com/android/inputmethod/latin/SuggestedWords.java
+++ b/java/src/com/android/inputmethod/latin/SuggestedWords.java
@@ -429,7 +429,7 @@
*/
@UsedForTesting
public SuggestedWordInfo getTypedWordInfoOrNull() {
- if (this == EMPTY) {
+ if (SuggestedWords.INDEX_OF_TYPED_WORD >= size()) {
return null;
}
final SuggestedWordInfo info = getInfo(SuggestedWords.INDEX_OF_TYPED_WORD);
diff --git a/tests/src/com/android/inputmethod/latin/SuggestedWordsTests.java b/tests/src/com/android/inputmethod/latin/SuggestedWordsTests.java
index c28d08c..869c550 100644
--- a/tests/src/com/android/inputmethod/latin/SuggestedWordsTests.java
+++ b/tests/src/com/android/inputmethod/latin/SuggestedWordsTests.java
@@ -148,5 +148,15 @@
// Make sure getTypedWordInfoOrNull() returns null.
assertNull(SuggestedWords.EMPTY.getTypedWordInfoOrNull());
+
+ final SuggestedWords emptySuggestedWords = new SuggestedWords(
+ new ArrayList<SuggestedWordInfo>(), null /* rawSuggestions */,
+ false /* typedWordValid */,
+ false /* willAutoCorrect */,
+ false /* isObsoleteSuggestions */,
+ SuggestedWords.INPUT_STYLE_NONE);
+ assertNull(emptySuggestedWords.getTypedWordInfoOrNull());
+
+ assertNull(SuggestedWords.EMPTY.getTypedWordInfoOrNull());
}
}