aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2011-06-13 01:48:00 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-06-13 01:48:00 -0700
commit90cb2e6296726960b12e622ffa2b30c5ff92a079 (patch)
treec1fe255aff608980f006ca05815d32393e7a4586 /java
parent070760dc5abdb9a850a94c509eeb9f486515af59 (diff)
parent699094f9b6e0a4621e8b3cfab70b59c0c7c086bb (diff)
downloadlatinime-90cb2e6296726960b12e622ffa2b30c5ff92a079.tar.gz
latinime-90cb2e6296726960b12e622ffa2b30c5ff92a079.tar.xz
latinime-90cb2e6296726960b12e622ffa2b30c5ff92a079.zip
Merge "Add an option to use or not the contacts dictionary."
Diffstat (limited to 'java')
-rw-r--r--java/res/values/strings.xml5
-rw-r--r--java/res/xml/prefs.xml6
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java12
-rw-r--r--java/src/com/android/inputmethod/latin/Settings.java5
-rw-r--r--java/src/com/android/inputmethod/latin/Suggest.java7
5 files changed, 31 insertions, 4 deletions
diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml
index b75b21a84..3d03271ad 100644
--- a/java/res/values/strings.xml
+++ b/java/res/values/strings.xml
@@ -58,6 +58,11 @@
<!-- Description for delay for dismissing a popup on screen: default value of the delay [CHAR LIMIT=15] -->
<string name="key_preview_popup_dismiss_default_delay">Default</string>
+ <!-- Option name for enabling or disabling the use of names of people in Contacts for suggestion and correction [CHAR LIMIT=25] -->
+ <string name="use_contacts_dict">Suggest Contact names</string>
+ <!-- Description for option enabling or disabling the use of names of people in Contacts for suggestion and correction [CHAR LIMIT=65] -->
+ <string name="use_contacts_dict_summary">Use names from Contacts for suggestions and corrections</string>
+
<!-- Option to enable auto capitalization of sentences -->
<string name="auto_cap">Auto-capitalization</string>
diff --git a/java/res/xml/prefs.xml b/java/res/xml/prefs.xml
index b0497a51c..5f4a27d91 100644
--- a/java/res/xml/prefs.xml
+++ b/java/res/xml/prefs.xml
@@ -138,6 +138,12 @@
<ListPreference
android:key="pref_key_preview_popup_dismiss_delay"
android:title="@string/key_preview_popup_dismiss_delay" />
+ <CheckBoxPreference
+ android:key="pref_key_use_contacts_dict"
+ android:title="@string/use_contacts_dict"
+ android:summary="@string/use_contacts_dict_summary"
+ android:persistent="true"
+ android:defaultValue="true" />
</PreferenceScreen>
<!-- <Preference
android:title="Debug Settings"
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 5b242b1e0..940f6b835 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -155,7 +155,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
private UserDictionary mUserDictionary;
private UserBigramDictionary mUserBigramDictionary;
- private ContactsDictionary mContactsDictionary;
private AutoDictionary mAutoDictionary;
// TODO: Create an inner class to group options and pseudo-options to improve readability.
@@ -407,6 +406,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
if (null == mPrefs) mPrefs = PreferenceManager.getDefaultSharedPreferences(this);
if (null == mSubtypeSwitcher) mSubtypeSwitcher = SubtypeSwitcher.getInstance();
mSettingsValues = new Settings.Values(mPrefs, this, mSubtypeSwitcher.getInputLocaleStr());
+ resetContactsDictionary();
}
private void initSuggest() {
@@ -429,8 +429,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
mUserDictionary = new UserDictionary(this, localeStr);
mSuggest.setUserDictionary(mUserDictionary);
- mContactsDictionary = new ContactsDictionary(this, Suggest.DIC_CONTACTS);
- mSuggest.setContactsDictionary(mContactsDictionary);
+ resetContactsDictionary();
mAutoDictionary = new AutoDictionary(this, this, localeStr, Suggest.DIC_AUTO);
mSuggest.setAutoDictionary(mAutoDictionary);
@@ -443,6 +442,13 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
Utils.setSystemLocale(res, savedLocale);
}
+ private void resetContactsDictionary() {
+ if (null == mSuggest) return;
+ ContactsDictionary contactsDictionary = mSettingsValues.mUseContactsDict
+ ? new ContactsDictionary(this, Suggest.DIC_CONTACTS) : null;
+ mSuggest.setContactsDictionary(contactsDictionary);
+ }
+
/* package private */ void resetSuggestMainDict() {
final String localeStr = mSubtypeSwitcher.getInputLocaleStr();
final Locale keyboardLocale = Utils.constructLocaleFromString(localeStr);
diff --git a/java/src/com/android/inputmethod/latin/Settings.java b/java/src/com/android/inputmethod/latin/Settings.java
index 956c51e06..3ad2a5965 100644
--- a/java/src/com/android/inputmethod/latin/Settings.java
+++ b/java/src/com/android/inputmethod/latin/Settings.java
@@ -79,6 +79,8 @@ public class Settings extends PreferenceActivity
public static final String PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY =
"pref_key_preview_popup_dismiss_delay";
+ public static final String PREF_KEY_USE_CONTACTS_DICT =
+ "pref_key_use_contacts_dict";
public static final String PREF_USABILITY_STUDY_MODE = "usability_study_mode";
@@ -114,6 +116,7 @@ public class Settings extends PreferenceActivity
public final boolean mBigramSuggestionEnabled;
// Prediction: use bigrams to predict the next word when there is no input for it yet
public final boolean mBigramPredictionEnabled;
+ public final boolean mUseContactsDict;
public Values(final SharedPreferences prefs, final Context context,
final String localeStr) {
@@ -175,6 +178,8 @@ public class Settings extends PreferenceActivity
mAutoCorrectionThreshold = getAutoCorrectionThreshold(prefs, res);
+ mUseContactsDict = prefs.getBoolean(Settings.PREF_KEY_USE_CONTACTS_DICT, true);
+
Utils.setSystemLocale(res, savedLocale);
}
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index ca75866c0..33f9820cc 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -184,12 +184,17 @@ public class Suggest implements Dictionary.WordCallback {
}
/**
- * Sets an optional contacts dictionary resource to be loaded.
+ * Sets an optional contacts dictionary resource to be loaded. It is also possible to remove
+ * the contacts dictionary by passing null to this method. In this case no contacts dictionary
+ * won't be used.
*/
public void setContactsDictionary(Dictionary contactsDictionary) {
if (contactsDictionary != null) {
mUnigramDictionaries.put(DICT_KEY_CONTACTS, contactsDictionary);
mBigramDictionaries.put(DICT_KEY_CONTACTS, contactsDictionary);
+ } else {
+ mUnigramDictionaries.remove(DICT_KEY_CONTACTS);
+ mBigramDictionaries.remove(DICT_KEY_CONTACTS);
}
}