Fix NPE

bug: 6181736

Change-Id: I6522f19555c27f33c9ff4eaa8b2559a51a38f015
diff --git a/java/src/com/android/inputmethod/latin/UserBigramDictionary.java b/java/src/com/android/inputmethod/latin/UserBigramDictionary.java
index 42d3a70..91f84be 100644
--- a/java/src/com/android/inputmethod/latin/UserBigramDictionary.java
+++ b/java/src/com/android/inputmethod/latin/UserBigramDictionary.java
@@ -115,8 +115,16 @@
 
         @Override
         public boolean equals(Object bigram) {
-            Bigram bigram2 = (Bigram) bigram;
-            return (mWord1.equals(bigram2.mWord1) && mWord2.equals(bigram2.mWord2));
+            if (!(bigram instanceof Bigram)) {
+                return false;
+            }
+            final Bigram bigram2 = (Bigram) bigram;
+            final boolean eq1 =
+                    mWord1 == null ? bigram2.mWord1 == null : mWord1.equals(bigram2.mWord1);
+            if (!eq1) {
+                return false;
+            }
+            return mWord2 == null ? bigram2.mWord2 == null : mWord2.equals(bigram2.mWord2);
         }
 
         @Override