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.
|
// capitalization of i.
|
||||||
final int wordLen = StringUtils.codePointCount(word);
|
final int wordLen = StringUtils.codePointCount(word);
|
||||||
if (wordLen < MAX_WORD_LENGTH && wordLen > 1) {
|
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 (!TextUtils.isEmpty(prevWord)) {
|
||||||
if (mUseFirstLastBigrams) {
|
if (mUseFirstLastBigrams) {
|
||||||
super.setBigram(prevWord, word, FREQUENCY_FOR_CONTACTS_BIGRAM);
|
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,
|
// TODO: Create "cache dictionary" to cache fresh words for frequently updated dictionaries,
|
||||||
// considering performance regression.
|
// 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) {
|
if (shortcutTarget == null) {
|
||||||
mFusionDictionary.add(word, frequency, null, false /* isNotAWord */);
|
mFusionDictionary.add(word, frequency, null, isNotAWord);
|
||||||
} else {
|
} else {
|
||||||
// TODO: Do this in the subclass, with this class taking an arraylist.
|
// TODO: Do this in the subclass, with this class taking an arraylist.
|
||||||
final ArrayList<WeightedString> shortcutTargets = CollectionUtils.newArrayList();
|
final ArrayList<WeightedString> shortcutTargets = CollectionUtils.newArrayList();
|
||||||
shortcutTargets.add(new WeightedString(shortcutTarget, frequency));
|
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);
|
final int adjustedFrequency = scaleFrequencyFromDefaultToLatinIme(frequency);
|
||||||
// Safeguard against adding really long words.
|
// Safeguard against adding really long words.
|
||||||
if (word.length() < MAX_WORD_LENGTH) {
|
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) {
|
if (null != shortcut && shortcut.length() < MAX_WORD_LENGTH) {
|
||||||
super.addWord(shortcut, word, adjustedFrequency);
|
super.addWord(shortcut, word, adjustedFrequency, true /* isNotAWord */);
|
||||||
}
|
}
|
||||||
cursor.moveToNext();
|
cursor.moveToNext();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue