* commit '26a2986581410536a98e1c311214dc90d9934546': Make "Show correction suggestions" as a binary option
This commit is contained in:
commit
4dba300e50
9 changed files with 52 additions and 94 deletions
|
@ -18,26 +18,6 @@
|
||||||
*/
|
*/
|
||||||
-->
|
-->
|
||||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
<!-- Always show the suggestion strip -->
|
|
||||||
<string name="prefs_suggestion_visibility_show_value">0</string>
|
|
||||||
<!-- Show the suggestion strip only on portrait mode -->
|
|
||||||
<string name="prefs_suggestion_visibility_show_only_portrait_value">1</string>
|
|
||||||
<!-- Always hide the suggestion strip -->
|
|
||||||
<string name="prefs_suggestion_visibility_hide_value">2</string>
|
|
||||||
<!-- Default value of the visibility of the suggestion strip -->
|
|
||||||
<string name="prefs_suggestion_visibility_default_value">0</string>
|
|
||||||
<!-- Option to show/hide the suggestion strip -->
|
|
||||||
<string-array name="prefs_suggestion_visibility_values">
|
|
||||||
<item>@string/prefs_suggestion_visibility_show_value</item>
|
|
||||||
<item>@string/prefs_suggestion_visibility_show_only_portrait_value</item>
|
|
||||||
<item>@string/prefs_suggestion_visibility_hide_value</item>
|
|
||||||
</string-array>
|
|
||||||
<string-array name="prefs_suggestion_visibilities">
|
|
||||||
<item>@string/prefs_suggestion_visibility_show_name</item>
|
|
||||||
<item>@string/prefs_suggestion_visibility_show_only_portrait_name</item>
|
|
||||||
<item>@string/prefs_suggestion_visibility_hide_name</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<!-- For backward compatibility.
|
<!-- For backward compatibility.
|
||||||
See {@link SettingsValues#needsToShowVoiceInputKey(SharedPreferences,Resources)} -->
|
See {@link SettingsValues#needsToShowVoiceInputKey(SharedPreferences,Resources)} -->
|
||||||
<string name="voice_mode_main">0</string>
|
<string name="voice_mode_main">0</string>
|
||||||
|
|
|
@ -108,9 +108,6 @@
|
||||||
<string name="prefs_show_suggestions">Show correction suggestions</string>
|
<string name="prefs_show_suggestions">Show correction suggestions</string>
|
||||||
<!-- Description for show suggestions -->
|
<!-- Description for show suggestions -->
|
||||||
<string name="prefs_show_suggestions_summary">Display suggested words while typing</string>
|
<string name="prefs_show_suggestions_summary">Display suggested words while typing</string>
|
||||||
<string name="prefs_suggestion_visibility_show_name">Always show</string>
|
|
||||||
<string name="prefs_suggestion_visibility_show_only_portrait_name">Show in portrait mode</string>
|
|
||||||
<string name="prefs_suggestion_visibility_hide_name">Always hide</string>
|
|
||||||
|
|
||||||
<!-- Option to block potentially offensive words to be shown [CHAR_LIMIT=30] -->
|
<!-- Option to block potentially offensive words to be shown [CHAR_LIMIT=30] -->
|
||||||
<string name="prefs_block_potentially_offensive_title">Block offensive words</string>
|
<string name="prefs_block_potentially_offensive_title">Block offensive words</string>
|
||||||
|
|
|
@ -144,13 +144,11 @@
|
||||||
android:entries="@array/auto_correction_threshold_modes"
|
android:entries="@array/auto_correction_threshold_modes"
|
||||||
android:defaultValue="@string/auto_correction_threshold_mode_index_modest"
|
android:defaultValue="@string/auto_correction_threshold_mode_index_modest"
|
||||||
android:persistent="true" />
|
android:persistent="true" />
|
||||||
<ListPreference
|
<CheckBoxPreference
|
||||||
android:key="show_suggestions_setting"
|
android:key="show_suggestions"
|
||||||
android:summary="@string/prefs_show_suggestions_summary"
|
android:summary="@string/prefs_show_suggestions_summary"
|
||||||
android:title="@string/prefs_show_suggestions"
|
android:title="@string/prefs_show_suggestions"
|
||||||
android:entryValues="@array/prefs_suggestion_visibility_values"
|
android:defaultValue="true"
|
||||||
android:entries="@array/prefs_suggestion_visibilities"
|
|
||||||
android:defaultValue="@string/prefs_suggestion_visibility_default_value"
|
|
||||||
android:persistent="true" />
|
android:persistent="true" />
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
android:key="pref_key_use_personalized_dicts"
|
android:key="pref_key_use_personalized_dicts"
|
||||||
|
|
|
@ -280,7 +280,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!latinIme.mSettings.getCurrent()
|
if (!latinIme.mSettings.getCurrent()
|
||||||
.isCurrentOrientationAllowingSuggestionsPerUserSettings()) {
|
.isSuggestionsEnabledPerUserSettings()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
removeMessages(MSG_RESUME_SUGGESTIONS);
|
removeMessages(MSG_RESUME_SUGGESTIONS);
|
||||||
|
@ -650,7 +650,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
mDictionaryFacilitator.resetDictionaries(this /* context */, locale,
|
mDictionaryFacilitator.resetDictionaries(this /* context */, locale,
|
||||||
settingsValues.mUseContactsDict, settingsValues.mUsePersonalizedDicts,
|
settingsValues.mUseContactsDict, settingsValues.mUsePersonalizedDicts,
|
||||||
false /* forceReloadMainDictionary */, this);
|
false /* forceReloadMainDictionary */, this);
|
||||||
if (settingsValues.mAutoCorrectionEnabled) {
|
if (settingsValues.mAutoCorrectionEnabledPerUserSettings) {
|
||||||
mInputLogic.mSuggest.setAutoCorrectionThreshold(
|
mInputLogic.mSuggest.setAutoCorrectionThreshold(
|
||||||
settingsValues.mAutoCorrectionThreshold);
|
settingsValues.mAutoCorrectionThreshold);
|
||||||
}
|
}
|
||||||
|
@ -862,7 +862,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
mainKeyboardView.closing();
|
mainKeyboardView.closing();
|
||||||
currentSettingsValues = mSettings.getCurrent();
|
currentSettingsValues = mSettings.getCurrent();
|
||||||
|
|
||||||
if (currentSettingsValues.mAutoCorrectionEnabled) {
|
if (currentSettingsValues.mAutoCorrectionEnabledPerUserSettings) {
|
||||||
suggest.setAutoCorrectionThreshold(
|
suggest.setAutoCorrectionThreshold(
|
||||||
currentSettingsValues.mAutoCorrectionThreshold);
|
currentSettingsValues.mAutoCorrectionThreshold);
|
||||||
}
|
}
|
||||||
|
@ -977,7 +977,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onExtractedTextClicked() {
|
public void onExtractedTextClicked() {
|
||||||
if (mSettings.getCurrent().isSuggestionsRequested()) {
|
if (mSettings.getCurrent().needsToLookupSuggestions()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -995,7 +995,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onExtractedCursorMovement(final int dx, final int dy) {
|
public void onExtractedCursorMovement(final int dx, final int dy) {
|
||||||
if (mSettings.getCurrent().isSuggestionsRequested()) {
|
if (mSettings.getCurrent().needsToLookupSuggestions()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1379,7 +1379,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
ImportantNoticeUtils.shouldShowImportantNotice(this);
|
ImportantNoticeUtils.shouldShowImportantNotice(this);
|
||||||
final boolean shouldShowSuggestionCandidates =
|
final boolean shouldShowSuggestionCandidates =
|
||||||
currentSettingsValues.mInputAttributes.mShouldShowSuggestions
|
currentSettingsValues.mInputAttributes.mShouldShowSuggestions
|
||||||
&& currentSettingsValues.isCurrentOrientationAllowingSuggestionsPerUserSettings();
|
&& currentSettingsValues.isSuggestionsEnabledPerUserSettings();
|
||||||
final boolean shouldShowSuggestionsStripUnlessPassword = shouldShowImportantNotice
|
final boolean shouldShowSuggestionsStripUnlessPassword = shouldShowImportantNotice
|
||||||
|| currentSettingsValues.mShowsVoiceInputKey
|
|| currentSettingsValues.mShowsVoiceInputKey
|
||||||
|| shouldShowSuggestionCandidates
|
|| shouldShowSuggestionCandidates
|
||||||
|
@ -1403,7 +1403,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentSettingsValues.isCurrentOrientationAllowingSuggestionsPerUserSettings()
|
if (currentSettingsValues.isSuggestionsEnabledPerUserSettings()
|
||||||
// We should clear suggestions if there is no suggestion to show.
|
// We should clear suggestions if there is no suggestion to show.
|
||||||
|| noSuggestionsToShow
|
|| noSuggestionsToShow
|
||||||
|| currentSettingsValues.isApplicationSpecifiedCompletionsOn()) {
|
|| currentSettingsValues.isApplicationSpecifiedCompletionsOn()) {
|
||||||
|
|
|
@ -745,7 +745,7 @@ public final class InputLogic {
|
||||||
// a letter or a word connector.
|
// a letter or a word connector.
|
||||||
&& settingsValues.isWordCodePoint(codePoint)
|
&& settingsValues.isWordCodePoint(codePoint)
|
||||||
// We never go into composing state if suggestions are not requested.
|
// We never go into composing state if suggestions are not requested.
|
||||||
&& settingsValues.isSuggestionsRequested() &&
|
&& settingsValues.needsToLookupSuggestions() &&
|
||||||
// In languages with spaces, we only start composing a word when we are not already
|
// In languages with spaces, we only start composing a word when we are not already
|
||||||
// touching a word. In languages without spaces, the above conditions are sufficient.
|
// touching a word. In languages without spaces, the above conditions are sufficient.
|
||||||
(!mConnection.isCursorTouchingWord(settingsValues.mSpacingAndPunctuations)
|
(!mConnection.isCursorTouchingWord(settingsValues.mSpacingAndPunctuations)
|
||||||
|
@ -810,7 +810,7 @@ public final class InputLogic {
|
||||||
}
|
}
|
||||||
// isComposingWord() may have changed since we stored wasComposing
|
// isComposingWord() may have changed since we stored wasComposing
|
||||||
if (mWordComposer.isComposingWord()) {
|
if (mWordComposer.isComposingWord()) {
|
||||||
if (settingsValues.mAutoCorrectionEnabled) {
|
if (settingsValues.mAutoCorrectionEnabledPerUserSettings) {
|
||||||
final String separator = shouldAvoidSendingCode ? LastComposedWord.NOT_A_SEPARATOR
|
final String separator = shouldAvoidSendingCode ? LastComposedWord.NOT_A_SEPARATOR
|
||||||
: StringUtils.newSingleCodePointString(codePoint);
|
: StringUtils.newSingleCodePointString(codePoint);
|
||||||
commitCurrentAutoCorrection(settingsValues, separator, handler);
|
commitCurrentAutoCorrection(settingsValues, separator, handler);
|
||||||
|
@ -1029,7 +1029,7 @@ public final class InputLogic {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (inputTransaction.mSettingsValues
|
if (inputTransaction.mSettingsValues
|
||||||
.isCurrentOrientationAllowingSuggestionsPerUserSettings()
|
.isSuggestionsEnabledPerUserSettings()
|
||||||
&& inputTransaction.mSettingsValues.mSpacingAndPunctuations
|
&& inputTransaction.mSettingsValues.mSpacingAndPunctuations
|
||||||
.mCurrentLanguageHasSpaces
|
.mCurrentLanguageHasSpaces
|
||||||
&& !mConnection.isCursorFollowedByWordCharacter(
|
&& !mConnection.isCursorFollowedByWordCharacter(
|
||||||
|
@ -1224,7 +1224,7 @@ public final class InputLogic {
|
||||||
// If correction is not enabled, we don't add words to the user history dictionary.
|
// If correction is not enabled, we don't add words to the user history dictionary.
|
||||||
// That's to avoid unintended additions in some sensitive fields, or fields that
|
// That's to avoid unintended additions in some sensitive fields, or fields that
|
||||||
// expect to receive non-words.
|
// expect to receive non-words.
|
||||||
if (!settingsValues.mAutoCorrectionEnabled) return;
|
if (!settingsValues.mAutoCorrectionEnabledPerUserSettings) return;
|
||||||
|
|
||||||
if (TextUtils.isEmpty(suggestion)) return;
|
if (TextUtils.isEmpty(suggestion)) return;
|
||||||
final boolean wasAutoCapitalized =
|
final boolean wasAutoCapitalized =
|
||||||
|
@ -1237,7 +1237,7 @@ public final class InputLogic {
|
||||||
|
|
||||||
public void performUpdateSuggestionStripSync(final SettingsValues settingsValues) {
|
public void performUpdateSuggestionStripSync(final SettingsValues settingsValues) {
|
||||||
// Check if we have a suggestion engine attached.
|
// Check if we have a suggestion engine attached.
|
||||||
if (!settingsValues.isSuggestionsRequested()) {
|
if (!settingsValues.needsToLookupSuggestions()) {
|
||||||
if (mWordComposer.isComposingWord()) {
|
if (mWordComposer.isComposingWord()) {
|
||||||
Log.w(TAG, "Called updateSuggestionsOrPredictions but suggestions were not "
|
Log.w(TAG, "Called updateSuggestionsOrPredictions but suggestions were not "
|
||||||
+ "requested!");
|
+ "requested!");
|
||||||
|
@ -1299,7 +1299,7 @@ public final class InputLogic {
|
||||||
// how to segment them yet.
|
// how to segment them yet.
|
||||||
|| !settingsValues.mSpacingAndPunctuations.mCurrentLanguageHasSpaces
|
|| !settingsValues.mSpacingAndPunctuations.mCurrentLanguageHasSpaces
|
||||||
// If no suggestions are requested, don't try restarting suggestions.
|
// If no suggestions are requested, don't try restarting suggestions.
|
||||||
|| !settingsValues.isSuggestionsRequested()
|
|| !settingsValues.needsToLookupSuggestions()
|
||||||
// If we are currently in a batch input, we must not resume suggestions, or the result
|
// If we are currently in a batch input, we must not resume suggestions, or the result
|
||||||
// of the batch input will replace the new composition. This may happen in the corner case
|
// of the batch input will replace the new composition. This may happen in the corner case
|
||||||
// that the app moves the cursor on its own accord during a batch input.
|
// that the app moves the cursor on its own accord during a batch input.
|
||||||
|
@ -2003,7 +2003,7 @@ public final class InputLogic {
|
||||||
new SettingsValuesForSuggestion(settingsValues.mBlockPotentiallyOffensive,
|
new SettingsValuesForSuggestion(settingsValues.mBlockPotentiallyOffensive,
|
||||||
settingsValues.mPhraseGestureEnabled,
|
settingsValues.mPhraseGestureEnabled,
|
||||||
settingsValues.mAdditionalFeaturesSettingValues),
|
settingsValues.mAdditionalFeaturesSettingValues),
|
||||||
settingsValues.mAutoCorrectionEnabled,
|
settingsValues.mAutoCorrectionEnabledPerUserSettings,
|
||||||
sessionId, sequenceNumber, callback);
|
sessionId, sequenceNumber, callback);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,7 +57,9 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
|
||||||
public static final String PREF_EDIT_PERSONAL_DICTIONARY = "edit_personal_dictionary";
|
public static final String PREF_EDIT_PERSONAL_DICTIONARY = "edit_personal_dictionary";
|
||||||
public static final String PREF_CONFIGURE_DICTIONARIES_KEY = "configure_dictionaries_key";
|
public static final String PREF_CONFIGURE_DICTIONARIES_KEY = "configure_dictionaries_key";
|
||||||
public static final String PREF_AUTO_CORRECTION_THRESHOLD = "auto_correction_threshold";
|
public static final String PREF_AUTO_CORRECTION_THRESHOLD = "auto_correction_threshold";
|
||||||
public static final String PREF_SHOW_SUGGESTIONS_SETTING = "show_suggestions_setting";
|
// PREF_SHOW_SUGGESTIONS_SETTING_OBSOLETE is obsolete. Use PREF_SHOW_SUGGESTIONS instead.
|
||||||
|
public static final String PREF_SHOW_SUGGESTIONS_SETTING_OBSOLETE = "show_suggestions_setting";
|
||||||
|
public static final String PREF_SHOW_SUGGESTIONS = "show_suggestions";
|
||||||
public static final String PREF_KEY_USE_CONTACTS_DICT = "pref_key_use_contacts_dict";
|
public static final String PREF_KEY_USE_CONTACTS_DICT = "pref_key_use_contacts_dict";
|
||||||
public static final String PREF_KEY_USE_PERSONALIZED_DICTS = "pref_key_use_personalized_dicts";
|
public static final String PREF_KEY_USE_PERSONALIZED_DICTS = "pref_key_use_personalized_dicts";
|
||||||
public static final String PREF_KEY_USE_DOUBLE_SPACE_PERIOD =
|
public static final String PREF_KEY_USE_DOUBLE_SPACE_PERIOD =
|
||||||
|
|
|
@ -247,7 +247,6 @@ public final class SettingsFragment extends InputMethodSettingsFragment
|
||||||
if (showSetupWizardIcon != null) {
|
if (showSetupWizardIcon != null) {
|
||||||
showSetupWizardIcon.setChecked(Settings.readShowSetupWizardIcon(prefs, getActivity()));
|
showSetupWizardIcon.setChecked(Settings.readShowSetupWizardIcon(prefs, getActivity()));
|
||||||
}
|
}
|
||||||
updateListPreferenceSummaryToCurrentValue(Settings.PREF_SHOW_SUGGESTIONS_SETTING);
|
|
||||||
updateListPreferenceSummaryToCurrentValue(Settings.PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY);
|
updateListPreferenceSummaryToCurrentValue(Settings.PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY);
|
||||||
final ListPreference keyboardThemePref = (ListPreference)findPreference(
|
final ListPreference keyboardThemePref = (ListPreference)findPreference(
|
||||||
Settings.PREF_KEYBOARD_THEME);
|
Settings.PREF_KEYBOARD_THEME);
|
||||||
|
@ -298,7 +297,6 @@ public final class SettingsFragment extends InputMethodSettingsFragment
|
||||||
LauncherIconVisibilityManager.updateSetupWizardIconVisibility(getActivity());
|
LauncherIconVisibilityManager.updateSetupWizardIconVisibility(getActivity());
|
||||||
}
|
}
|
||||||
ensureConsistencyOfAutoCorrectionSettings();
|
ensureConsistencyOfAutoCorrectionSettings();
|
||||||
updateListPreferenceSummaryToCurrentValue(Settings.PREF_SHOW_SUGGESTIONS_SETTING);
|
|
||||||
updateListPreferenceSummaryToCurrentValue(Settings.PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY);
|
updateListPreferenceSummaryToCurrentValue(Settings.PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY);
|
||||||
updateListPreferenceSummaryToCurrentValue(Settings.PREF_KEYBOARD_THEME);
|
updateListPreferenceSummaryToCurrentValue(Settings.PREF_KEYBOARD_THEME);
|
||||||
refreshEnablingsOfKeypressSoundAndVibrationSettings(prefs, getResources());
|
refreshEnablingsOfKeypressSoundAndVibrationSettings(prefs, getResources());
|
||||||
|
|
|
@ -85,9 +85,8 @@ public final class SettingsValues {
|
||||||
public final int mKeyPreviewPopupDismissDelay;
|
public final int mKeyPreviewPopupDismissDelay;
|
||||||
private final boolean mAutoCorrectEnabled;
|
private final boolean mAutoCorrectEnabled;
|
||||||
public final float mAutoCorrectionThreshold;
|
public final float mAutoCorrectionThreshold;
|
||||||
// TODO: Rename this to mAutoCorrectionEnabledPerUserSettings.
|
public final boolean mAutoCorrectionEnabledPerUserSettings;
|
||||||
public final boolean mAutoCorrectionEnabled;
|
private final boolean mSuggestionsEnabledPerUserSettings;
|
||||||
public final int mSuggestionVisibility;
|
|
||||||
public final int mDisplayOrientation;
|
public final int mDisplayOrientation;
|
||||||
private final AsyncResultHolder<AppWorkaroundsUtils> mAppWorkarounds;
|
private final AsyncResultHolder<AppWorkaroundsUtils> mAppWorkarounds;
|
||||||
|
|
||||||
|
@ -155,11 +154,9 @@ public final class SettingsValues {
|
||||||
mGestureFloatingPreviewTextEnabled = prefs.getBoolean(
|
mGestureFloatingPreviewTextEnabled = prefs.getBoolean(
|
||||||
Settings.PREF_GESTURE_FLOATING_PREVIEW_TEXT, true);
|
Settings.PREF_GESTURE_FLOATING_PREVIEW_TEXT, true);
|
||||||
mPhraseGestureEnabled = Settings.readPhraseGestureEnabled(prefs, res);
|
mPhraseGestureEnabled = Settings.readPhraseGestureEnabled(prefs, res);
|
||||||
mAutoCorrectionEnabled = mAutoCorrectEnabled && !mInputAttributes.mInputTypeNoAutoCorrect;
|
mAutoCorrectionEnabledPerUserSettings = mAutoCorrectEnabled
|
||||||
final String showSuggestionsSetting = prefs.getString(
|
&& !mInputAttributes.mInputTypeNoAutoCorrect;
|
||||||
Settings.PREF_SHOW_SUGGESTIONS_SETTING,
|
mSuggestionsEnabledPerUserSettings = readSuggestionsEnabled(prefs);
|
||||||
res.getString(R.string.prefs_suggestion_visibility_default_value));
|
|
||||||
mSuggestionVisibility = createSuggestionVisibility(res, showSuggestionsSetting);
|
|
||||||
AdditionalFeaturesSettingUtils.readAdditionalFeaturesPreferencesIntoArray(
|
AdditionalFeaturesSettingUtils.readAdditionalFeaturesPreferencesIntoArray(
|
||||||
prefs, mAdditionalFeaturesSettingValues);
|
prefs, mAdditionalFeaturesSettingValues);
|
||||||
mIsInternal = Settings.isInternal(prefs);
|
mIsInternal = Settings.isInternal(prefs);
|
||||||
|
@ -193,17 +190,13 @@ public final class SettingsValues {
|
||||||
return mInputAttributes.mApplicationSpecifiedCompletionOn;
|
return mInputAttributes.mApplicationSpecifiedCompletionOn;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Rename this to needsToLookupSuggestions().
|
public boolean needsToLookupSuggestions() {
|
||||||
public boolean isSuggestionsRequested() {
|
|
||||||
return mInputAttributes.mShouldShowSuggestions
|
return mInputAttributes.mShouldShowSuggestions
|
||||||
&& (mAutoCorrectionEnabled
|
&& (mAutoCorrectionEnabledPerUserSettings || isSuggestionsEnabledPerUserSettings());
|
||||||
|| isCurrentOrientationAllowingSuggestionsPerUserSettings());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isCurrentOrientationAllowingSuggestionsPerUserSettings() {
|
public boolean isSuggestionsEnabledPerUserSettings() {
|
||||||
return (mSuggestionVisibility == SUGGESTION_VISIBILITY_SHOW_VALUE)
|
return mSuggestionsEnabledPerUserSettings;
|
||||||
|| (mSuggestionVisibility == SUGGESTION_VISIBILITY_SHOW_ONLY_PORTRAIT_VALUE
|
|
||||||
&& mDisplayOrientation == Configuration.ORIENTATION_PORTRAIT);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isWordSeparator(final int code) {
|
public boolean isWordSeparator(final int code) {
|
||||||
|
@ -263,26 +256,18 @@ public final class SettingsValues {
|
||||||
return null == appWorkaroundUtils ? false : appWorkaroundUtils.isBrokenByRecorrection();
|
return null == appWorkaroundUtils ? false : appWorkaroundUtils.isBrokenByRecorrection();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final int SUGGESTION_VISIBILITY_SHOW_VALUE =
|
private static final String SUGGESTIONS_VISIBILITY_HIDE_VALUE_OBSOLETE = "2";
|
||||||
R.string.prefs_suggestion_visibility_show_value;
|
|
||||||
private static final int SUGGESTION_VISIBILITY_SHOW_ONLY_PORTRAIT_VALUE =
|
|
||||||
R.string.prefs_suggestion_visibility_show_only_portrait_value;
|
|
||||||
private static final int SUGGESTION_VISIBILITY_HIDE_VALUE =
|
|
||||||
R.string.prefs_suggestion_visibility_hide_value;
|
|
||||||
private static final int[] SUGGESTION_VISIBILITY_VALUE_ARRAY = new int[] {
|
|
||||||
SUGGESTION_VISIBILITY_SHOW_VALUE,
|
|
||||||
SUGGESTION_VISIBILITY_SHOW_ONLY_PORTRAIT_VALUE,
|
|
||||||
SUGGESTION_VISIBILITY_HIDE_VALUE
|
|
||||||
};
|
|
||||||
|
|
||||||
private static int createSuggestionVisibility(final Resources res,
|
private static boolean readSuggestionsEnabled(final SharedPreferences prefs) {
|
||||||
final String suggestionVisiblityStr) {
|
if (prefs.contains(Settings.PREF_SHOW_SUGGESTIONS_SETTING_OBSOLETE)) {
|
||||||
for (int visibility : SUGGESTION_VISIBILITY_VALUE_ARRAY) {
|
final boolean alwaysHide = SUGGESTIONS_VISIBILITY_HIDE_VALUE_OBSOLETE.equals(
|
||||||
if (suggestionVisiblityStr.equals(res.getString(visibility))) {
|
prefs.getString(Settings.PREF_SHOW_SUGGESTIONS_SETTING_OBSOLETE, null));
|
||||||
return visibility;
|
prefs.edit()
|
||||||
}
|
.remove(Settings.PREF_SHOW_SUGGESTIONS_SETTING_OBSOLETE)
|
||||||
|
.putBoolean(Settings.PREF_SHOW_SUGGESTIONS, !alwaysHide)
|
||||||
|
.apply();
|
||||||
}
|
}
|
||||||
throw new RuntimeException("Bug: visibility string is not configured correctly");
|
return prefs.getBoolean(Settings.PREF_SHOW_SUGGESTIONS, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean readBigramPredictionEnabled(final SharedPreferences prefs,
|
private static boolean readBigramPredictionEnabled(final SharedPreferences prefs,
|
||||||
|
@ -396,10 +381,10 @@ public final class SettingsValues {
|
||||||
sb.append("" + mAutoCorrectEnabled);
|
sb.append("" + mAutoCorrectEnabled);
|
||||||
sb.append("\n mAutoCorrectionThreshold = ");
|
sb.append("\n mAutoCorrectionThreshold = ");
|
||||||
sb.append("" + mAutoCorrectionThreshold);
|
sb.append("" + mAutoCorrectionThreshold);
|
||||||
sb.append("\n mAutoCorrectionEnabled = ");
|
sb.append("\n mAutoCorrectionEnabledPerUserSettings = ");
|
||||||
sb.append("" + mAutoCorrectionEnabled);
|
sb.append("" + mAutoCorrectionEnabledPerUserSettings);
|
||||||
sb.append("\n mSuggestionVisibility = ");
|
sb.append("\n mSuggestionsEnabledPerUserSettings = ");
|
||||||
sb.append("" + mSuggestionVisibility);
|
sb.append("" + mSuggestionsEnabledPerUserSettings);
|
||||||
sb.append("\n mDisplayOrientation = ");
|
sb.append("\n mDisplayOrientation = ");
|
||||||
sb.append("" + mDisplayOrientation);
|
sb.append("" + mDisplayOrientation);
|
||||||
sb.append("\n mAppWorkarounds = ");
|
sb.append("\n mAppWorkarounds = ");
|
||||||
|
|
|
@ -16,12 +16,12 @@
|
||||||
|
|
||||||
package com.android.inputmethod.latin;
|
package com.android.inputmethod.latin;
|
||||||
|
|
||||||
import com.android.inputmethod.latin.settings.Settings;
|
|
||||||
|
|
||||||
import android.test.suitebuilder.annotation.LargeTest;
|
import android.test.suitebuilder.annotation.LargeTest;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.view.inputmethod.BaseInputConnection;
|
import android.view.inputmethod.BaseInputConnection;
|
||||||
|
|
||||||
|
import com.android.inputmethod.latin.settings.Settings;
|
||||||
|
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public class InputLogicTests extends InputTestsBase {
|
public class InputLogicTests extends InputTestsBase {
|
||||||
|
|
||||||
|
@ -242,16 +242,14 @@ public class InputLogicTests extends InputTestsBase {
|
||||||
|
|
||||||
public void testDoubleSpacePeriod() {
|
public void testDoubleSpacePeriod() {
|
||||||
// Reset settings to default, else these tests will go flaky.
|
// Reset settings to default, else these tests will go flaky.
|
||||||
setStringPreference(Settings.PREF_SHOW_SUGGESTIONS_SETTING, "0", "0");
|
setBooleanPreference(Settings.PREF_SHOW_SUGGESTIONS, true, true);
|
||||||
setStringPreference(Settings.PREF_AUTO_CORRECTION_THRESHOLD, "1", "1");
|
setStringPreference(Settings.PREF_AUTO_CORRECTION_THRESHOLD, "1", "1");
|
||||||
setBooleanPreference(Settings.PREF_KEY_USE_DOUBLE_SPACE_PERIOD, true, true);
|
setBooleanPreference(Settings.PREF_KEY_USE_DOUBLE_SPACE_PERIOD, true, true);
|
||||||
testDoubleSpacePeriodWithSettings(true /* expectsPeriod */);
|
testDoubleSpacePeriodWithSettings(true /* expectsPeriod */);
|
||||||
// "Suggestion visibility" to "always hide"
|
// "Suggestion visibility" to off
|
||||||
testDoubleSpacePeriodWithSettings(true, Settings.PREF_SHOW_SUGGESTIONS_SETTING, "2");
|
testDoubleSpacePeriodWithSettings(true, Settings.PREF_SHOW_SUGGESTIONS, false);
|
||||||
// "Suggestion visibility" to "portrait only"
|
// "Suggestion visibility" to on
|
||||||
testDoubleSpacePeriodWithSettings(true, Settings.PREF_SHOW_SUGGESTIONS_SETTING, "1");
|
testDoubleSpacePeriodWithSettings(true, Settings.PREF_SHOW_SUGGESTIONS, true);
|
||||||
// "Suggestion visibility" to "always show"
|
|
||||||
testDoubleSpacePeriodWithSettings(true, Settings.PREF_SHOW_SUGGESTIONS_SETTING, "0");
|
|
||||||
|
|
||||||
// "Double-space period" to "off"
|
// "Double-space period" to "off"
|
||||||
testDoubleSpacePeriodWithSettings(false, Settings.PREF_KEY_USE_DOUBLE_SPACE_PERIOD, false);
|
testDoubleSpacePeriodWithSettings(false, Settings.PREF_KEY_USE_DOUBLE_SPACE_PERIOD, false);
|
||||||
|
@ -264,10 +262,10 @@ public class InputLogicTests extends InputTestsBase {
|
||||||
testDoubleSpacePeriodWithSettings(true, Settings.PREF_AUTO_CORRECTION_THRESHOLD, "3");
|
testDoubleSpacePeriodWithSettings(true, Settings.PREF_AUTO_CORRECTION_THRESHOLD, "3");
|
||||||
|
|
||||||
// "Suggestion visibility" to "always hide" and "Auto-correction" to "off"
|
// "Suggestion visibility" to "always hide" and "Auto-correction" to "off"
|
||||||
testDoubleSpacePeriodWithSettings(true, Settings.PREF_SHOW_SUGGESTIONS_SETTING, "0",
|
testDoubleSpacePeriodWithSettings(true, Settings.PREF_SHOW_SUGGESTIONS, false,
|
||||||
Settings.PREF_AUTO_CORRECTION_THRESHOLD, "0");
|
Settings.PREF_AUTO_CORRECTION_THRESHOLD, "0");
|
||||||
// "Suggestion visibility" to "always hide" and "Auto-correction" to "off"
|
// "Suggestion visibility" to "always hide" and "Auto-correction" to "off"
|
||||||
testDoubleSpacePeriodWithSettings(false, Settings.PREF_SHOW_SUGGESTIONS_SETTING, "0",
|
testDoubleSpacePeriodWithSettings(false, Settings.PREF_SHOW_SUGGESTIONS, false,
|
||||||
Settings.PREF_AUTO_CORRECTION_THRESHOLD, "0",
|
Settings.PREF_AUTO_CORRECTION_THRESHOLD, "0",
|
||||||
Settings.PREF_KEY_USE_DOUBLE_SPACE_PERIOD, false);
|
Settings.PREF_KEY_USE_DOUBLE_SPACE_PERIOD, false);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue