Fix: -1 can be used as a code point of most probable string.

Bug: 11797518
Change-Id: Id2e8bce92d000f39d506af7cb844447696bcc019
diff --git a/native/jni/src/suggest/core/layout/proximity_info_state_utils.cpp b/native/jni/src/suggest/core/layout/proximity_info_state_utils.cpp
index e1b3534..bc4ca8e 100644
--- a/native/jni/src/suggest/core/layout/proximity_info_state_utils.cpp
+++ b/native/jni/src/suggest/core/layout/proximity_info_state_utils.cpp
@@ -992,7 +992,16 @@
             }
         }
         if (character != NOT_AN_INDEX) {
-            codePointBuf[index] = proximityInfo->getCodePointOf(character);
+            const int codePoint = proximityInfo->getCodePointOf(character);
+            if (codePoint == NOT_A_CODE_POINT) {
+                AKLOGE("Key index(%d) is not found. Cannot construct most probable string",
+                        character);
+                ASSERT(false);
+                // Make the length zero, which means most probable string won't be used.
+                index = 0;
+                break;
+            }
+            codePointBuf[index] = codePoint;
             index++;
         }
         sumLogProbability += minLogProbability;