diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml index 2b9193690675441cfb091afc7a2cb9c063b330a6..37cb23b70377abcb91e2b120815bde6e5ab944f1 100644 --- a/java/res/values/strings.xml +++ b/java/res/values/strings.xml @@ -75,6 +75,11 @@ <!-- 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 name for enabling insertion of suggestion spans (advanced option) [CHAR LIMIT=25] --> + <string name="enable_span_insert">Enable recorrections</string> + <!-- Option summary for enabling insertion of suggestion spans (advanced option) [CHAR LIMIT=65] --> + <string name="enable_span_insert_summary">Set suggestions for recorrections</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 2f321814eb50eee54e58065b666b857b554758dc..d02e5d7b63ce8cf0e533f7e08ba386b45ba1ca1a 100644 --- a/java/res/xml/prefs.xml +++ b/java/res/xml/prefs.xml @@ -132,6 +132,12 @@ android:summary="@string/bigram_suggestion_summary" android:persistent="true" android:defaultValue="true" /> + <CheckBoxPreference + android:key="enable_span_insert" + android:title="@string/enable_span_insert" + android:summary="@string/enable_span_insert_summary" + android:persistent="true" + android:defaultValue="true" /> <!-- TODO: evaluate results and revive this option. The code already supports it. --> <!-- <CheckBoxPreference --> <!-- android:key="bigram_prediction" --> diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 85363fd36416d3e26abac74fc0c89c66abb4a95c..cea59fe0adf4beac7dd04d16451e7c83d9062ac3 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -1807,9 +1807,13 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar final InputConnection ic = getCurrentInputConnection(); if (ic != null) { mVoiceProxy.rememberReplacedWord(bestWord, mSettingsValues.mWordSeparators); - SuggestedWords suggestedWords = mSuggestionsView.getSuggestions(); - ic.commitText(SuggestionSpanUtils.getTextWithSuggestionSpan( - this, bestWord, suggestedWords), 1); + if (mSettingsValues.mEnableSuggestionSpanInsertion) { + final SuggestedWords suggestedWords = mSuggestionsView.getSuggestions(); + ic.commitText(SuggestionSpanUtils.getTextWithSuggestionSpan( + this, bestWord, suggestedWords), 1); + } else { + ic.commitText(bestWord, 1); + } } mRecorrection.saveRecorrectionSuggestion(mWordComposer, bestWord); mHasUncommittedTypedChars = false; diff --git a/java/src/com/android/inputmethod/latin/Settings.java b/java/src/com/android/inputmethod/latin/Settings.java index 1e2ef482456154474d34f42438a7709e69f7f05d..c42f0564ce220c60d24b654b39f4f5e0063b4306 100644 --- a/java/src/com/android/inputmethod/latin/Settings.java +++ b/java/src/com/android/inputmethod/latin/Settings.java @@ -82,6 +82,8 @@ public class Settings extends InputMethodSettingsActivity "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_KEY_ENABLE_SPAN_INSERT = + "enable_span_insert"; public static final String PREF_USABILITY_STUDY_MODE = "usability_study_mode"; @@ -117,6 +119,7 @@ public class Settings extends InputMethodSettingsActivity // 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 final boolean mEnableSuggestionSpanInsertion; private final boolean mShowSettingsKey; private final boolean mVoiceKeyEnabled; @@ -179,6 +182,8 @@ public class Settings extends InputMethodSettingsActivity && isBigramPredictionEnabled(prefs, res); mAutoCorrectionThreshold = getAutoCorrectionThreshold(prefs, res); mUseContactsDict = prefs.getBoolean(Settings.PREF_KEY_USE_CONTACTS_DICT, true); + mEnableSuggestionSpanInsertion = + prefs.getBoolean(Settings.PREF_KEY_ENABLE_SPAN_INSERT, true); final boolean defaultShowSettingsKey = res.getBoolean( R.bool.config_default_show_settings_key); mShowSettingsKey = isShowSettingsKeyOption(res)