mirror of
https://gitlab.futo.org/keyboard/latinime.git
synced 2024-09-28 14:54:30 +01:00
Move constants to a better place.
Change-Id: I5c27a3ed99b17f850e26a8503de16f001c7111c1
This commit is contained in:
parent
089c11a086
commit
d8f0caa406
@ -56,7 +56,7 @@ public class AutoCorrection {
|
||||
}
|
||||
final CharSequence lowerCasedWord = word.toString().toLowerCase();
|
||||
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);
|
||||
// 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
|
||||
@ -81,7 +81,7 @@ public class AutoCorrection {
|
||||
}
|
||||
int maxFreq = -1;
|
||||
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);
|
||||
if (null == dictionary) continue;
|
||||
final int tempFreq = dictionary.getFrequency(word);
|
||||
@ -96,7 +96,7 @@ public class AutoCorrection {
|
||||
final ConcurrentHashMap<String, Dictionary> dictionaries,
|
||||
final CharSequence word, final boolean ignoreCase) {
|
||||
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 (whitelistDictionary != null
|
||||
&& whitelistDictionary.shouldForciblyAutoCorrectFrom(word)) {
|
||||
|
@ -63,7 +63,7 @@ public class ContactsBinaryDictionary extends ExpandableBinaryDictionary {
|
||||
private final boolean mUseFirstLastBigrams;
|
||||
|
||||
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;
|
||||
mUseFirstLastBigrams = useFirstLastBigramsForLocale(locale);
|
||||
registerObserver(context);
|
||||
|
@ -33,6 +33,14 @@ public abstract class Dictionary {
|
||||
|
||||
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;
|
||||
|
||||
public Dictionary(final String dictType) {
|
||||
|
@ -49,7 +49,7 @@ public class DictionaryFactory {
|
||||
final Locale locale, final boolean useFullEditDistance) {
|
||||
if (null == locale) {
|
||||
Log.e(TAG, "No locale defined for dictionary");
|
||||
return new DictionaryCollection(Suggest.DICT_KEY_MAIN,
|
||||
return new DictionaryCollection(Dictionary.TYPE_MAIN,
|
||||
createBinaryDictionary(context, locale));
|
||||
}
|
||||
|
||||
@ -60,7 +60,7 @@ public class DictionaryFactory {
|
||||
for (final AssetFileAddress f : assetFileList) {
|
||||
final BinaryDictionary binaryDictionary =
|
||||
new BinaryDictionary(context, f.mFilename, f.mOffset, f.mLength,
|
||||
useFullEditDistance, locale, Suggest.DICT_KEY_MAIN);
|
||||
useFullEditDistance, locale, Dictionary.TYPE_MAIN);
|
||||
if (binaryDictionary.isValidDictionary()) {
|
||||
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
|
||||
// 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.
|
||||
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 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) {
|
||||
Log.e(TAG, "Could not find the resource");
|
||||
return null;
|
||||
@ -141,7 +141,7 @@ public class DictionaryFactory {
|
||||
long startOffset, long length, final boolean useFullEditDistance, Locale locale) {
|
||||
if (dictionary.isFile()) {
|
||||
return new BinaryDictionary(context, dictionary.getAbsolutePath(), startOffset, length,
|
||||
useFullEditDistance, locale, Suggest.DICT_KEY_MAIN);
|
||||
useFullEditDistance, locale, Dictionary.TYPE_MAIN);
|
||||
} else {
|
||||
Log.e(TAG, "Could not find the file. path=" + dictionary.getAbsolutePath());
|
||||
return null;
|
||||
|
@ -46,15 +46,6 @@ public class Suggest {
|
||||
// TODO: rename this to CORRECTION_ON
|
||||
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 Dictionary mMainDictionary;
|
||||
@ -88,13 +79,13 @@ public class Suggest {
|
||||
startOffset, length /* useFullEditDistance */, false, locale);
|
||||
mLocale = locale;
|
||||
mMainDictionary = mainDict;
|
||||
addOrReplaceDictionary(mDictionaries, DICT_KEY_MAIN, mainDict);
|
||||
addOrReplaceDictionary(mDictionaries, Dictionary.TYPE_MAIN, mainDict);
|
||||
initWhitelistAndAutocorrectAndPool(context, locale);
|
||||
}
|
||||
|
||||
private void initWhitelistAndAutocorrectAndPool(final Context context, final Locale 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) {
|
||||
@ -123,7 +114,7 @@ public class Suggest {
|
||||
public void run() {
|
||||
final DictionaryCollection newMainDict =
|
||||
DictionaryFactory.createMainDictionaryFromManager(context, locale);
|
||||
addOrReplaceDictionary(mDictionaries, DICT_KEY_MAIN, newMainDict);
|
||||
addOrReplaceDictionary(mDictionaries, Dictionary.TYPE_MAIN, newMainDict);
|
||||
mMainDictionary = newMainDict;
|
||||
}
|
||||
}.start();
|
||||
@ -156,7 +147,7 @@ public class Suggest {
|
||||
* before the main dictionary, if set. This refers to the system-managed user dictionary.
|
||||
*/
|
||||
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) {
|
||||
mContactsDict = contactsDictionary;
|
||||
addOrReplaceDictionary(mDictionaries, DICT_KEY_CONTACTS, contactsDictionary);
|
||||
addOrReplaceDictionary(mDictionaries, Dictionary.TYPE_CONTACTS, contactsDictionary);
|
||||
}
|
||||
|
||||
public void setUserHistoryDictionary(UserHistoryDictionary userHistoryDictionary) {
|
||||
addOrReplaceDictionary(mDictionaries, DICT_KEY_USER_HISTORY, userHistoryDictionary);
|
||||
addOrReplaceDictionary(mDictionaries, Dictionary.TYPE_USER_HISTORY, userHistoryDictionary);
|
||||
}
|
||||
|
||||
public void setAutoCorrectionThreshold(float threshold) {
|
||||
@ -211,7 +202,7 @@ public class Suggest {
|
||||
? typedWord.substring(0, typedWord.length() - mTrailingSingleQuotesCount)
|
||||
: typedWord;
|
||||
// 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) {
|
||||
// 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)
|
||||
for (final String key : mDictionaries.keySet()) {
|
||||
// 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;
|
||||
final Dictionary dictionary = mDictionaries.get(key);
|
||||
final ArrayList<SuggestedWordInfo> localSuggestions = dictionary.getWords(
|
||||
|
@ -69,7 +69,7 @@ public class UserBinaryDictionary extends ExpandableBinaryDictionary {
|
||||
|
||||
public UserBinaryDictionary(final Context context, final String locale,
|
||||
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
|
||||
mLocale = locale;
|
||||
mAlsoUseMoreRestrictiveLocales = alsoUseMoreRestrictiveLocales;
|
||||
|
@ -134,7 +134,7 @@ public class UserHistoryDictionary extends ExpandableDictionary {
|
||||
|
||||
private UserHistoryDictionary(final Context context, final String locale,
|
||||
final SharedPreferences sp) {
|
||||
super(context, Suggest.DICT_KEY_USER_HISTORY);
|
||||
super(context, Dictionary.TYPE_USER_HISTORY);
|
||||
mLocale = locale;
|
||||
mPrefs = sp;
|
||||
if (sOpenHelper == null) {
|
||||
|
@ -37,7 +37,7 @@ public class WhitelistDictionary extends ExpandableDictionary {
|
||||
|
||||
// TODO: Conform to the async load contact of ExpandableDictionary
|
||||
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.
|
||||
final RunInLocale<Void> job = new RunInLocale<Void>() {
|
||||
@Override
|
||||
|
Loading…
Reference in New Issue
Block a user