Fix an IOOB exception

Bug: 17316001
Change-Id: Iaa2cfd30ebbe0d49e10a5c3a30336e06817d0a8b
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());
     }
 }