Fix a small bug

Tests results in Ibcd6c110f1d5582425f9592c42e31152131ef80c

Bug: 7226877
Change-Id: I8d03bae3264974eff7b790e27c073b0a8758d17a
diff --git a/native/jni/src/binary_format.h b/native/jni/src/binary_format.h
index 2d2e195..ad16039 100644
--- a/native/jni/src/binary_format.h
+++ b/native/jni/src/binary_format.h
@@ -66,6 +66,7 @@
     static int detectFormat(const uint8_t *const dict);
     static int getHeaderSize(const uint8_t *const dict);
     static int getFlags(const uint8_t *const dict);
+    static bool hasBlacklistedOrNotAWordFlag(const int flags);
     static void readHeaderValue(const uint8_t *const dict, const char *const key, int *outValue,
             const int outValueSize);
     static int readHeaderValueInt(const uint8_t *const dict, const char *const key);
@@ -162,6 +163,10 @@
     }
 }
 
+inline bool BinaryFormat::hasBlacklistedOrNotAWordFlag(const int flags) {
+    return flags & (FLAG_IS_BLACKLISTED | FLAG_IS_NOT_A_WORD);
+}
+
 inline int BinaryFormat::getHeaderSize(const uint8_t *const dict) {
     switch (detectFormat(dict)) {
     case 1:
diff --git a/native/jni/src/suggest/core/dicnode/dic_node.h b/native/jni/src/suggest/core/dicnode/dic_node.h
index f8d2df4..e843254 100644
--- a/native/jni/src/suggest/core/dicnode/dic_node.h
+++ b/native/jni/src/suggest/core/dicnode/dic_node.h
@@ -210,8 +210,7 @@
     }
 
     bool isImpossibleBigramWord() const {
-        const int probability = mDicNodeProperties.getProbability();
-        if (probability == 0) {
+        if (mDicNodeProperties.hasBlacklistedOrNotAWordFlag()) {
             return true;
         }
         const int prevWordLen = mDicNodeState.mDicNodeStatePrevWord.getPrevWordLength()
diff --git a/native/jni/src/suggest/core/dicnode/dic_node_properties.h b/native/jni/src/suggest/core/dicnode/dic_node_properties.h
index 173ef35..63a6b13 100644
--- a/native/jni/src/suggest/core/dicnode/dic_node_properties.h
+++ b/native/jni/src/suggest/core/dicnode/dic_node_properties.h
@@ -19,6 +19,7 @@
 
 #include <stdint.h>
 
+#include "binary_format.h"
 #include "defines.h"
 
 namespace latinime {
@@ -144,6 +145,10 @@
         return mChildrenCount > 0 || mDepth != mLeavingDepth;
     }
 
+    bool hasBlacklistedOrNotAWordFlag() const {
+        return BinaryFormat::hasBlacklistedOrNotAWordFlag(mFlags);
+    }
+
  private:
     // Caution!!!
     // Use a default copy constructor and an assign operator because shallow copies are ok
diff --git a/native/jni/src/terminal_attributes.h b/native/jni/src/terminal_attributes.h
index 144ae14..92ef71c 100644
--- a/native/jni/src/terminal_attributes.h
+++ b/native/jni/src/terminal_attributes.h
@@ -72,7 +72,7 @@
     }
 
     bool isBlacklistedOrNotAWord() const {
-        return mFlags & (BinaryFormat::FLAG_IS_BLACKLISTED | BinaryFormat::FLAG_IS_NOT_A_WORD);
+        return BinaryFormat::hasBlacklistedOrNotAWordFlag(mFlags);
     }
 
  private: