logcatに、”Dictionary info: dictionary = main:en_us ;”が出続ける。その1
Android4.4.2 AOSPでSettingsApp>Language Input>Default English(US) Google keyboardに設定すると以下のLOGが出続ける。
英語キーボード以外にデフォルトを設定するととまる(Japanese IMEにセットすると止まる。)
I/LatinIME:LogUtils(15231): Dictionary info: dictionary = main:en_us ; version = 44 ; date = 1393228158 I/DownloadManager(14160): Download 98733 starting I/DownloadManager(14160): Ignoring Content-Length since Transfer-Encoding is also defined I/DownloadManager(14160): Download 98733 finished with status SUCCESS
136 void Dictionary::logDictionaryInfo(JNIEnv *const env) const { 137 int dictionaryIdCodePointBuffer[HEADER_ATTRIBUTE_BUFFER_SIZE]; 138 int versionStringCodePointBuffer[HEADER_ATTRIBUTE_BUFFER_SIZE]; 139 int dateStringCodePointBuffer[HEADER_ATTRIBUTE_BUFFER_SIZE]; 140 const DictionaryHeaderStructurePolicy *const headerPolicy = 141 getDictionaryStructurePolicy()->getHeaderStructurePolicy(); 142 headerPolicy->readHeaderValueOrQuestionMark("dictionary", dictionaryIdCodePointBuffer, 143 HEADER_ATTRIBUTE_BUFFER_SIZE); 144 headerPolicy->readHeaderValueOrQuestionMark("version", versionStringCodePointBuffer, 145 HEADER_ATTRIBUTE_BUFFER_SIZE); 146 headerPolicy->readHeaderValueOrQuestionMark("date", dateStringCodePointBuffer, 147 HEADER_ATTRIBUTE_BUFFER_SIZE); 148 149 char dictionaryIdCharBuffer[HEADER_ATTRIBUTE_BUFFER_SIZE]; 150 char versionStringCharBuffer[HEADER_ATTRIBUTE_BUFFER_SIZE]; 151 char dateStringCharBuffer[HEADER_ATTRIBUTE_BUFFER_SIZE]; 152 intArrayToCharArray(dictionaryIdCodePointBuffer, HEADER_ATTRIBUTE_BUFFER_SIZE, 153 dictionaryIdCharBuffer, HEADER_ATTRIBUTE_BUFFER_SIZE); 154 intArrayToCharArray(versionStringCodePointBuffer, HEADER_ATTRIBUTE_BUFFER_SIZE, 155 versionStringCharBuffer, HEADER_ATTRIBUTE_BUFFER_SIZE); 156 intArrayToCharArray(dateStringCodePointBuffer, HEADER_ATTRIBUTE_BUFFER_SIZE, 157 dateStringCharBuffer, HEADER_ATTRIBUTE_BUFFER_SIZE); 158 159 LogUtils::logToJava(env, 160 "Dictionary info: dictionary = %s ; version = %s ; date = %s", 161 dictionaryIdCharBuffer, versionStringCharBuffer, dateStringCharBuffer); <==ここでロギング 162 }
38 Dictionary::Dictionary(JNIEnv *env, 39 DictionaryStructureWithBufferPolicy *const dictionaryStructureWithBufferPolicy) 40 : mDictionaryStructureWithBufferPolicy(dictionaryStructureWithBufferPolicy), 41 mBigramDictionary(new BigramDictionary(mDictionaryStructureWithBufferPolicy)), 42 mGestureSuggest(new Suggest(GestureSuggestPolicyFactory::getGestureSuggestPolicy())), 43 mTypingSuggest(new Suggest(TypingSuggestPolicyFactory::getTypingSuggestPolicy())) { 44 logDictionaryInfo(env); <==ここ コンストラクタで呼ばれる。 45 }
77 static jlong latinime_BinaryDictionary_open(JNIEnv *env, jclass clazz, jstring sourceDir, 78 jlong dictOffset, jlong dictSize, jboolean isUpdatable) { 79 PROF_OPEN; 80 PROF_START(66); 81 const jsize sourceDirUtf8Length = env->GetStringUTFLength(sourceDir); 82 if (sourceDirUtf8Length <= 0) { 83 AKLOGE("DICT: Can't get sourceDir string"); 84 return 0; 85 } 86 char sourceDirChars[sourceDirUtf8Length + 1]; 87 env->GetStringUTFRegion(sourceDir, 0, env->GetStringLength(sourceDir), sourceDirChars); 88 sourceDirChars[sourceDirUtf8Length] = '\0'; 89 DictionaryStructureWithBufferPolicy *const dictionaryStructureWithBufferPolicy = 90 DictionaryStructureWithBufferPolicyFactory::newDictionaryStructureWithBufferPolicy( 91 sourceDirChars, static_cast<int>(dictOffset), static_cast<int>(dictSize), 92 isUpdatable == JNI_TRUE); 93 if (!dictionaryStructureWithBufferPolicy) { 94 return 0; 95 } 96 97 Dictionary *const dictionary = new Dictionary(env, dictionaryStructureWithBufferPolicy); <==ここでnew(他にもあるかもしれない) 98 PROF_END(66); 99 PROF_CLOSE; 100 return reinterpret_cast<jlong>(dictionary); 101 }
356 { 357 const_cast<char *>("openNative"), 358 const_cast<char *>("(Ljava/lang/String;JJZ)J"), 359 reinterpret_cast<void *>(latinime_BinaryDictionary_open) 360 },