Make shortcut-only user dict entry non-words.
Bug: 7369456 Change-Id: Iecd6f6d617f31bd2aa6749516711aeb1f0549622main
parent
d0623ad7f3
commit
6a2a4b8e4d
|
@ -173,7 +173,8 @@ public class ContactsBinaryDictionary extends ExpandableBinaryDictionary {
|
|||
// capitalization of i.
|
||||
final int wordLen = StringUtils.codePointCount(word);
|
||||
if (wordLen < MAX_WORD_LENGTH && wordLen > 1) {
|
||||
super.addWord(word, null /* shortcut */, FREQUENCY_FOR_CONTACTS);
|
||||
super.addWord(word, null /* shortcut */, FREQUENCY_FOR_CONTACTS,
|
||||
false /* isNotAWord */);
|
||||
if (!TextUtils.isEmpty(prevWord)) {
|
||||
if (mUseFirstLastBigrams) {
|
||||
super.setBigram(prevWord, word, FREQUENCY_FOR_CONTACTS_BIGRAM);
|
||||
|
|
|
@ -176,14 +176,15 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
|
|||
*/
|
||||
// TODO: Create "cache dictionary" to cache fresh words for frequently updated dictionaries,
|
||||
// considering performance regression.
|
||||
protected void addWord(final String word, final String shortcutTarget, final int frequency) {
|
||||
protected void addWord(final String word, final String shortcutTarget, final int frequency,
|
||||
final boolean isNotAWord) {
|
||||
if (shortcutTarget == null) {
|
||||
mFusionDictionary.add(word, frequency, null, false /* isNotAWord */);
|
||||
mFusionDictionary.add(word, frequency, null, isNotAWord);
|
||||
} else {
|
||||
// TODO: Do this in the subclass, with this class taking an arraylist.
|
||||
final ArrayList<WeightedString> shortcutTargets = CollectionUtils.newArrayList();
|
||||
shortcutTargets.add(new WeightedString(shortcutTarget, frequency));
|
||||
mFusionDictionary.add(word, frequency, shortcutTargets, false /* isNotAWord */);
|
||||
mFusionDictionary.add(word, frequency, shortcutTargets, isNotAWord);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -258,10 +258,10 @@ public class UserBinaryDictionary extends ExpandableBinaryDictionary {
|
|||
final int adjustedFrequency = scaleFrequencyFromDefaultToLatinIme(frequency);
|
||||
// Safeguard against adding really long words.
|
||||
if (word.length() < MAX_WORD_LENGTH) {
|
||||
super.addWord(word, null, adjustedFrequency);
|
||||
super.addWord(word, null, adjustedFrequency, false /* isNotAWord */);
|
||||
}
|
||||
if (null != shortcut && shortcut.length() < MAX_WORD_LENGTH) {
|
||||
super.addWord(shortcut, word, adjustedFrequency);
|
||||
super.addWord(shortcut, word, adjustedFrequency, true /* isNotAWord */);
|
||||
}
|
||||
cursor.moveToNext();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue