Add a Dictionary.isUserSpecific method.
As the name suggests, returns true if the Dictionary is of a type that may use user-specific data, e.g., contacts. Cherry-pick of I11e71286c7635f50ace156dcc5308dbe51268d4e Change-Id: I08c3f22f0c34eaa71bbd06594314f3b411658c5cmain
parent
90f06760b9
commit
0c837daee6
|
@ -22,6 +22,8 @@ import com.android.inputmethod.latin.settings.SettingsValuesForSuggestion;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashSet;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Abstract base class for a dictionary that can do a fuzzy search for words based on a set of key
|
* Abstract base class for a dictionary that can do a fuzzy search for words based on a set of key
|
||||||
|
@ -65,6 +67,14 @@ public abstract class Dictionary {
|
||||||
// The locale for this dictionary. May be null if unknown (phony dictionary for example).
|
// The locale for this dictionary. May be null if unknown (phony dictionary for example).
|
||||||
public final Locale mLocale;
|
public final Locale mLocale;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set out of the dictionary types listed above that are based on data specific to the user,
|
||||||
|
* e.g., the user's contacts.
|
||||||
|
*/
|
||||||
|
private static final HashSet<String> sUserSpecificDictionaryTypes =
|
||||||
|
new HashSet(Arrays.asList(new String[] { TYPE_USER_TYPED, TYPE_USER, TYPE_CONTACTS,
|
||||||
|
TYPE_USER_HISTORY, TYPE_PERSONALIZATION, TYPE_CONTEXTUAL }));
|
||||||
|
|
||||||
public Dictionary(final String dictType, final Locale locale) {
|
public Dictionary(final String dictType, final Locale locale) {
|
||||||
mDictType = dictType;
|
mDictType = dictType;
|
||||||
mLocale = locale;
|
mLocale = locale;
|
||||||
|
@ -158,6 +168,14 @@ public abstract class Dictionary {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether this dictionary is based on data specific to the user, e.g., the user's contacts.
|
||||||
|
* @return Whether this dictionary is specific to the user.
|
||||||
|
*/
|
||||||
|
public boolean isUserSpecific() {
|
||||||
|
return sUserSpecificDictionaryTypes.contains(mDictType);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Not a true dictionary. A placeholder used to indicate suggestions that don't come from any
|
* Not a true dictionary. A placeholder used to indicate suggestions that don't come from any
|
||||||
* real dictionary.
|
* real dictionary.
|
||||||
|
|
Loading…
Reference in New Issue