Loading java/src/com/android/inputmethod/latin/BinaryDictionary.java +6 −9 Original line number Diff line number Diff line Loading @@ -139,22 +139,19 @@ public class BinaryDictionary extends Dictionary { Arrays.fill(mBigramScores, 0); int codesSize = codes.size(); if (codesSize <= 0) { // Do not return bigrams from BinaryDictionary when nothing was typed. // Only use user-history bigrams (or whatever other bigram dictionaries decide). return; } Arrays.fill(mInputCodes, -1); if (codesSize > 0) { int[] alternatives = codes.getCodesAt(0); System.arraycopy(alternatives, 0, mInputCodes, 0, Math.min(alternatives.length, MAX_PROXIMITY_CHARS_SIZE)); } int count = getBigramsNative(mNativeDict, chars, chars.length, mInputCodes, codesSize, mOutputChars_bigrams, mBigramScores, MAX_WORD_LENGTH, MAX_BIGRAMS, MAX_PROXIMITY_CHARS_SIZE); for (int j = 0; j < count; ++j) { if (mBigramScores[j] < 1) break; if (codesSize > 0 && mBigramScores[j] < 1) break; final int start = j * MAX_WORD_LENGTH; int len = 0; while (len < MAX_WORD_LENGTH && mOutputChars_bigrams[start + len] != 0) { Loading native/src/bigram_dictionary.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -134,7 +134,8 @@ int BigramDictionary::getBigrams(unsigned short *prevWord, int prevWordLength, i const int length = BinaryFormat::getWordAtAddress(root, bigramPos, MAX_WORD_LENGTH, bigramBuffer); if (checkFirstCharacter(bigramBuffer)) { // codesSize == 0 means we are trying to find bigram predictions. if (codesSize < 1 || checkFirstCharacter(bigramBuffer)) { const int frequency = UnigramDictionary::MASK_ATTRIBUTE_FREQUENCY & bigramFlags; addWordBigram(bigramBuffer, length, frequency); } Loading Loading
java/src/com/android/inputmethod/latin/BinaryDictionary.java +6 −9 Original line number Diff line number Diff line Loading @@ -139,22 +139,19 @@ public class BinaryDictionary extends Dictionary { Arrays.fill(mBigramScores, 0); int codesSize = codes.size(); if (codesSize <= 0) { // Do not return bigrams from BinaryDictionary when nothing was typed. // Only use user-history bigrams (or whatever other bigram dictionaries decide). return; } Arrays.fill(mInputCodes, -1); if (codesSize > 0) { int[] alternatives = codes.getCodesAt(0); System.arraycopy(alternatives, 0, mInputCodes, 0, Math.min(alternatives.length, MAX_PROXIMITY_CHARS_SIZE)); } int count = getBigramsNative(mNativeDict, chars, chars.length, mInputCodes, codesSize, mOutputChars_bigrams, mBigramScores, MAX_WORD_LENGTH, MAX_BIGRAMS, MAX_PROXIMITY_CHARS_SIZE); for (int j = 0; j < count; ++j) { if (mBigramScores[j] < 1) break; if (codesSize > 0 && mBigramScores[j] < 1) break; final int start = j * MAX_WORD_LENGTH; int len = 0; while (len < MAX_WORD_LENGTH && mOutputChars_bigrams[start + len] != 0) { Loading
native/src/bigram_dictionary.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -134,7 +134,8 @@ int BigramDictionary::getBigrams(unsigned short *prevWord, int prevWordLength, i const int length = BinaryFormat::getWordAtAddress(root, bigramPos, MAX_WORD_LENGTH, bigramBuffer); if (checkFirstCharacter(bigramBuffer)) { // codesSize == 0 means we are trying to find bigram predictions. if (codesSize < 1 || checkFirstCharacter(bigramBuffer)) { const int frequency = UnigramDictionary::MASK_ATTRIBUTE_FREQUENCY & bigramFlags; addWordBigram(bigramBuffer, length, frequency); } Loading