Reduce weight of missing-char suggestions.
diff --git a/dictionary/src/dictionary.cpp b/dictionary/src/dictionary.cpp
index 8db5f12..cc711f4 100644
--- a/dictionary/src/dictionary.cpp
+++ b/dictionary/src/dictionary.cpp
@@ -230,8 +230,9 @@
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 e9b68fe..a136ee7 100644
--- a/src/com/android/inputmethod/latin/ExpandableDictionary.java
+++ b/src/com/android/inputmethod/latin/ExpandableDictionary.java
@@ -244,9 +244,9 @@
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) {