diff --git a/dictionary/src/dictionary.cpp b/dictionary/src/dictionary.cpp index 8db5f12e73f2cad9676af903dadd007a44d9ee68..cc711f419813c4640b1aa609501896465b36e78e 100644 --- a/dictionary/src/dictionary.cpp +++ b/dictionary/src/dictionary.cpp @@ -230,8 +230,9 @@ Dictionary::getWordsRec(int pos, int depth, int maxDepth, bool completion, int s if (terminal) { if (//INCLUDE_TYPED_WORD_IF_VALID || !sameAsTyped(mWord, depth + 1)) { - addWord(mWord, depth + 1, - (freq * snr * addedWeight * mFullWordMultiplier)); + int finalFreq = freq * snr * addedWeight; + if (mSkipPos < 0) finalFreq *= mFullWordMultiplier; + addWord(mWord, depth + 1, finalFreq); } } if (childrenAddress != 0) { diff --git a/src/com/android/inputmethod/latin/ExpandableDictionary.java b/src/com/android/inputmethod/latin/ExpandableDictionary.java index e9b68fe048c352716ab346594bdb3f3e16394876..a136ee7f42ed8724ae346b9fa6797bbed8459e5f 100644 --- a/src/com/android/inputmethod/latin/ExpandableDictionary.java +++ b/src/com/android/inputmethod/latin/ExpandableDictionary.java @@ -244,9 +244,9 @@ public class ExpandableDictionary extends Dictionary { if (terminal) { if (INCLUDE_TYPED_WORD_IF_VALID || !same(word, depth + 1, codes.getTypedWord())) { - callback.addWord(word, 0, depth + 1, - (int) (freq * snr * addedAttenuation - * FULL_WORD_FREQ_MULTIPLIER)); + int finalFreq = freq * snr * addedAttenuation; + if (skipPos < 0) finalFreq *= FULL_WORD_FREQ_MULTIPLIER; + callback.addWord(word, 0, depth + 1, finalFreq); } } if (children != null) {