diff options
author | 2015-01-13 11:32:08 -0800 | |
---|---|---|
committer | 2015-01-13 13:24:16 -0800 | |
commit | 303a2ae5c90300caaf87571e28cb4ffdcd816ce3 (patch) | |
tree | b3d7898dbf6299a4022843026a1322e19cb57598 | |
parent | da27faeb87dc47656f82ba90ee590872a3993985 (diff) | |
download | latinime-303a2ae5c90300caaf87571e28cb4ffdcd816ce3.tar.gz latinime-303a2ae5c90300caaf87571e28cb4ffdcd816ce3.tar.xz latinime-303a2ae5c90300caaf87571e28cb4ffdcd816ce3.zip |
Fix NPE in PunctuationSuggestions.
The NPE happens when the keyboard doesn't specify any punctuation suggestions.
Bug 18047927.
Change-Id: I9f8aa35df4f163b527dc6580a99afc6da45a96b8
-rw-r--r-- | java/src/com/android/inputmethod/latin/PunctuationSuggestions.java | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/java/src/com/android/inputmethod/latin/PunctuationSuggestions.java b/java/src/com/android/inputmethod/latin/PunctuationSuggestions.java index 555bbc7d4..c9b6d6b70 100644 --- a/java/src/com/android/inputmethod/latin/PunctuationSuggestions.java +++ b/java/src/com/android/inputmethod/latin/PunctuationSuggestions.java @@ -23,6 +23,8 @@ import com.android.inputmethod.latin.common.StringUtils; import java.util.ArrayList; import java.util.Arrays; +import javax.annotation.Nullable; + /** * The extended {@link SuggestedWords} class to represent punctuation suggestions. * @@ -49,12 +51,16 @@ public final class PunctuationSuggestions extends SuggestedWords { * @return The {@link PunctuationSuggestions} object. */ public static PunctuationSuggestions newPunctuationSuggestions( - final String[] punctuationSpecs) { - final ArrayList<SuggestedWordInfo> puncuationsList = new ArrayList<>(); - for (final String puncSpec : punctuationSpecs) { - puncuationsList.add(newHardCodedWordInfo(puncSpec)); + @Nullable final String[] punctuationSpecs) { + if (punctuationSpecs == null || punctuationSpecs.length == 0) { + return new PunctuationSuggestions(new ArrayList<SuggestedWordInfo>(0)); + } + final ArrayList<SuggestedWordInfo> punctuationList = + new ArrayList<>(punctuationSpecs.length); + for (String spec : punctuationSpecs) { + punctuationList.add(newHardCodedWordInfo(spec)); } - return new PunctuationSuggestions(puncuationsList); + return new PunctuationSuggestions(punctuationList); } /** |