aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorDan Zivkovic <zivkovic@google.com>2015-01-13 11:32:08 -0800
committerDan Zivkovic <zivkovic@google.com>2015-01-13 13:24:16 -0800
commit303a2ae5c90300caaf87571e28cb4ffdcd816ce3 (patch)
treeb3d7898dbf6299a4022843026a1322e19cb57598 /java
parentda27faeb87dc47656f82ba90ee590872a3993985 (diff)
downloadlatinime-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
Diffstat (limited to 'java')
-rw-r--r--java/src/com/android/inputmethod/latin/PunctuationSuggestions.java16
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);
}
/**