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.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
|
||||
|
@ -65,6 +67,14 @@ public abstract class Dictionary {
|
|||
// The locale for this dictionary. May be null if unknown (phony dictionary for example).
|
||||
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) {
|
||||
mDictType = dictType;
|
||||
mLocale = locale;
|
||||
|
@ -158,6 +168,14 @@ public abstract class Dictionary {
|
|||
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
|
||||
* real dictionary.
|
||||
|
|
Loading…
Reference in New Issue