Do not register null pointers as dictionaries

Bug: 5062425
Change-Id: I025991424de40c2b31b90238f99ef160e7efd92e
diff --git a/java/src/com/android/inputmethod/latin/DictionaryCollection.java b/java/src/com/android/inputmethod/latin/DictionaryCollection.java
index e987d9f..1078403 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryCollection.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryCollection.java
@@ -17,6 +17,7 @@
 package com.android.inputmethod.latin;
 
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.CopyOnWriteArrayList;
 
@@ -36,11 +37,13 @@
             mDictionaries = new CopyOnWriteArrayList<Dictionary>();
         } else {
             mDictionaries = new CopyOnWriteArrayList<Dictionary>(dictionaries);
+            mDictionaries.removeAll(Collections.singleton(null));
         }
     }
 
     public DictionaryCollection(Collection<Dictionary> dictionaries) {
         mDictionaries = new CopyOnWriteArrayList<Dictionary>(dictionaries);
+        mDictionaries.removeAll(Collections.singleton(null));
     }
 
     @Override
@@ -70,6 +73,6 @@
     }
 
     public void addDictionary(Dictionary newDict) {
-        mDictionaries.add(newDict);
+        if (null != newDict) mDictionaries.add(newDict);
     }
 }