Loading java/src/com/android/inputmethod/keyboard/ProximityInfo.java +13 −10 Original line number Diff line number Diff line Loading @@ -30,8 +30,7 @@ public final class ProximityInfo { private static final String TAG = ProximityInfo.class.getSimpleName(); private static final boolean DEBUG = false; /** MAX_PROXIMITY_CHARS_SIZE must be the same as MAX_PROXIMITY_CHARS_SIZE_INTERNAL * in defines.h */ // Must be equal to MAX_PROXIMITY_CHARS_SIZE in native/jni/src/defines.h public static final int MAX_PROXIMITY_CHARS_SIZE = 16; /** Number of key widths from current touch point to search for nearest keys. */ private static final float SEARCH_DISTANCE = 1.2f; Loading Loading @@ -88,9 +87,13 @@ public final class ProximityInfo { final int rowSize, final int gridWidth, final int gridHeight) { final ProximityInfo spellCheckerProximityInfo = createDummyProximityInfo(); spellCheckerProximityInfo.mNativeProximityInfo = spellCheckerProximityInfo.setProximityInfoNative("", rowSize, gridWidth, gridHeight, gridWidth, gridHeight, 1, proximityCharsArray, 0, null, null, null, null, null, null, null, null); spellCheckerProximityInfo.setProximityInfoNative("" /* locale */, gridWidth /* displayWidth */, gridHeight /* displayHeight */, gridWidth, gridHeight, 1 /* mostCommonKeyWidth */, proximityCharsArray, 0 /* keyCount */, null /*keyXCoordinates */, null /* keyYCoordinates */, null /* keyWidths */, null /* keyHeights */, null /* keyCharCodes */, null /* sweetSpotCenterXs */, null /* sweetSpotCenterYs */, null /* sweetSpotRadii */); return spellCheckerProximityInfo; } Loading @@ -100,11 +103,11 @@ public final class ProximityInfo { } // TODO: Stop passing proximityCharsArray private static native long setProximityInfoNative(String locale, int maxProximityCharsSize, private static native long setProximityInfoNative(String locale, int displayWidth, int displayHeight, int gridWidth, int gridHeight, int mostCommonKeyWidth, int[] proximityCharsArray, int keyCount, int[] keyXCoordinates, int[] keyYCoordinates, int[] keyWidths, int[] keyHeights, int[] keyCharCodes, float[] sweetSpotCenterX, float[] sweetSpotCenterY, float[] sweetSpotRadii); float[] sweetSpotCenterXs, float[] sweetSpotCenterYs, float[] sweetSpotRadii); private static native void releaseProximityInfoNative(long nativeProximityInfo); Loading Loading @@ -230,9 +233,9 @@ public final class ProximityInfo { } // TODO: Stop passing proximityCharsArray return setProximityInfoNative(mLocaleStr, MAX_PROXIMITY_CHARS_SIZE, mKeyboardMinWidth, mKeyboardHeight, mGridWidth, mGridHeight, mMostCommonKeyWidth, proximityCharsArray, keyCount, keyXCoordinates, keyYCoordinates, keyWidths, keyHeights, keyCharCodes, return setProximityInfoNative(mLocaleStr, mKeyboardMinWidth, mKeyboardHeight, mGridWidth, mGridHeight, mMostCommonKeyWidth, proximityCharsArray, keyCount, keyXCoordinates, keyYCoordinates, keyWidths, keyHeights, keyCharCodes, sweetSpotCenterXs, sweetSpotCenterYs, sweetSpotRadii); } Loading java/src/com/android/inputmethod/latin/BinaryDictionary.java +2 −2 Original line number Diff line number Diff line Loading @@ -35,9 +35,9 @@ public final class BinaryDictionary extends Dictionary { public static final String DICTIONARY_PACK_AUTHORITY = "com.android.inputmethod.latin.dictionarypack"; // Must be identical to MAX_WORD_LENGTH in native/jni/src/defines.h // Must be equal to MAX_WORD_LENGTH in native/jni/src/defines.h private static final int MAX_WORD_LENGTH = Constants.Dictionary.MAX_WORD_LENGTH; // Must be identical to MAX_RESULTS in native/jni/src/defines.h // Must be equal to MAX_RESULTS in native/jni/src/defines.h private static final int MAX_RESULTS = 18; private long mNativeDict; Loading java/src/com/android/inputmethod/latin/Constants.java +1 −1 Original line number Diff line number Diff line Loading @@ -127,7 +127,7 @@ public final class Constants { } public static final class Dictionary { // Must be identical to MAX_WORD_LENGTH in native/jni/src/defines.h // Must be equal to MAX_WORD_LENGTH in native/jni/src/defines.h public static final int MAX_WORD_LENGTH = 48; private Dictionary() { Loading native/jni/com_android_inputmethod_keyboard_ProximityInfo.cpp +6 −6 Original line number Diff line number Diff line Loading @@ -25,14 +25,14 @@ namespace latinime { static jlong latinime_Keyboard_setProximityInfo(JNIEnv *env, jclass clazz, jstring localeJStr, jint maxProximityCharsSize, jint displayWidth, jint displayHeight, jint gridWidth, jint gridHeight, jint mostCommonkeyWidth, jintArray proximityChars, jint keyCount, jint displayWidth, jint displayHeight, jint gridWidth, jint gridHeight, jint mostCommonkeyWidth, jintArray proximityChars, jint keyCount, jintArray keyXCoordinates, jintArray keyYCoordinates, jintArray keyWidths, jintArray keyHeights, jintArray keyCharCodes, jfloatArray sweetSpotCenterXs, jfloatArray sweetSpotCenterYs, jfloatArray sweetSpotRadii) { ProximityInfo *proximityInfo = new ProximityInfo(env, localeJStr, maxProximityCharsSize, displayWidth, displayHeight, gridWidth, gridHeight, mostCommonkeyWidth, proximityChars, keyCount, keyXCoordinates, keyYCoordinates, keyWidths, keyHeights, keyCharCodes, ProximityInfo *proximityInfo = new ProximityInfo(env, localeJStr, displayWidth, displayHeight, gridWidth, gridHeight, mostCommonkeyWidth, proximityChars, keyCount, keyXCoordinates, keyYCoordinates, keyWidths, keyHeights, keyCharCodes, sweetSpotCenterXs, sweetSpotCenterYs, sweetSpotRadii); return reinterpret_cast<jlong>(proximityInfo); } Loading @@ -43,7 +43,7 @@ static void latinime_Keyboard_release(JNIEnv *env, jclass clazz, jlong proximity } static JNINativeMethod sMethods[] = { {"setProximityInfoNative", "(Ljava/lang/String;IIIIII[II[I[I[I[I[I[F[F[F)J", {"setProximityInfoNative", "(Ljava/lang/String;IIIII[II[I[I[I[I[I[F[F[F)J", reinterpret_cast<void *>(latinime_Keyboard_setProximityInfo)}, {"releaseProximityInfoNative", "(J)V", reinterpret_cast<void *>(latinime_Keyboard_release)} }; Loading native/jni/src/defines.h +6 −10 Original line number Diff line number Diff line Loading @@ -28,10 +28,13 @@ #define AK_FORCE_INLINE inline #endif // defined(FLAG_DO_PROFILE) || defined(FLAG_DBG) // Must be identical to Constants.Dictionary.MAX_WORD_LENGTH in Java // Must be equal to Constants.Dictionary.MAX_WORD_LENGTH in Java #define MAX_WORD_LENGTH 48 // Must be identical to BinaryDictionary.MAX_RESULTS in Java // Must be equal to BinaryDictionary.MAX_RESULTS in Java #define MAX_RESULTS 18 // Must be equal to ProximityInfo.MAX_PROXIMITY_CHARS_SIZE in Java #define MAX_PROXIMITY_CHARS_SIZE 16 #define ADDITIONAL_PROXIMITY_CHAR_DELIMITER_CODE 2 #if defined(FLAG_DO_PROFILE) || defined(FLAG_DBG) #include <android/log.h> Loading Loading @@ -249,6 +252,7 @@ static inline void prof_out(void) { #define S_INT_MIN (-2147483647 - 1) // -(1 << 31) #endif #define M_PI_F 3.14159265f #define MAX_PERCENTILE 100 // Number of base-10 digits in the largest integer + 1 to leave room for a zero terminator. Loading Loading @@ -325,12 +329,6 @@ static inline void prof_out(void) { #define MAX_FREQ 255 #define MAX_BIGRAM_FREQ 15 // This must be the same as ProximityInfo#MAX_PROXIMITY_CHARS_SIZE, currently it's 16. #define MAX_PROXIMITY_CHARS_SIZE_INTERNAL 16 // This must be equal to ADDITIONAL_PROXIMITY_CHAR_DELIMITER_CODE in KeyDetector.java #define ADDITIONAL_PROXIMITY_CHAR_DELIMITER_CODE 2 // Assuming locale strings such as en_US, sr-Latn etc. #define MAX_LOCALE_STRING_LENGTH 10 Loading Loading @@ -395,8 +393,6 @@ static inline void prof_out(void) { template<typename T> inline T min(T a, T b) { return a < b ? a : b; } template<typename T> inline T max(T a, T b) { return a > b ? a : b; } #define M_PI_F 3.14159265f #define NELEMS(x) (sizeof(x) / sizeof((x)[0])) // The ratio of neutral area radius to sweet spot radius. Loading Loading
java/src/com/android/inputmethod/keyboard/ProximityInfo.java +13 −10 Original line number Diff line number Diff line Loading @@ -30,8 +30,7 @@ public final class ProximityInfo { private static final String TAG = ProximityInfo.class.getSimpleName(); private static final boolean DEBUG = false; /** MAX_PROXIMITY_CHARS_SIZE must be the same as MAX_PROXIMITY_CHARS_SIZE_INTERNAL * in defines.h */ // Must be equal to MAX_PROXIMITY_CHARS_SIZE in native/jni/src/defines.h public static final int MAX_PROXIMITY_CHARS_SIZE = 16; /** Number of key widths from current touch point to search for nearest keys. */ private static final float SEARCH_DISTANCE = 1.2f; Loading Loading @@ -88,9 +87,13 @@ public final class ProximityInfo { final int rowSize, final int gridWidth, final int gridHeight) { final ProximityInfo spellCheckerProximityInfo = createDummyProximityInfo(); spellCheckerProximityInfo.mNativeProximityInfo = spellCheckerProximityInfo.setProximityInfoNative("", rowSize, gridWidth, gridHeight, gridWidth, gridHeight, 1, proximityCharsArray, 0, null, null, null, null, null, null, null, null); spellCheckerProximityInfo.setProximityInfoNative("" /* locale */, gridWidth /* displayWidth */, gridHeight /* displayHeight */, gridWidth, gridHeight, 1 /* mostCommonKeyWidth */, proximityCharsArray, 0 /* keyCount */, null /*keyXCoordinates */, null /* keyYCoordinates */, null /* keyWidths */, null /* keyHeights */, null /* keyCharCodes */, null /* sweetSpotCenterXs */, null /* sweetSpotCenterYs */, null /* sweetSpotRadii */); return spellCheckerProximityInfo; } Loading @@ -100,11 +103,11 @@ public final class ProximityInfo { } // TODO: Stop passing proximityCharsArray private static native long setProximityInfoNative(String locale, int maxProximityCharsSize, private static native long setProximityInfoNative(String locale, int displayWidth, int displayHeight, int gridWidth, int gridHeight, int mostCommonKeyWidth, int[] proximityCharsArray, int keyCount, int[] keyXCoordinates, int[] keyYCoordinates, int[] keyWidths, int[] keyHeights, int[] keyCharCodes, float[] sweetSpotCenterX, float[] sweetSpotCenterY, float[] sweetSpotRadii); float[] sweetSpotCenterXs, float[] sweetSpotCenterYs, float[] sweetSpotRadii); private static native void releaseProximityInfoNative(long nativeProximityInfo); Loading Loading @@ -230,9 +233,9 @@ public final class ProximityInfo { } // TODO: Stop passing proximityCharsArray return setProximityInfoNative(mLocaleStr, MAX_PROXIMITY_CHARS_SIZE, mKeyboardMinWidth, mKeyboardHeight, mGridWidth, mGridHeight, mMostCommonKeyWidth, proximityCharsArray, keyCount, keyXCoordinates, keyYCoordinates, keyWidths, keyHeights, keyCharCodes, return setProximityInfoNative(mLocaleStr, mKeyboardMinWidth, mKeyboardHeight, mGridWidth, mGridHeight, mMostCommonKeyWidth, proximityCharsArray, keyCount, keyXCoordinates, keyYCoordinates, keyWidths, keyHeights, keyCharCodes, sweetSpotCenterXs, sweetSpotCenterYs, sweetSpotRadii); } Loading
java/src/com/android/inputmethod/latin/BinaryDictionary.java +2 −2 Original line number Diff line number Diff line Loading @@ -35,9 +35,9 @@ public final class BinaryDictionary extends Dictionary { public static final String DICTIONARY_PACK_AUTHORITY = "com.android.inputmethod.latin.dictionarypack"; // Must be identical to MAX_WORD_LENGTH in native/jni/src/defines.h // Must be equal to MAX_WORD_LENGTH in native/jni/src/defines.h private static final int MAX_WORD_LENGTH = Constants.Dictionary.MAX_WORD_LENGTH; // Must be identical to MAX_RESULTS in native/jni/src/defines.h // Must be equal to MAX_RESULTS in native/jni/src/defines.h private static final int MAX_RESULTS = 18; private long mNativeDict; Loading
java/src/com/android/inputmethod/latin/Constants.java +1 −1 Original line number Diff line number Diff line Loading @@ -127,7 +127,7 @@ public final class Constants { } public static final class Dictionary { // Must be identical to MAX_WORD_LENGTH in native/jni/src/defines.h // Must be equal to MAX_WORD_LENGTH in native/jni/src/defines.h public static final int MAX_WORD_LENGTH = 48; private Dictionary() { Loading
native/jni/com_android_inputmethod_keyboard_ProximityInfo.cpp +6 −6 Original line number Diff line number Diff line Loading @@ -25,14 +25,14 @@ namespace latinime { static jlong latinime_Keyboard_setProximityInfo(JNIEnv *env, jclass clazz, jstring localeJStr, jint maxProximityCharsSize, jint displayWidth, jint displayHeight, jint gridWidth, jint gridHeight, jint mostCommonkeyWidth, jintArray proximityChars, jint keyCount, jint displayWidth, jint displayHeight, jint gridWidth, jint gridHeight, jint mostCommonkeyWidth, jintArray proximityChars, jint keyCount, jintArray keyXCoordinates, jintArray keyYCoordinates, jintArray keyWidths, jintArray keyHeights, jintArray keyCharCodes, jfloatArray sweetSpotCenterXs, jfloatArray sweetSpotCenterYs, jfloatArray sweetSpotRadii) { ProximityInfo *proximityInfo = new ProximityInfo(env, localeJStr, maxProximityCharsSize, displayWidth, displayHeight, gridWidth, gridHeight, mostCommonkeyWidth, proximityChars, keyCount, keyXCoordinates, keyYCoordinates, keyWidths, keyHeights, keyCharCodes, ProximityInfo *proximityInfo = new ProximityInfo(env, localeJStr, displayWidth, displayHeight, gridWidth, gridHeight, mostCommonkeyWidth, proximityChars, keyCount, keyXCoordinates, keyYCoordinates, keyWidths, keyHeights, keyCharCodes, sweetSpotCenterXs, sweetSpotCenterYs, sweetSpotRadii); return reinterpret_cast<jlong>(proximityInfo); } Loading @@ -43,7 +43,7 @@ static void latinime_Keyboard_release(JNIEnv *env, jclass clazz, jlong proximity } static JNINativeMethod sMethods[] = { {"setProximityInfoNative", "(Ljava/lang/String;IIIIII[II[I[I[I[I[I[F[F[F)J", {"setProximityInfoNative", "(Ljava/lang/String;IIIII[II[I[I[I[I[I[F[F[F)J", reinterpret_cast<void *>(latinime_Keyboard_setProximityInfo)}, {"releaseProximityInfoNative", "(J)V", reinterpret_cast<void *>(latinime_Keyboard_release)} }; Loading
native/jni/src/defines.h +6 −10 Original line number Diff line number Diff line Loading @@ -28,10 +28,13 @@ #define AK_FORCE_INLINE inline #endif // defined(FLAG_DO_PROFILE) || defined(FLAG_DBG) // Must be identical to Constants.Dictionary.MAX_WORD_LENGTH in Java // Must be equal to Constants.Dictionary.MAX_WORD_LENGTH in Java #define MAX_WORD_LENGTH 48 // Must be identical to BinaryDictionary.MAX_RESULTS in Java // Must be equal to BinaryDictionary.MAX_RESULTS in Java #define MAX_RESULTS 18 // Must be equal to ProximityInfo.MAX_PROXIMITY_CHARS_SIZE in Java #define MAX_PROXIMITY_CHARS_SIZE 16 #define ADDITIONAL_PROXIMITY_CHAR_DELIMITER_CODE 2 #if defined(FLAG_DO_PROFILE) || defined(FLAG_DBG) #include <android/log.h> Loading Loading @@ -249,6 +252,7 @@ static inline void prof_out(void) { #define S_INT_MIN (-2147483647 - 1) // -(1 << 31) #endif #define M_PI_F 3.14159265f #define MAX_PERCENTILE 100 // Number of base-10 digits in the largest integer + 1 to leave room for a zero terminator. Loading Loading @@ -325,12 +329,6 @@ static inline void prof_out(void) { #define MAX_FREQ 255 #define MAX_BIGRAM_FREQ 15 // This must be the same as ProximityInfo#MAX_PROXIMITY_CHARS_SIZE, currently it's 16. #define MAX_PROXIMITY_CHARS_SIZE_INTERNAL 16 // This must be equal to ADDITIONAL_PROXIMITY_CHAR_DELIMITER_CODE in KeyDetector.java #define ADDITIONAL_PROXIMITY_CHAR_DELIMITER_CODE 2 // Assuming locale strings such as en_US, sr-Latn etc. #define MAX_LOCALE_STRING_LENGTH 10 Loading Loading @@ -395,8 +393,6 @@ static inline void prof_out(void) { template<typename T> inline T min(T a, T b) { return a < b ? a : b; } template<typename T> inline T max(T a, T b) { return a > b ? a : b; } #define M_PI_F 3.14159265f #define NELEMS(x) (sizeof(x) / sizeof((x)[0])) // The ratio of neutral area radius to sweet spot radius. Loading