Move constants to a better place.
Change-Id: I5c27a3ed99b17f850e26a8503de16f001c7111c1
This commit is contained in:
parent
089c11a086
commit
d8f0caa406
8 changed files with 29 additions and 29 deletions
|
@ -56,7 +56,7 @@ public class AutoCorrection {
|
||||||
}
|
}
|
||||||
final CharSequence lowerCasedWord = word.toString().toLowerCase();
|
final CharSequence lowerCasedWord = word.toString().toLowerCase();
|
||||||
for (final String key : dictionaries.keySet()) {
|
for (final String key : dictionaries.keySet()) {
|
||||||
if (key.equals(Suggest.DICT_KEY_WHITELIST)) continue;
|
if (key.equals(Dictionary.TYPE_WHITELIST)) continue;
|
||||||
final Dictionary dictionary = dictionaries.get(key);
|
final Dictionary dictionary = dictionaries.get(key);
|
||||||
// It's unclear how realistically 'dictionary' can be null, but the monkey is somehow
|
// It's unclear how realistically 'dictionary' can be null, but the monkey is somehow
|
||||||
// managing to get null in here. Presumably the language is changing to a language with
|
// managing to get null in here. Presumably the language is changing to a language with
|
||||||
|
@ -81,7 +81,7 @@ public class AutoCorrection {
|
||||||
}
|
}
|
||||||
int maxFreq = -1;
|
int maxFreq = -1;
|
||||||
for (final String key : dictionaries.keySet()) {
|
for (final String key : dictionaries.keySet()) {
|
||||||
if (key.equals(Suggest.DICT_KEY_WHITELIST)) continue;
|
if (key.equals(Dictionary.TYPE_WHITELIST)) continue;
|
||||||
final Dictionary dictionary = dictionaries.get(key);
|
final Dictionary dictionary = dictionaries.get(key);
|
||||||
if (null == dictionary) continue;
|
if (null == dictionary) continue;
|
||||||
final int tempFreq = dictionary.getFrequency(word);
|
final int tempFreq = dictionary.getFrequency(word);
|
||||||
|
@ -96,7 +96,7 @@ public class AutoCorrection {
|
||||||
final ConcurrentHashMap<String, Dictionary> dictionaries,
|
final ConcurrentHashMap<String, Dictionary> dictionaries,
|
||||||
final CharSequence word, final boolean ignoreCase) {
|
final CharSequence word, final boolean ignoreCase) {
|
||||||
final WhitelistDictionary whitelistDictionary =
|
final WhitelistDictionary whitelistDictionary =
|
||||||
(WhitelistDictionary)dictionaries.get(Suggest.DICT_KEY_WHITELIST);
|
(WhitelistDictionary)dictionaries.get(Dictionary.TYPE_WHITELIST);
|
||||||
// If "word" is in the whitelist dictionary, it should not be auto corrected.
|
// If "word" is in the whitelist dictionary, it should not be auto corrected.
|
||||||
if (whitelistDictionary != null
|
if (whitelistDictionary != null
|
||||||
&& whitelistDictionary.shouldForciblyAutoCorrectFrom(word)) {
|
&& whitelistDictionary.shouldForciblyAutoCorrectFrom(word)) {
|
||||||
|
|
|
@ -63,7 +63,7 @@ public class ContactsBinaryDictionary extends ExpandableBinaryDictionary {
|
||||||
private final boolean mUseFirstLastBigrams;
|
private final boolean mUseFirstLastBigrams;
|
||||||
|
|
||||||
public ContactsBinaryDictionary(final Context context, Locale locale) {
|
public ContactsBinaryDictionary(final Context context, Locale locale) {
|
||||||
super(context, getFilenameWithLocale(NAME, locale.toString()), Suggest.DICT_KEY_CONTACTS);
|
super(context, getFilenameWithLocale(NAME, locale.toString()), Dictionary.TYPE_CONTACTS);
|
||||||
mLocale = locale;
|
mLocale = locale;
|
||||||
mUseFirstLastBigrams = useFirstLastBigramsForLocale(locale);
|
mUseFirstLastBigrams = useFirstLastBigramsForLocale(locale);
|
||||||
registerObserver(context);
|
registerObserver(context);
|
||||||
|
|
|
@ -33,6 +33,14 @@ public abstract class Dictionary {
|
||||||
|
|
||||||
public static final int NOT_A_PROBABILITY = -1;
|
public static final int NOT_A_PROBABILITY = -1;
|
||||||
|
|
||||||
|
public static final String TYPE_USER_TYPED = "user_typed";
|
||||||
|
public static final String TYPE_MAIN = "main";
|
||||||
|
public static final String TYPE_CONTACTS = "contacts";
|
||||||
|
// User dictionary, the system-managed one.
|
||||||
|
public static final String TYPE_USER = "user";
|
||||||
|
// User history dictionary internal to LatinIME.
|
||||||
|
public static final String TYPE_USER_HISTORY = "history";
|
||||||
|
public static final String TYPE_WHITELIST ="whitelist";
|
||||||
protected final String mDictType;
|
protected final String mDictType;
|
||||||
|
|
||||||
public Dictionary(final String dictType) {
|
public Dictionary(final String dictType) {
|
||||||
|
|
|
@ -49,7 +49,7 @@ public class DictionaryFactory {
|
||||||
final Locale locale, final boolean useFullEditDistance) {
|
final Locale locale, final boolean useFullEditDistance) {
|
||||||
if (null == locale) {
|
if (null == locale) {
|
||||||
Log.e(TAG, "No locale defined for dictionary");
|
Log.e(TAG, "No locale defined for dictionary");
|
||||||
return new DictionaryCollection(Suggest.DICT_KEY_MAIN,
|
return new DictionaryCollection(Dictionary.TYPE_MAIN,
|
||||||
createBinaryDictionary(context, locale));
|
createBinaryDictionary(context, locale));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ public class DictionaryFactory {
|
||||||
for (final AssetFileAddress f : assetFileList) {
|
for (final AssetFileAddress f : assetFileList) {
|
||||||
final BinaryDictionary binaryDictionary =
|
final BinaryDictionary binaryDictionary =
|
||||||
new BinaryDictionary(context, f.mFilename, f.mOffset, f.mLength,
|
new BinaryDictionary(context, f.mFilename, f.mOffset, f.mLength,
|
||||||
useFullEditDistance, locale, Suggest.DICT_KEY_MAIN);
|
useFullEditDistance, locale, Dictionary.TYPE_MAIN);
|
||||||
if (binaryDictionary.isValidDictionary()) {
|
if (binaryDictionary.isValidDictionary()) {
|
||||||
dictList.add(binaryDictionary);
|
dictList.add(binaryDictionary);
|
||||||
}
|
}
|
||||||
|
@ -70,7 +70,7 @@ public class DictionaryFactory {
|
||||||
// If the list is empty, that means we should not use any dictionary (for example, the user
|
// If the list is empty, that means we should not use any dictionary (for example, the user
|
||||||
// explicitly disabled the main dictionary), so the following is okay. dictList is never
|
// explicitly disabled the main dictionary), so the following is okay. dictList is never
|
||||||
// null, but if for some reason it is, DictionaryCollection handles it gracefully.
|
// null, but if for some reason it is, DictionaryCollection handles it gracefully.
|
||||||
return new DictionaryCollection(Suggest.DICT_KEY_MAIN, dictList);
|
return new DictionaryCollection(Dictionary.TYPE_MAIN, dictList);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -113,7 +113,7 @@ public class DictionaryFactory {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return new BinaryDictionary(context, sourceDir, afd.getStartOffset(), afd.getLength(),
|
return new BinaryDictionary(context, sourceDir, afd.getStartOffset(), afd.getLength(),
|
||||||
false /* useFullEditDistance */, locale, Suggest.DICT_KEY_MAIN);
|
false /* useFullEditDistance */, locale, Dictionary.TYPE_MAIN);
|
||||||
} catch (android.content.res.Resources.NotFoundException e) {
|
} catch (android.content.res.Resources.NotFoundException e) {
|
||||||
Log.e(TAG, "Could not find the resource");
|
Log.e(TAG, "Could not find the resource");
|
||||||
return null;
|
return null;
|
||||||
|
@ -141,7 +141,7 @@ public class DictionaryFactory {
|
||||||
long startOffset, long length, final boolean useFullEditDistance, Locale locale) {
|
long startOffset, long length, final boolean useFullEditDistance, Locale locale) {
|
||||||
if (dictionary.isFile()) {
|
if (dictionary.isFile()) {
|
||||||
return new BinaryDictionary(context, dictionary.getAbsolutePath(), startOffset, length,
|
return new BinaryDictionary(context, dictionary.getAbsolutePath(), startOffset, length,
|
||||||
useFullEditDistance, locale, Suggest.DICT_KEY_MAIN);
|
useFullEditDistance, locale, Dictionary.TYPE_MAIN);
|
||||||
} else {
|
} else {
|
||||||
Log.e(TAG, "Could not find the file. path=" + dictionary.getAbsolutePath());
|
Log.e(TAG, "Could not find the file. path=" + dictionary.getAbsolutePath());
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -46,15 +46,6 @@ public class Suggest {
|
||||||
// TODO: rename this to CORRECTION_ON
|
// TODO: rename this to CORRECTION_ON
|
||||||
public static final int CORRECTION_FULL = 1;
|
public static final int CORRECTION_FULL = 1;
|
||||||
|
|
||||||
public static final String DICT_KEY_USER_TYPED = "user_typed";
|
|
||||||
public static final String DICT_KEY_MAIN = "main";
|
|
||||||
public static final String DICT_KEY_CONTACTS = "contacts";
|
|
||||||
// User dictionary, the system-managed one.
|
|
||||||
public static final String DICT_KEY_USER = "user";
|
|
||||||
// User history dictionary internal to LatinIME
|
|
||||||
public static final String DICT_KEY_USER_HISTORY = "history";
|
|
||||||
public static final String DICT_KEY_WHITELIST ="whitelist";
|
|
||||||
|
|
||||||
private static final boolean DBG = LatinImeLogger.sDBG;
|
private static final boolean DBG = LatinImeLogger.sDBG;
|
||||||
|
|
||||||
private Dictionary mMainDictionary;
|
private Dictionary mMainDictionary;
|
||||||
|
@ -88,13 +79,13 @@ public class Suggest {
|
||||||
startOffset, length /* useFullEditDistance */, false, locale);
|
startOffset, length /* useFullEditDistance */, false, locale);
|
||||||
mLocale = locale;
|
mLocale = locale;
|
||||||
mMainDictionary = mainDict;
|
mMainDictionary = mainDict;
|
||||||
addOrReplaceDictionary(mDictionaries, DICT_KEY_MAIN, mainDict);
|
addOrReplaceDictionary(mDictionaries, Dictionary.TYPE_MAIN, mainDict);
|
||||||
initWhitelistAndAutocorrectAndPool(context, locale);
|
initWhitelistAndAutocorrectAndPool(context, locale);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initWhitelistAndAutocorrectAndPool(final Context context, final Locale locale) {
|
private void initWhitelistAndAutocorrectAndPool(final Context context, final Locale locale) {
|
||||||
mWhiteListDictionary = new WhitelistDictionary(context, locale);
|
mWhiteListDictionary = new WhitelistDictionary(context, locale);
|
||||||
addOrReplaceDictionary(mDictionaries, DICT_KEY_WHITELIST, mWhiteListDictionary);
|
addOrReplaceDictionary(mDictionaries, Dictionary.TYPE_WHITELIST, mWhiteListDictionary);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initAsynchronously(final Context context, final Locale locale) {
|
private void initAsynchronously(final Context context, final Locale locale) {
|
||||||
|
@ -123,7 +114,7 @@ public class Suggest {
|
||||||
public void run() {
|
public void run() {
|
||||||
final DictionaryCollection newMainDict =
|
final DictionaryCollection newMainDict =
|
||||||
DictionaryFactory.createMainDictionaryFromManager(context, locale);
|
DictionaryFactory.createMainDictionaryFromManager(context, locale);
|
||||||
addOrReplaceDictionary(mDictionaries, DICT_KEY_MAIN, newMainDict);
|
addOrReplaceDictionary(mDictionaries, Dictionary.TYPE_MAIN, newMainDict);
|
||||||
mMainDictionary = newMainDict;
|
mMainDictionary = newMainDict;
|
||||||
}
|
}
|
||||||
}.start();
|
}.start();
|
||||||
|
@ -156,7 +147,7 @@ public class Suggest {
|
||||||
* before the main dictionary, if set. This refers to the system-managed user dictionary.
|
* before the main dictionary, if set. This refers to the system-managed user dictionary.
|
||||||
*/
|
*/
|
||||||
public void setUserDictionary(UserBinaryDictionary userDictionary) {
|
public void setUserDictionary(UserBinaryDictionary userDictionary) {
|
||||||
addOrReplaceDictionary(mDictionaries, DICT_KEY_USER, userDictionary);
|
addOrReplaceDictionary(mDictionaries, Dictionary.TYPE_USER, userDictionary);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -166,11 +157,11 @@ public class Suggest {
|
||||||
*/
|
*/
|
||||||
public void setContactsDictionary(ContactsBinaryDictionary contactsDictionary) {
|
public void setContactsDictionary(ContactsBinaryDictionary contactsDictionary) {
|
||||||
mContactsDict = contactsDictionary;
|
mContactsDict = contactsDictionary;
|
||||||
addOrReplaceDictionary(mDictionaries, DICT_KEY_CONTACTS, contactsDictionary);
|
addOrReplaceDictionary(mDictionaries, Dictionary.TYPE_CONTACTS, contactsDictionary);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setUserHistoryDictionary(UserHistoryDictionary userHistoryDictionary) {
|
public void setUserHistoryDictionary(UserHistoryDictionary userHistoryDictionary) {
|
||||||
addOrReplaceDictionary(mDictionaries, DICT_KEY_USER_HISTORY, userHistoryDictionary);
|
addOrReplaceDictionary(mDictionaries, Dictionary.TYPE_USER_HISTORY, userHistoryDictionary);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAutoCorrectionThreshold(float threshold) {
|
public void setAutoCorrectionThreshold(float threshold) {
|
||||||
|
@ -211,7 +202,7 @@ public class Suggest {
|
||||||
? typedWord.substring(0, typedWord.length() - mTrailingSingleQuotesCount)
|
? typedWord.substring(0, typedWord.length() - mTrailingSingleQuotesCount)
|
||||||
: typedWord;
|
: typedWord;
|
||||||
// Treating USER_TYPED as UNIGRAM suggestion for logging now.
|
// Treating USER_TYPED as UNIGRAM suggestion for logging now.
|
||||||
LatinImeLogger.onAddSuggestedWord(typedWord, DICT_KEY_USER_TYPED);
|
LatinImeLogger.onAddSuggestedWord(typedWord, Dictionary.TYPE_USER_TYPED);
|
||||||
|
|
||||||
if (wordComposer.size() <= 1 && isCorrectionEnabled) {
|
if (wordComposer.size() <= 1 && isCorrectionEnabled) {
|
||||||
// At first character typed, search only the bigrams
|
// At first character typed, search only the bigrams
|
||||||
|
@ -248,7 +239,8 @@ public class Suggest {
|
||||||
// At second character typed, search the unigrams (scores being affected by bigrams)
|
// At second character typed, search the unigrams (scores being affected by bigrams)
|
||||||
for (final String key : mDictionaries.keySet()) {
|
for (final String key : mDictionaries.keySet()) {
|
||||||
// Skip UserUnigramDictionary and WhitelistDictionary to lookup
|
// Skip UserUnigramDictionary and WhitelistDictionary to lookup
|
||||||
if (key.equals(DICT_KEY_USER_HISTORY) || key.equals(DICT_KEY_WHITELIST))
|
if (key.equals(Dictionary.TYPE_USER_HISTORY)
|
||||||
|
|| key.equals(Dictionary.TYPE_WHITELIST))
|
||||||
continue;
|
continue;
|
||||||
final Dictionary dictionary = mDictionaries.get(key);
|
final Dictionary dictionary = mDictionaries.get(key);
|
||||||
final ArrayList<SuggestedWordInfo> localSuggestions = dictionary.getWords(
|
final ArrayList<SuggestedWordInfo> localSuggestions = dictionary.getWords(
|
||||||
|
|
|
@ -69,7 +69,7 @@ public class UserBinaryDictionary extends ExpandableBinaryDictionary {
|
||||||
|
|
||||||
public UserBinaryDictionary(final Context context, final String locale,
|
public UserBinaryDictionary(final Context context, final String locale,
|
||||||
final boolean alsoUseMoreRestrictiveLocales) {
|
final boolean alsoUseMoreRestrictiveLocales) {
|
||||||
super(context, getFilenameWithLocale(NAME, locale), Suggest.DICT_KEY_USER);
|
super(context, getFilenameWithLocale(NAME, locale), Dictionary.TYPE_USER);
|
||||||
if (null == locale) throw new NullPointerException(); // Catch the error earlier
|
if (null == locale) throw new NullPointerException(); // Catch the error earlier
|
||||||
mLocale = locale;
|
mLocale = locale;
|
||||||
mAlsoUseMoreRestrictiveLocales = alsoUseMoreRestrictiveLocales;
|
mAlsoUseMoreRestrictiveLocales = alsoUseMoreRestrictiveLocales;
|
||||||
|
|
|
@ -134,7 +134,7 @@ public class UserHistoryDictionary extends ExpandableDictionary {
|
||||||
|
|
||||||
private UserHistoryDictionary(final Context context, final String locale,
|
private UserHistoryDictionary(final Context context, final String locale,
|
||||||
final SharedPreferences sp) {
|
final SharedPreferences sp) {
|
||||||
super(context, Suggest.DICT_KEY_USER_HISTORY);
|
super(context, Dictionary.TYPE_USER_HISTORY);
|
||||||
mLocale = locale;
|
mLocale = locale;
|
||||||
mPrefs = sp;
|
mPrefs = sp;
|
||||||
if (sOpenHelper == null) {
|
if (sOpenHelper == null) {
|
||||||
|
|
|
@ -37,7 +37,7 @@ public class WhitelistDictionary extends ExpandableDictionary {
|
||||||
|
|
||||||
// TODO: Conform to the async load contact of ExpandableDictionary
|
// TODO: Conform to the async load contact of ExpandableDictionary
|
||||||
public WhitelistDictionary(final Context context, final Locale locale) {
|
public WhitelistDictionary(final Context context, final Locale locale) {
|
||||||
super(context, Suggest.DICT_KEY_WHITELIST);
|
super(context, Dictionary.TYPE_WHITELIST);
|
||||||
// TODO: Move whitelist dictionary into main dictionary.
|
// TODO: Move whitelist dictionary into main dictionary.
|
||||||
final RunInLocale<Void> job = new RunInLocale<Void>() {
|
final RunInLocale<Void> job = new RunInLocale<Void>() {
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in a new issue