Loading java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java +8 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import com.android.inputmethod.latin.makedict.FusionDictionary.CharGroup; import com.android.inputmethod.latin.makedict.FusionDictionary.DictionaryOptions; import com.android.inputmethod.latin.makedict.FusionDictionary.Node; import com.android.inputmethod.latin.makedict.FusionDictionary.WeightedString; import com.android.inputmethod.latin.utils.JniUtils; import java.io.ByteArrayOutputStream; import java.io.File; Loading @@ -48,6 +49,13 @@ public final class BinaryDictInputOutput { private static final boolean DBG = MakedictLog.DBG; static { JniUtils.loadNativeLibrary(); } // TODO: implement something sensical instead of just a phony method private static native int doNothing(); // Arbitrary limit to how much passes we consider address size compression should // terminate in. At the time of this writing, our largest dictionary completes // compression in five passes. Loading native/jni/Android.mk +1 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ LATIN_IME_JNI_SRC_FILES := \ com_android_inputmethod_keyboard_ProximityInfo.cpp \ com_android_inputmethod_latin_BinaryDictionary.cpp \ com_android_inputmethod_latin_DicTraverseSession.cpp \ com_android_inputmethod_latin_makedict_BinaryDictInputOutput.cpp \ jni_common.cpp LATIN_IME_CORE_SRC_FILES := \ Loading native/jni/com_android_inputmethod_latin_makedict_BinaryDictInputOutput.cpp 0 → 100644 +47 −0 Original line number Diff line number Diff line /* * Copyright (C) 2013 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #define LOG_TAG "LatinIME: jni: BinaryDictInputOutput" #include "com_android_inputmethod_latin_makedict_BinaryDictInputOutput.h" #include "defines.h" #include "jni.h" #include "jni_common.h" namespace latinime { static int latinime_BinaryDictInputOutput_doNothing(JNIEnv *env, jclass clazz) { // This is a phony method for test - it does nothing. It just returns some value // unlikely to be in memory by chance for testing purposes. // TODO: remove this method. return 2097; } static const JNINativeMethod sMethods[] = { { // TODO: remove this entry when we have one useful method in here const_cast<char *>("doNothing"), const_cast<char *>("()I"), reinterpret_cast<void *>(latinime_BinaryDictInputOutput_doNothing) }, }; int register_BinaryDictInputOutput(JNIEnv *env) { const char *const kClassPathName = "com/android/inputmethod/latin/makedict/BinaryDictInputOutput"; return registerNativeMethods(env, kClassPathName, sMethods, NELEMS(sMethods)); } } // namespace latinime native/jni/com_android_inputmethod_latin_makedict_BinaryDictInputOutput.h 0 → 100644 +25 −0 Original line number Diff line number Diff line /* * Copyright (C) 2013 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _COM_ANDROID_INPUTMETHOD_LATIN_MAKEDICT_BINARYDICTINPUTOUTPUT_H #define _COM_ANDROID_INPUTMETHOD_LATIN_MAKEDICT_BINARYDICTINPUTOUTPUT_H #include "jni.h" namespace latinime { int register_BinaryDictInputOutput(JNIEnv *env); } // namespace latinime #endif // _COM_ANDROID_INPUTMETHOD_LATIN_MAKEDICT_BINARYDICTINPUTOUTPUT_H native/jni/jni_common.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -18,9 +18,12 @@ #include "jni_common.h" #ifndef HOST_TOOL #include "com_android_inputmethod_keyboard_ProximityInfo.h" #include "com_android_inputmethod_latin_BinaryDictionary.h" #include "com_android_inputmethod_latin_DicTraverseSession.h" #endif #include "com_android_inputmethod_latin_makedict_BinaryDictInputOutput.h" #include "defines.h" /* Loading @@ -38,6 +41,7 @@ jint JNI_OnLoad(JavaVM *vm, void *reserved) { AKLOGE("ERROR: JNIEnv is invalid"); return -1; } #ifndef HOST_TOOL if (!latinime::register_BinaryDictionary(env)) { AKLOGE("ERROR: BinaryDictionary native registration failed"); return -1; Loading @@ -50,6 +54,11 @@ jint JNI_OnLoad(JavaVM *vm, void *reserved) { AKLOGE("ERROR: ProximityInfo native registration failed"); return -1; } #endif if (!latinime::register_BinaryDictInputOutput(env)) { AKLOGE("ERROR: BinaryDictInputOutput native registration failed"); return -1; } /* success -- return valid version number */ return JNI_VERSION_1_6; } Loading Loading
java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java +8 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import com.android.inputmethod.latin.makedict.FusionDictionary.CharGroup; import com.android.inputmethod.latin.makedict.FusionDictionary.DictionaryOptions; import com.android.inputmethod.latin.makedict.FusionDictionary.Node; import com.android.inputmethod.latin.makedict.FusionDictionary.WeightedString; import com.android.inputmethod.latin.utils.JniUtils; import java.io.ByteArrayOutputStream; import java.io.File; Loading @@ -48,6 +49,13 @@ public final class BinaryDictInputOutput { private static final boolean DBG = MakedictLog.DBG; static { JniUtils.loadNativeLibrary(); } // TODO: implement something sensical instead of just a phony method private static native int doNothing(); // Arbitrary limit to how much passes we consider address size compression should // terminate in. At the time of this writing, our largest dictionary completes // compression in five passes. Loading
native/jni/Android.mk +1 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ LATIN_IME_JNI_SRC_FILES := \ com_android_inputmethod_keyboard_ProximityInfo.cpp \ com_android_inputmethod_latin_BinaryDictionary.cpp \ com_android_inputmethod_latin_DicTraverseSession.cpp \ com_android_inputmethod_latin_makedict_BinaryDictInputOutput.cpp \ jni_common.cpp LATIN_IME_CORE_SRC_FILES := \ Loading
native/jni/com_android_inputmethod_latin_makedict_BinaryDictInputOutput.cpp 0 → 100644 +47 −0 Original line number Diff line number Diff line /* * Copyright (C) 2013 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #define LOG_TAG "LatinIME: jni: BinaryDictInputOutput" #include "com_android_inputmethod_latin_makedict_BinaryDictInputOutput.h" #include "defines.h" #include "jni.h" #include "jni_common.h" namespace latinime { static int latinime_BinaryDictInputOutput_doNothing(JNIEnv *env, jclass clazz) { // This is a phony method for test - it does nothing. It just returns some value // unlikely to be in memory by chance for testing purposes. // TODO: remove this method. return 2097; } static const JNINativeMethod sMethods[] = { { // TODO: remove this entry when we have one useful method in here const_cast<char *>("doNothing"), const_cast<char *>("()I"), reinterpret_cast<void *>(latinime_BinaryDictInputOutput_doNothing) }, }; int register_BinaryDictInputOutput(JNIEnv *env) { const char *const kClassPathName = "com/android/inputmethod/latin/makedict/BinaryDictInputOutput"; return registerNativeMethods(env, kClassPathName, sMethods, NELEMS(sMethods)); } } // namespace latinime
native/jni/com_android_inputmethod_latin_makedict_BinaryDictInputOutput.h 0 → 100644 +25 −0 Original line number Diff line number Diff line /* * Copyright (C) 2013 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _COM_ANDROID_INPUTMETHOD_LATIN_MAKEDICT_BINARYDICTINPUTOUTPUT_H #define _COM_ANDROID_INPUTMETHOD_LATIN_MAKEDICT_BINARYDICTINPUTOUTPUT_H #include "jni.h" namespace latinime { int register_BinaryDictInputOutput(JNIEnv *env); } // namespace latinime #endif // _COM_ANDROID_INPUTMETHOD_LATIN_MAKEDICT_BINARYDICTINPUTOUTPUT_H
native/jni/jni_common.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -18,9 +18,12 @@ #include "jni_common.h" #ifndef HOST_TOOL #include "com_android_inputmethod_keyboard_ProximityInfo.h" #include "com_android_inputmethod_latin_BinaryDictionary.h" #include "com_android_inputmethod_latin_DicTraverseSession.h" #endif #include "com_android_inputmethod_latin_makedict_BinaryDictInputOutput.h" #include "defines.h" /* Loading @@ -38,6 +41,7 @@ jint JNI_OnLoad(JavaVM *vm, void *reserved) { AKLOGE("ERROR: JNIEnv is invalid"); return -1; } #ifndef HOST_TOOL if (!latinime::register_BinaryDictionary(env)) { AKLOGE("ERROR: BinaryDictionary native registration failed"); return -1; Loading @@ -50,6 +54,11 @@ jint JNI_OnLoad(JavaVM *vm, void *reserved) { AKLOGE("ERROR: ProximityInfo native registration failed"); return -1; } #endif if (!latinime::register_BinaryDictInputOutput(env)) { AKLOGE("ERROR: BinaryDictInputOutput native registration failed"); return -1; } /* success -- return valid version number */ return JNI_VERSION_1_6; } Loading