aboutsummaryrefslogtreecommitdiffstats
path: root/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
diff options
context:
space:
mode:
authorsatok <satok@google.com>2010-12-27 20:13:16 +0900
committersatok <satok@google.com>2010-12-27 20:13:16 +0900
commitd12def6dc8ba3a2f47b90e6d5d442f315152c6d4 (patch)
tree7274b29f518f94d31cd5c995d1b46bfc323de818 /native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
parentb80f171623a11bceb99b563594162d0034b9bde8 (diff)
parentbfe2b534457d946645d483e311249787ba4fc3ae (diff)
downloadlatinime-d12def6dc8ba3a2f47b90e6d5d442f315152c6d4.tar.gz
latinime-d12def6dc8ba3a2f47b90e6d5d442f315152c6d4.tar.xz
latinime-d12def6dc8ba3a2f47b90e6d5d442f315152c6d4.zip
Merge remote branch 'goog/master' into merge
Conflicts: java/res/values-cs/strings.xml java/res/values-da/strings.xml java/res/values-de/strings.xml java/res/values-el/strings.xml java/res/values-es-rUS/strings.xml java/res/values-es/strings.xml java/res/values-fr/strings.xml java/res/values-it/strings.xml java/res/values-ja/strings.xml java/res/values-ko/strings.xml java/res/values-nb/strings.xml java/res/values-nl/strings.xml java/res/values-pl/strings.xml java/res/values-pt-rPT/strings.xml java/res/values-pt/strings.xml java/res/values-ru/strings.xml java/res/values-sv/strings.xml java/res/values-tr/strings.xml java/res/values-xlarge/dimens.xml java/res/values-zh-rCN/strings.xml java/res/values-zh-rTW/strings.xml java/res/values/bools.xml java/res/xml/kbd_qwerty_rows.xml java/res/xml/method.xml java/res/xml/prefs.xml Change-Id: I8768d16965e6e82c14ee742b9ada56438497eb86
Diffstat (limited to 'native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp')
-rw-r--r--native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp82
1 files changed, 33 insertions, 49 deletions
diff --git a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
index bf7ec0d1a..9948448f7 100644
--- a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
+++ b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
@@ -15,13 +15,11 @@
** limitations under the License.
*/
-#include <stdio.h>
-#include <assert.h>
-#include <unistd.h>
-#include <fcntl.h>
-
-#include <jni.h>
#include "dictionary.h"
+#include "jni.h"
+
+#include <assert.h>
+#include <stdio.h>
// ----------------------------------------------------------------------------
@@ -30,8 +28,7 @@ using namespace latinime;
//
// helper function to throw an exception
//
-static void throwException(JNIEnv *env, const char* ex, const char* fmt, int data)
-{
+static void throwException(JNIEnv *env, const char* ex, const char* fmt, int data) {
if (jclass cls = env->FindClass(ex)) {
char msg[1000];
sprintf(msg, fmt, data);
@@ -40,24 +37,22 @@ static void throwException(JNIEnv *env, const char* ex, const char* fmt, int dat
}
}
-static jint latinime_BinaryDictionary_open
- (JNIEnv *env, jobject object, jobject dictDirectBuffer,
- jint typedLetterMultiplier, jint fullWordMultiplier)
-{
+static jint latinime_BinaryDictionary_open(JNIEnv *env, jobject object, jobject dictDirectBuffer,
+ jint typedLetterMultiplier, jint fullWordMultiplier, jint maxWordLength, jint maxWords,
+ jint maxAlternatives) {
void *dict = env->GetDirectBufferAddress(dictDirectBuffer);
if (dict == NULL) {
fprintf(stderr, "DICT: Dictionary buffer is null\n");
return 0;
}
- Dictionary *dictionary = new Dictionary(dict, typedLetterMultiplier, fullWordMultiplier);
+ Dictionary *dictionary = new Dictionary(dict, typedLetterMultiplier, fullWordMultiplier,
+ maxWordLength, maxWords, maxAlternatives);
return (jint) dictionary;
}
-static int latinime_BinaryDictionary_getSuggestions(
- JNIEnv *env, jobject object, jint dict, jintArray inputArray, jint arraySize,
- jcharArray outputArray, jintArray frequencyArray, jint maxWordLength, jint maxWords,
- jint maxAlternatives, jint skipPos, jintArray nextLettersArray, jint nextLettersSize)
-{
+static int latinime_BinaryDictionary_getSuggestions(JNIEnv *env, jobject object, jint dict,
+ jintArray inputArray, jint arraySize, jcharArray outputArray, jintArray frequencyArray,
+ jintArray nextLettersArray, jint nextLettersSize) {
Dictionary *dictionary = (Dictionary*) dict;
if (dictionary == NULL) return 0;
@@ -68,8 +63,7 @@ static int latinime_BinaryDictionary_getSuggestions(
: NULL;
int count = dictionary->getSuggestions(inputCodes, arraySize, (unsigned short*) outputChars,
- frequencies, maxWordLength, maxWords, maxAlternatives, skipPos, nextLetters,
- nextLettersSize);
+ frequencies, nextLetters, nextLettersSize);
env->ReleaseIntArrayElements(frequencyArray, frequencies, 0);
env->ReleaseIntArrayElements(inputArray, inputCodes, JNI_ABORT);
@@ -81,11 +75,10 @@ static int latinime_BinaryDictionary_getSuggestions(
return count;
}
-static int latinime_BinaryDictionary_getBigrams
- (JNIEnv *env, jobject object, jint dict, jcharArray prevWordArray, jint prevWordLength,
- jintArray inputArray, jint inputArraySize, jcharArray outputArray,
- jintArray frequencyArray, jint maxWordLength, jint maxBigrams, jint maxAlternatives)
-{
+static int latinime_BinaryDictionary_getBigrams(JNIEnv *env, jobject object, jint dict,
+ jcharArray prevWordArray, jint prevWordLength, jintArray inputArray, jint inputArraySize,
+ jcharArray outputArray, jintArray frequencyArray, jint maxWordLength, jint maxBigrams,
+ jint maxAlternatives) {
Dictionary *dictionary = (Dictionary*) dict;
if (dictionary == NULL) return 0;
@@ -107,9 +100,8 @@ static int latinime_BinaryDictionary_getBigrams
}
-static jboolean latinime_BinaryDictionary_isValidWord
- (JNIEnv *env, jobject object, jint dict, jcharArray wordArray, jint wordLength)
-{
+static jboolean latinime_BinaryDictionary_isValidWord(JNIEnv *env, jobject object, jint dict,
+ jcharArray wordArray, jint wordLength) {
Dictionary *dictionary = (Dictionary*) dict;
if (dictionary == NULL) return (jboolean) false;
@@ -120,33 +112,27 @@ static jboolean latinime_BinaryDictionary_isValidWord
return result;
}
-static void latinime_BinaryDictionary_close
- (JNIEnv *env, jobject object, jint dict)
-{
- Dictionary *dictionary = (Dictionary*) dict;
+static void latinime_BinaryDictionary_close(JNIEnv *env, jobject object, jint dict) {
delete (Dictionary*) dict;
}
// ----------------------------------------------------------------------------
static JNINativeMethod gMethods[] = {
- {"openNative", "(Ljava/nio/ByteBuffer;II)I",
- (void*)latinime_BinaryDictionary_open},
- {"closeNative", "(I)V", (void*)latinime_BinaryDictionary_close},
- {"getSuggestionsNative", "(I[II[C[IIIII[II)I", (void*)latinime_BinaryDictionary_getSuggestions},
- {"isValidWordNative", "(I[CI)Z", (void*)latinime_BinaryDictionary_isValidWord},
- {"getBigramsNative", "(I[CI[II[C[IIII)I", (void*)latinime_BinaryDictionary_getBigrams}
+ {"openNative", "(Ljava/nio/ByteBuffer;IIIII)I", (void*)latinime_BinaryDictionary_open},
+ {"closeNative", "(I)V", (void*)latinime_BinaryDictionary_close},
+ {"getSuggestionsNative", "(I[II[C[I[II)I", (void*)latinime_BinaryDictionary_getSuggestions},
+ {"isValidWordNative", "(I[CI)Z", (void*)latinime_BinaryDictionary_isValidWord},
+ {"getBigramsNative", "(I[CI[II[C[IIII)I", (void*)latinime_BinaryDictionary_getBigrams}
};
-static int registerNativeMethods(JNIEnv* env, const char* className,
- JNINativeMethod* gMethods, int numMethods)
-{
+static int registerNativeMethods(JNIEnv* env, const char* className, JNINativeMethod* gMethods,
+ int numMethods) {
jclass clazz;
clazz = env->FindClass(className);
if (clazz == NULL) {
- fprintf(stderr,
- "Native registration unable to find class '%s'\n", className);
+ fprintf(stderr, "Native registration unable to find class '%s'\n", className);
return JNI_FALSE;
}
if (env->RegisterNatives(clazz, gMethods, numMethods) < 0) {
@@ -157,18 +143,16 @@ static int registerNativeMethods(JNIEnv* env, const char* className,
return JNI_TRUE;
}
-static int registerNatives(JNIEnv *env)
-{
+static int registerNatives(JNIEnv *env) {
const char* const kClassPathName = "com/android/inputmethod/latin/BinaryDictionary";
- return registerNativeMethods(env,
- kClassPathName, gMethods, sizeof(gMethods) / sizeof(gMethods[0]));
+ return registerNativeMethods(env, kClassPathName, gMethods,
+ sizeof(gMethods) / sizeof(gMethods[0]));
}
/*
* Returns the JNI version on success, -1 on failure.
*/
-jint JNI_OnLoad(JavaVM* vm, void* reserved)
-{
+jint JNI_OnLoad(JavaVM* vm, void* reserved) {
JNIEnv* env = NULL;
jint result = -1;