aboutsummaryrefslogtreecommitdiffstats
path: root/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-01-15 14:55:57 -0800
committerKeisuke Kuroyanagi <ksk@google.com>2014-01-15 14:55:57 -0800
commitd78a447d107ae60d2bb8f16a1b9797f5ebad2277 (patch)
tree1d421bd74157c9598d2b19d57315434b3c8ec4e4 /native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
parent118a4fc2b7fc4f0ba1de78eb0ef72b473a6ecfd5 (diff)
downloadlatinime-d78a447d107ae60d2bb8f16a1b9797f5ebad2277.tar.gz
latinime-d78a447d107ae60d2bb8f16a1b9797f5ebad2277.tar.xz
latinime-d78a447d107ae60d2bb8f16a1b9797f5ebad2277.zip
Add a dedicated method to control time in native code.
Bug: 12443085 Change-Id: I41a5cf6c895cb59e54af98b40efded36afcd3247
Diffstat (limited to 'native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp')
-rw-r--r--native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
index 26570f4d8..586a306ec 100644
--- a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
+++ b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
@@ -29,6 +29,7 @@
#include "suggest/policyimpl/dictionary/structure/dictionary_structure_with_buffer_policy_factory.h"
#include "suggest/policyimpl/dictionary/utils/dict_file_writing_utils.h"
#include "utils/autocorrection_threshold_utils.h"
+#include "utils/time_keeper.h"
namespace latinime {
@@ -457,6 +458,17 @@ static jstring latinime_BinaryDictionary_getProperty(JNIEnv *env, jclass clazz,
return env->NewStringUTF(resultChars);
}
+static int latinime_BinaryDictionary_setCurrentTimeForTest(JNIEnv *env, jclass clazz,
+ jint currentTime) {
+ if (currentTime >= 0) {
+ TimeKeeper::startTestModeWithForceCurrentTime(currentTime);
+ } else {
+ TimeKeeper::stopTestMode();
+ }
+ TimeKeeper::setCurrentTime();
+ return TimeKeeper::peekCurrentTime();
+}
+
static const JNINativeMethod sMethods[] = {
{
const_cast<char *>("createEmptyDictFileNative"),
@@ -550,6 +562,11 @@ static const JNINativeMethod sMethods[] = {
reinterpret_cast<void *>(latinime_BinaryDictionary_calculateProbabilityNative)
},
{
+ const_cast<char *>("setCurrentTimeForTestNative"),
+ const_cast<char *>("(I)I"),
+ reinterpret_cast<void *>(latinime_BinaryDictionary_setCurrentTimeForTest)
+ },
+ {
const_cast<char *>("getPropertyNative"),
const_cast<char *>("(JLjava/lang/String;)Ljava/lang/String;"),
reinterpret_cast<void *>(latinime_BinaryDictionary_getProperty)