aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java12
-rw-r--r--java/src/com/android/inputmethod/latin/SettingsValues.java6
-rw-r--r--java/src/com/android/inputmethod/latin/Suggest.java18
-rw-r--r--java/src/com/android/inputmethod/latin/SuggestedWords.java29
-rw-r--r--native/jni/com_android_inputmethod_keyboard_ProximityInfo.cpp2
-rw-r--r--native/src/additional_proximity_chars.cpp10
-rw-r--r--native/src/additional_proximity_chars.h22
-rw-r--r--native/src/defines.h2
-rw-r--r--native/src/proximity_info.cpp80
-rw-r--r--native/src/proximity_info.h6
10 files changed, 122 insertions, 65 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index f41972e8b..ec408792c 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -930,7 +930,8 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
false /* typedWordValid */,
false /* hasMinimalSuggestion */,
false /* allowsToBeAutoCorrected */,
- false /* isPunctuationSuggestions */);
+ false /* isPunctuationSuggestions */,
+ false /* shouldBlockAutoCorrectionBySafetyNet */);
// When in fullscreen mode, show completions generated by the application
final SuggestedWords words = builder.build();
final boolean isAutoCorrection = false;
@@ -1769,6 +1770,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
// getSuggestedWordBuilder handles gracefully a null value of prevWord
final SuggestedWords.Builder builder = mSuggest.getSuggestedWordBuilder(mWordComposer,
prevWord, mKeyboardSwitcher.getKeyboard().getProximityInfo(), mCorrectionMode);
+ final SuggestedWords suggestions = builder.build();
// Basically, we update the suggestion strip only when suggestion count > 1. However,
// there is an exception: We update the suggestion strip whenever typed word's length
@@ -1776,9 +1778,10 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
// in most cases, suggestion count is 1 when typed word's length is 1, but we do always
// need to clear the previous state when the user starts typing a word (i.e. typed word's
// length == 1).
- if (builder.size() > 1 || typedWord.length() == 1 || !builder.allowsToBeAutoCorrected()
+ if (suggestions.size() > 1 || typedWord.length() == 1
+ || !suggestions.mAllowsToBeAutoCorrected
|| mSuggestionsView.isShowingAddToDictionaryHint()) {
- showSuggestions(builder.build(), typedWord);
+ showSuggestions(suggestions, typedWord);
} else {
SuggestedWords previousSuggestions = mSuggestionsView.getSuggestions();
if (previousSuggestions == mSettingsValues.mSuggestPuncList) {
@@ -1792,7 +1795,8 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
false /* typedWordValid */,
false /* hasMinimalSuggestion */,
false /* allowsToBeAutoCorrected */,
- false /* isPunctuationSuggestions */);
+ false /* isPunctuationSuggestions */,
+ false /* shouldBlockAutoCorrectionBySafetyNet */);
showSuggestions(obsoleteSuggestionsBuilder.build(), typedWord);
}
}
diff --git a/java/src/com/android/inputmethod/latin/SettingsValues.java b/java/src/com/android/inputmethod/latin/SettingsValues.java
index 0a4aea140..7ae95326b 100644
--- a/java/src/com/android/inputmethod/latin/SettingsValues.java
+++ b/java/src/com/android/inputmethod/latin/SettingsValues.java
@@ -187,7 +187,8 @@ public class SettingsValues {
false /* typedWordValid */,
false /* hasMinimalSuggestion */,
false /* allowsToBeAutoCorrected */,
- true /* isPunctuationSuggestions */);
+ true /* isPunctuationSuggestions */,
+ false /* shouldBlockAutoCorrectionBySafetyNet */);
return builder.build();
}
@@ -209,7 +210,8 @@ public class SettingsValues {
false /* typedWordValid */,
false /* hasMinimalSuggestion */,
false /* allowsToBeAutoCorrected */,
- true /* isPunctuationSuggestions */);
+ true /* isPunctuationSuggestions */,
+ false /* shouldBlockAutoCorrectionBySafetyNet */);
return builder.build();
}
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index 28d3b4437..b02c9738e 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -274,7 +274,8 @@ public class Suggest implements Dictionary.WordCallback {
false /* typedWordValid */,
false /* hasMinimalSuggestion */,
false /* allowsToBeAutoCorrected */,
- false /* isPunctuationSuggestions */);
+ false /* isPunctuationSuggestions */,
+ false /* shouldBlockAutoCorrectionBySafetyNet */);
}
// TODO: cleanup dictionaries looking up and suggestions building with SuggestedWords.Builder
@@ -437,15 +438,20 @@ public class Suggest implements Dictionary.WordCallback {
}
// Don't auto-correct words with multiple capital letter
autoCorrectionAvailable &= !wordComposer.isMostlyCaps();
+ final boolean shouldBlockAutoCorrectionBySatefyNet;
+ if (allowsToBeAutoCorrected && scoreInfoList.size() > 1 && mAutoCorrectionThreshold > 0
+ && Suggest.shouldBlockAutoCorrectionBySafetyNet(typedWord,
+ scoreInfoList.get(1).mWord)) {
+ shouldBlockAutoCorrectionBySatefyNet = true;
+ } else {
+ shouldBlockAutoCorrectionBySatefyNet = false;
+ }
builder = new SuggestedWords.Builder(scoreInfoList,
!allowsToBeAutoCorrected /* typedWordValid */,
autoCorrectionAvailable /* hasMinimalSuggestion */,
allowsToBeAutoCorrected /* allowsToBeAutoCorrected */,
- false /* isPunctuationSuggestions */);
- if (allowsToBeAutoCorrected && builder.size() > 1 && mAutoCorrectionThreshold > 0
- && Suggest.shouldBlockAutoCorrectionBySafetyNet(typedWord, builder.getWord(1))) {
- builder.setShouldBlockAutoCorrectionBySafetyNet();
- }
+ false /* isPunctuationSuggestions */,
+ shouldBlockAutoCorrectionBySatefyNet);
return builder;
}
diff --git a/java/src/com/android/inputmethod/latin/SuggestedWords.java b/java/src/com/android/inputmethod/latin/SuggestedWords.java
index 144e67482..03ff5de7b 100644
--- a/java/src/com/android/inputmethod/latin/SuggestedWords.java
+++ b/java/src/com/android/inputmethod/latin/SuggestedWords.java
@@ -25,21 +25,25 @@ import java.util.List;
public class SuggestedWords {
public static final SuggestedWords EMPTY = new SuggestedWords(false, false, false, false,
- Collections.<SuggestedWordInfo>emptyList());
+ false, Collections.<SuggestedWordInfo>emptyList());
public final boolean mTypedWordValid;
public final boolean mHasAutoCorrectionCandidate;
public final boolean mIsPunctuationSuggestions;
+ public final boolean mAllowsToBeAutoCorrected;
private final List<SuggestedWordInfo> mSuggestedWordInfoList;
- SuggestedWords(boolean typedWordValid,
- boolean hasAutoCorrectionCandidate, boolean isPunctuationSuggestions,
- boolean shouldBlockAutoCorrectionBySafetyNet,
- List<SuggestedWordInfo> suggestedWordInfoList) {
+ SuggestedWords(final boolean typedWordValid,
+ final boolean hasAutoCorrectionCandidate,
+ final boolean isPunctuationSuggestions,
+ final boolean shouldBlockAutoCorrectionBySafetyNet,
+ final boolean allowsToBeAutoCorrected,
+ final List<SuggestedWordInfo> suggestedWordInfoList) {
mTypedWordValid = typedWordValid;
mHasAutoCorrectionCandidate = hasAutoCorrectionCandidate
&& !shouldBlockAutoCorrectionBySafetyNet;
mIsPunctuationSuggestions = isPunctuationSuggestions;
+ mAllowsToBeAutoCorrected = allowsToBeAutoCorrected;
mSuggestedWordInfoList = suggestedWordInfoList;
}
@@ -76,7 +80,7 @@ public class SuggestedWords {
private final boolean mTypedWordValid;
private final boolean mHasMinimalSuggestion;
private final boolean mIsPunctuationSuggestions;
- private boolean mShouldBlockAutoCorrectionBySafetyNet;
+ private final boolean mShouldBlockAutoCorrectionBySafetyNet;
private final boolean mAllowsToBeAutoCorrected;
private final List<SuggestedWordInfo> mSuggestedWordInfoList;
@@ -84,12 +88,14 @@ public class SuggestedWords {
final boolean typedWordValid,
final boolean hasMinimalSuggestion,
final boolean allowsToBeAutoCorrected,
- final boolean isPunctuationSuggestions) {
+ final boolean isPunctuationSuggestions,
+ final boolean shouldBlockAutoCorrectionBySafetyNet) {
mSuggestedWordInfoList = suggestedWordInfoList;
mTypedWordValid = typedWordValid;
mHasMinimalSuggestion = hasMinimalSuggestion;
mAllowsToBeAutoCorrected = allowsToBeAutoCorrected;
mIsPunctuationSuggestions = isPunctuationSuggestions;
+ mShouldBlockAutoCorrectionBySafetyNet = shouldBlockAutoCorrectionBySafetyNet;
}
public static ArrayList<SuggestedWordInfo> getFromCharSequenceList(
@@ -110,11 +116,6 @@ public class SuggestedWords {
return result;
}
- public Builder setShouldBlockAutoCorrectionBySafetyNet() {
- mShouldBlockAutoCorrectionBySafetyNet = true;
- return this;
- }
-
// Should get rid of the first one (what the user typed previously) from suggestions
// and replace it with what the user currently typed.
public static ArrayList<SuggestedWordInfo> getTypedWordAndPreviousSuggestions(
@@ -138,7 +139,7 @@ public class SuggestedWords {
public SuggestedWords build() {
return new SuggestedWords(mTypedWordValid, mHasMinimalSuggestion,
mIsPunctuationSuggestions, mShouldBlockAutoCorrectionBySafetyNet,
- mSuggestedWordInfoList);
+ mAllowsToBeAutoCorrected, mSuggestedWordInfoList);
}
public int size() {
@@ -166,7 +167,7 @@ public class SuggestedWords {
}
public static class SuggestedWordInfo {
- private final CharSequence mWord;
+ public final CharSequence mWord;
private final CharSequence mDebugString;
private final boolean mPreviousSuggestedWord;
diff --git a/native/jni/com_android_inputmethod_keyboard_ProximityInfo.cpp b/native/jni/com_android_inputmethod_keyboard_ProximityInfo.cpp
index e47a64a9e..9eb437c06 100644
--- a/native/jni/com_android_inputmethod_keyboard_ProximityInfo.cpp
+++ b/native/jni/com_android_inputmethod_keyboard_ProximityInfo.cpp
@@ -50,7 +50,7 @@ static jlong latinime_Keyboard_setProximityInfo(JNIEnv *env, jobject object,
ProximityInfo *proximityInfo = new ProximityInfo(
localeStr, maxProximityCharsSize, displayWidth,
displayHeight, gridWidth, gridHeight, mostCommonkeyWidth,
- (const uint32_t*)proximityChars,
+ (const int32_t*)proximityChars,
keyCount, (const int32_t*)keyXCoordinates, (const int32_t*)keyYCoordinates,
(const int32_t*)keyWidths, (const int32_t*)keyHeights, (const int32_t*)keyCharCodes,
(const float*)sweetSpotCenterXs, (const float*)sweetSpotCenterYs,
diff --git a/native/src/additional_proximity_chars.cpp b/native/src/additional_proximity_chars.cpp
index 401c85aae..224f020f2 100644
--- a/native/src/additional_proximity_chars.cpp
+++ b/native/src/additional_proximity_chars.cpp
@@ -19,23 +19,23 @@
namespace latinime {
const std::string AdditionalProximityChars::LOCALE_EN_US("en");
-const uint32_t AdditionalProximityChars::EN_US_ADDITIONAL_A[EN_US_ADDITIONAL_A_SIZE] = {
+const int32_t AdditionalProximityChars::EN_US_ADDITIONAL_A[EN_US_ADDITIONAL_A_SIZE] = {
'e', 'i', 'o', 'u'
};
-const uint32_t AdditionalProximityChars::EN_US_ADDITIONAL_E[EN_US_ADDITIONAL_E_SIZE] = {
+const int32_t AdditionalProximityChars::EN_US_ADDITIONAL_E[EN_US_ADDITIONAL_E_SIZE] = {
'a', 'i', 'o', 'u'
};
-const uint32_t AdditionalProximityChars::EN_US_ADDITIONAL_I[EN_US_ADDITIONAL_I_SIZE] = {
+const int32_t AdditionalProximityChars::EN_US_ADDITIONAL_I[EN_US_ADDITIONAL_I_SIZE] = {
'a', 'e', 'o', 'u'
};
-const uint32_t AdditionalProximityChars::EN_US_ADDITIONAL_O[EN_US_ADDITIONAL_O_SIZE] = {
+const int32_t AdditionalProximityChars::EN_US_ADDITIONAL_O[EN_US_ADDITIONAL_O_SIZE] = {
'a', 'e', 'i', 'u'
};
-const uint32_t AdditionalProximityChars::EN_US_ADDITIONAL_U[EN_US_ADDITIONAL_U_SIZE] = {
+const int32_t AdditionalProximityChars::EN_US_ADDITIONAL_U[EN_US_ADDITIONAL_U_SIZE] = {
'a', 'e', 'i', 'o'
};
}
diff --git a/native/src/additional_proximity_chars.h b/native/src/additional_proximity_chars.h
index e0049d949..e0ecc0e1d 100644
--- a/native/src/additional_proximity_chars.h
+++ b/native/src/additional_proximity_chars.h
@@ -20,29 +20,31 @@
#include <stdint.h>
#include <string>
+#include "defines.h"
+
namespace latinime {
class AdditionalProximityChars {
private:
static const std::string LOCALE_EN_US;
static const int EN_US_ADDITIONAL_A_SIZE = 4;
- static const uint32_t EN_US_ADDITIONAL_A[];
+ static const int32_t EN_US_ADDITIONAL_A[];
static const int EN_US_ADDITIONAL_E_SIZE = 4;
- static const uint32_t EN_US_ADDITIONAL_E[];
+ static const int32_t EN_US_ADDITIONAL_E[];
static const int EN_US_ADDITIONAL_I_SIZE = 4;
- static const uint32_t EN_US_ADDITIONAL_I[];
+ static const int32_t EN_US_ADDITIONAL_I[];
static const int EN_US_ADDITIONAL_O_SIZE = 4;
- static const uint32_t EN_US_ADDITIONAL_O[];
+ static const int32_t EN_US_ADDITIONAL_O[];
static const int EN_US_ADDITIONAL_U_SIZE = 4;
- static const uint32_t EN_US_ADDITIONAL_U[];
+ static const int32_t EN_US_ADDITIONAL_U[];
- static bool isEnLocale(const std::string* locale_str) {
+ static bool isEnLocale(const std::string *locale_str) {
return locale_str && locale_str->size() >= LOCALE_EN_US.size()
- && locale_str->compare(0, LOCALE_EN_US.size(), LOCALE_EN_US);
+ && LOCALE_EN_US.compare(0, LOCALE_EN_US.size(), *locale_str);
}
public:
- static int getAdditionalCharsSize(const std::string* locale_str, const uint16_t c) {
+ static int getAdditionalCharsSize(const std::string* locale_str, const int32_t c) {
if (!isEnLocale(locale_str)) {
return 0;
}
@@ -62,7 +64,7 @@ class AdditionalProximityChars {
}
}
- static const uint32_t* getAdditionalChars(const std::string* locale_str, const uint32_t c) {
+ static const int32_t* getAdditionalChars(const std::string *locale_str, const int32_t c) {
if (!isEnLocale(locale_str)) {
return 0;
}
@@ -82,7 +84,7 @@ class AdditionalProximityChars {
}
}
- static bool hasAdditionalChars(const std::string* locale_str, const uint32_t c) {
+ static bool hasAdditionalChars(const std::string *locale_str, const int32_t c) {
return getAdditionalCharsSize(locale_str, c) > 0;
}
};
diff --git a/native/src/defines.h b/native/src/defines.h
index afa1e0404..b0dbffa0f 100644
--- a/native/src/defines.h
+++ b/native/src/defines.h
@@ -115,6 +115,7 @@ static inline void prof_out(void) {
#define DEBUG_NODE DEBUG_DICT_FULL
#define DEBUG_TRACE DEBUG_DICT_FULL
#define DEBUG_PROXIMITY_INFO false
+#define DEBUG_PROXIMITY_CHARS false
#define DEBUG_CORRECTION false
#define DEBUG_CORRECTION_FREQ false
#define DEBUG_WORDS_PRIORITY_QUEUE false
@@ -128,6 +129,7 @@ static inline void prof_out(void) {
#define DEBUG_NODE false
#define DEBUG_TRACE false
#define DEBUG_PROXIMITY_INFO false
+#define DEBUG_PROXIMITY_CHARS false
#define DEBUG_CORRECTION false
#define DEBUG_CORRECTION_FREQ false
#define DEBUG_WORDS_PRIORITY_QUEUE false
diff --git a/native/src/proximity_info.cpp b/native/src/proximity_info.cpp
index e590740d2..dd60ed62c 100644
--- a/native/src/proximity_info.cpp
+++ b/native/src/proximity_info.cpp
@@ -37,7 +37,7 @@ inline void copyOrFillZero(void *to, const void *from, size_t size) {
ProximityInfo::ProximityInfo(const std::string localeStr, const int maxProximityCharsSize,
const int keyboardWidth, const int keyboardHeight, const int gridWidth,
const int gridHeight, const int mostCommonKeyWidth,
- const uint32_t *proximityCharsArray, const int keyCount, const int32_t *keyXCoordinates,
+ const int32_t *proximityCharsArray, const int keyCount, const int32_t *keyXCoordinates,
const int32_t *keyYCoordinates, const int32_t *keyWidths, const int32_t *keyHeights,
const int32_t *keyCharCodes, const float *sweetSpotCenterXs, const float *sweetSpotCenterYs,
const float *sweetSpotRadii)
@@ -54,7 +54,7 @@ ProximityInfo::ProximityInfo(const std::string localeStr, const int maxProximity
mInputXCoordinates(0), mInputYCoordinates(0),
mTouchPositionCorrectionEnabled(false) {
const int proximityGridLength = GRID_WIDTH * GRID_HEIGHT * MAX_PROXIMITY_CHARS_SIZE;
- mProximityCharsArray = new uint32_t[proximityGridLength];
+ mProximityCharsArray = new int32_t[proximityGridLength];
if (DEBUG_PROXIMITY_INFO) {
AKLOGI("Create proximity info array %d", proximityGridLength);
}
@@ -148,35 +148,43 @@ int ProximityInfo::squaredDistanceToEdge(const int keyId, const int x, const int
}
void ProximityInfo::calculateNearbyKeyCodes(
- const int x, const int y, const uint32_t primaryKey, int *inputCodes) {
+ const int x, const int y, const int32_t primaryKey, int *inputCodes) {
int insertPos = 0;
inputCodes[insertPos++] = primaryKey;
const int startIndex = getStartIndexFromCoordinates(x, y);
for (int i = 0; i < MAX_PROXIMITY_CHARS_SIZE; ++i) {
- const uint32_t c = mProximityCharsArray[startIndex + i];
+ const int32_t c = mProximityCharsArray[startIndex + i];
if (c < KEYCODE_SPACE || c == primaryKey) {
continue;
}
- for (int j = 0; j < KEY_COUNT; ++j) {
- const bool onKey = isOnKey(j, x, y);
- const int distance = squaredDistanceToEdge(j, x, y);
- if (onKey || distance < MOST_COMMON_KEY_WIDTH_SQUARE) {
- inputCodes[insertPos++] = c;
+ int keyIndex = getKeyIndex(c);
+ const bool onKey = isOnKey(keyIndex, x, y);
+ const int distance = squaredDistanceToEdge(keyIndex, x, y);
+ if (onKey || distance < MOST_COMMON_KEY_WIDTH_SQUARE) {
+ inputCodes[insertPos++] = c;
+ if (insertPos >= MAX_PROXIMITY_CHARS_SIZE) {
+ if (DEBUG_DICT) {
+ assert(false);
+ }
+ return;
}
}
}
- const int existingProximitySize = insertPos;
- for (int i = 0; i < existingProximitySize; ++i) {
- const uint32_t c = inputCodes[i];
- const int additionalProximitySize =
- AdditionalProximityChars::hasAdditionalChars(&mLocaleStr, c);
- if (additionalProximitySize <= 0) {
- continue;
+ inputCodes[insertPos++] = ADDITIONAL_PROXIMITY_CHAR_DELIMITER_CODE;
+ if (insertPos >= MAX_PROXIMITY_CHARS_SIZE) {
+ if (DEBUG_DICT) {
+ assert(false);
}
- const uint32_t* additionalProximityChars =
- AdditionalProximityChars::getAdditionalChars(&mLocaleStr, c);
+ return;
+ }
+
+ const int additionalProximitySize =
+ AdditionalProximityChars::getAdditionalCharsSize(&mLocaleStr, primaryKey);
+ if (additionalProximitySize > 0) {
+ const int32_t* additionalProximityChars =
+ AdditionalProximityChars::getAdditionalChars(&mLocaleStr, primaryKey);
for (int j = 0; j < additionalProximitySize; ++j) {
- const uint32_t ac = additionalProximityChars[j];
+ const int32_t ac = additionalProximityChars[j];
int k = 0;
for (; k < insertPos; ++k) {
if ((int)ac == inputCodes[k]) {
@@ -187,9 +195,16 @@ void ProximityInfo::calculateNearbyKeyCodes(
continue;
}
inputCodes[insertPos++] = ac;
+ if (insertPos >= MAX_PROXIMITY_CHARS_SIZE) {
+ if (DEBUG_DICT) {
+ assert(false);
+ }
+ return;
+ }
}
}
- // TODO: calculate additional chars
+ // Add a delimiter for the proximity characters
+ inputCodes[insertPos] = 0;
}
// TODO: Calculate nearby codes here.
@@ -205,8 +220,30 @@ void ProximityInfo::setInputParams(const int* inputCodes, const int inputLength,
mPrimaryInputWord[i] = getPrimaryCharAt(i);
}
mPrimaryInputWord[inputLength] = 0;
+ if (DEBUG_PROXIMITY_CHARS) {
+ AKLOGI("--- setInputParams");
+ }
for (int i = 0; i < mInputLength; ++i) {
const int *proximityChars = getProximityCharsAt(i);
+ const int primaryKey = proximityChars[0];
+ const int x = xCoordinates[i];
+ const int y = yCoordinates[i];
+ if (DEBUG_PROXIMITY_CHARS) {
+ int a = x + y + primaryKey;
+ a += 0;
+ AKLOGI("--- Primary = %c, x = %d, y = %d", primaryKey, x, y);
+ // Keep debug code just in case
+ //int proximities[50];
+ //for (int m = 0; m < 50; ++m) {
+ //proximities[m] = 0;
+ //}
+ //calculateNearbyKeyCodes(x, y, primaryKey, proximities);
+ //for (int l = 0; l < 50 && proximities[l] > 0; ++l) {
+ //if (DEBUG_PROXIMITY_CHARS) {
+ //AKLOGI("--- native Proximity (%d) = %c", l, proximities[l]);
+ //}
+ //}
+ }
for (int j = 0; j < MAX_PROXIMITY_CHARS_SIZE && proximityChars[j] > 0; ++j) {
const int currentChar = proximityChars[j];
const int keyIndex = getKeyIndex(currentChar);
@@ -219,6 +256,9 @@ void ProximityInfo::setInputParams(const int* inputCodes, const int inputLength,
? EQUIVALENT_CHAR_WITHOUT_DISTANCE_INFO
: PROXIMITY_CHAR_WITHOUT_DISTANCE_INFO;
}
+ if (DEBUG_PROXIMITY_CHARS) {
+ AKLOGI("--- Proximity (%d) = %c", j, currentChar);
+ }
}
}
}
diff --git a/native/src/proximity_info.h b/native/src/proximity_info.h
index 8c342e0ef..1a47aff84 100644
--- a/native/src/proximity_info.h
+++ b/native/src/proximity_info.h
@@ -47,7 +47,7 @@ class ProximityInfo {
ProximityInfo(const std::string localeStr, const int maxProximityCharsSize,
const int keyboardWidth, const int keybaordHeight, const int gridWidth,
const int gridHeight, const int mostCommonkeyWidth,
- const uint32_t *proximityCharsArray, const int keyCount, const int32_t *keyXCoordinates,
+ const int32_t *proximityCharsArray, const int keyCount, const int32_t *keyXCoordinates,
const int32_t *keyYCoordinates, const int32_t *keyWidths, const int32_t *keyHeights,
const int32_t *keyCharCodes, const float *sweetSpotCenterXs,
const float *sweetSpotCenterYs, const float *sweetSpotRadii);
@@ -92,7 +92,7 @@ class ProximityInfo {
bool isOnKey(const int keyId, const int x, const int y);
int squaredDistanceToEdge(const int keyId, const int x, const int y);
void calculateNearbyKeyCodes(
- const int x, const int y, const uint32_t primaryKey, int *inputCodes);
+ const int x, const int y, const int32_t primaryKey, int *inputCodes);
const int MAX_PROXIMITY_CHARS_SIZE;
const int KEYBOARD_WIDTH;
@@ -109,7 +109,7 @@ class ProximityInfo {
const int *mInputXCoordinates;
const int *mInputYCoordinates;
bool mTouchPositionCorrectionEnabled;
- uint32_t *mProximityCharsArray;
+ int32_t *mProximityCharsArray;
int *mNormalizedSquaredDistances;
int32_t mKeyXCoordinates[MAX_KEY_COUNT_IN_A_KEYBOARD];
int32_t mKeyYCoordinates[MAX_KEY_COUNT_IN_A_KEYBOARD];