From 9fd50e34a863c18da42d6cfc8f62986a387dd5f8 Mon Sep 17 00:00:00 2001 From: Keisuke Kuroyanagi Date: Thu, 6 Mar 2014 18:25:15 +0900 Subject: [PATCH] Fix: Bug of I39e905b6ddfc8d3. primaryKey have to be the first elemnet of the proximities. Bug: 13315755 Change-Id: I6c94408a2ef2750fa85ff12b93bed8b8d874717e --- .../jni/src/suggest/core/layout/proximity_info_utils.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/native/jni/src/suggest/core/layout/proximity_info_utils.h b/native/jni/src/suggest/core/layout/proximity_info_utils.h index bc8d5bc1d..6d2c11b09 100644 --- a/native/jni/src/suggest/core/layout/proximity_info_utils.h +++ b/native/jni/src/suggest/core/layout/proximity_info_utils.h @@ -164,12 +164,15 @@ class ProximityInfoUtils { const int gridWidth, const int mostCommonKeyWidth, const int keyCount, const int x, const int y, const int primaryKey, const char *const localeStr, const hash_map_compat *const codeToKeyMap, int *proximities) { - if (x == NOT_A_COORDINATE || y == NOT_A_COORDINATE) { - return; - } const int mostCommonKeyWidthSquare = mostCommonKeyWidth * mostCommonKeyWidth; int insertPos = 0; proximities[insertPos++] = primaryKey; + if (x == NOT_A_COORDINATE || y == NOT_A_COORDINATE) { + for (int i = insertPos; i < MAX_PROXIMITY_CHARS_SIZE; ++i) { + proximities[i] = NOT_A_CODE_POINT; + } + return; + } const int startIndex = getStartIndexFromCoordinates(x, y, cellHeight, cellWidth, gridWidth); if (startIndex >= 0) { for (int i = 0; i < MAX_PROXIMITY_CHARS_SIZE; ++i) {