Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 89764ad4 authored by Jean Chalard's avatar Jean Chalard
Browse files

Simplify text correction settings in latin IME.

Conditionally remove the "Quick fixes", "Bigram suggestions" and
"Usability study mode" options, depending on configuration.
When disabled, have the quick fixes and bigram option become
false if autocorrect is off, and true otherwise.
Also reorder options to bring "Auto correction" above "Show
suggestions".

bug: 3282448

Change-Id: Ib7fd928be417a816ef9e21423a531773069b7468
parent ce9c4171
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -24,6 +24,8 @@
    <bool name="config_enable_show_voice_key_option">false</bool>
    <bool name="config_enable_show_popup_on_keypress_option">false</bool>
    <bool name="config_enable_show_recorrection_option">false</bool>
    <bool name="config_enable_quick_fixes_option">false</bool>
    <bool name="config_enable_bigram_suggestions_option">false</bool>
    <bool name="config_candidate_highlight_font_color_enabled">false</bool>
    <bool name="config_swipe_down_dismiss_keyboard_enabled">false</bool>
    <bool name="config_sliding_key_input_enabled">false</bool>
+6 −0
Original line number Diff line number Diff line
@@ -27,12 +27,18 @@
    <bool name="config_enable_show_voice_key_option">true</bool>
    <bool name="config_enable_show_popup_on_keypress_option">true</bool>
    <bool name="config_enable_show_recorrection_option">true</bool>
    <bool name="config_enable_quick_fixes_option">true</bool>
    <bool name="config_enable_bigram_suggestions_option">true</bool>
    <bool name="config_enable_usability_study_mode_option">false</bool>
    <bool name="config_candidate_highlight_font_color_enabled">true</bool>
    <bool name="config_swipe_down_dismiss_keyboard_enabled">true</bool>
    <bool name="config_sliding_key_input_enabled">true</bool>
    <bool name="config_digit_popup_characters_enabled">true</bool>
    <!-- Whether or not Popup on key press is enabled by default -->
    <bool name="config_default_popup_preview">true</bool>
    <!-- Default values for whether quick fixes and bigram suggestions are activated -->
    <bool name="config_default_quick_fixes">true</bool>
    <bool name="config_default_bigram_suggestions">true</bool>
    <bool name="config_use_spacebar_language_switcher">true</bool>
    <!-- The language is never displayed if == 0, always displayed if < 0 -->
    <integer name="config_delay_before_fadeout_language_on_spacebar">-1</integer>
+10 −10
Original line number Diff line number Diff line
@@ -93,16 +93,6 @@
            android:defaultValue="true"
            />

        <ListPreference
            android:key="show_suggestions_setting"
            android:summary="@string/prefs_show_suggestions_summary"
            android:title="@string/prefs_show_suggestions"
            android:persistent="true"
            android:entryValues="@array/prefs_suggestion_visibility_values"
            android:entries="@array/prefs_suggestion_visibilities"
            android:defaultValue="@string/prefs_suggestion_visibility_default_value"
            />

        <ListPreference
            android:key="auto_correction_threshold"
            android:title="@string/auto_correction"
@@ -113,6 +103,16 @@
            android:defaultValue="@string/auto_correction_threshold_mode_index_modest"
            />

        <ListPreference
            android:key="show_suggestions_setting"
            android:summary="@string/prefs_show_suggestions_summary"
            android:title="@string/prefs_show_suggestions"
            android:persistent="true"
            android:entryValues="@array/prefs_suggestion_visibility_values"
            android:entries="@array/prefs_suggestion_visibilities"
            android:defaultValue="@string/prefs_suggestion_visibility_default_value"
            />

        <CheckBoxPreference
            android:key="bigram_suggestion"
            android:title="@string/bigram_suggestion"
+19 −4
Original line number Diff line number Diff line
@@ -412,7 +412,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
            mSuggest.close();
        }
        final SharedPreferences prefs = mPrefs;
        mQuickFixes = prefs.getBoolean(Settings.PREF_QUICK_FIXES, true);
        mQuickFixes = isQuickFixesEnabled(prefs);

        final Resources res = mResources;
        int mainDicResId = getMainDictionaryResourceId(res);
@@ -2077,7 +2077,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
        mPopupOn = prefs.getBoolean(Settings.PREF_POPUP_ON,
                mResources.getBoolean(R.bool.config_default_popup_preview));
        mAutoCap = prefs.getBoolean(Settings.PREF_AUTO_CAP, true);
        mQuickFixes = prefs.getBoolean(Settings.PREF_QUICK_FIXES, true);
        mQuickFixes = isQuickFixesEnabled(prefs);

        mAutoCorrectEnabled = isAutoCorrectEnabled(prefs);
        mBigramSuggestionEnabled = mAutoCorrectEnabled && isBigramSuggestionEnabled(prefs);
@@ -2126,6 +2126,16 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
        mSuggest.setAutoCorrectionThreshold(autoCorrectionThreshold);
    }

    private boolean isQuickFixesEnabled(SharedPreferences sp) {
        final boolean showQuickFixesOption = mResources.getBoolean(
                R.bool.config_enable_quick_fixes_option);
        if (!showQuickFixesOption) {
            return isAutoCorrectEnabled(sp);
        }
        return sp.getBoolean(Settings.PREF_QUICK_FIXES, mResources.getBoolean(
                R.bool.config_default_quick_fixes));
    }

    private boolean isAutoCorrectEnabled(SharedPreferences sp) {
        final String currentAutoCorrectionSetting = sp.getString(
                Settings.PREF_AUTO_CORRECTION_THRESHOLD,
@@ -2136,8 +2146,13 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
    }

    private boolean isBigramSuggestionEnabled(SharedPreferences sp) {
       // TODO: Define default value instead of 'true'.
       return sp.getBoolean(Settings.PREF_BIGRAM_SUGGESTIONS, true);
        final boolean showBigramSuggestionsOption = mResources.getBoolean(
                R.bool.config_enable_bigram_suggestions_option);
        if (!showBigramSuggestionsOption) {
            return isAutoCorrectEnabled(sp);
        }
        return sp.getBoolean(Settings.PREF_BIGRAM_SUGGESTIONS, mResources.getBoolean(
                R.bool.config_default_bigram_suggestions));
    }

    private void initSuggestPuncList() {
+24 −2
Original line number Diff line number Diff line
@@ -66,6 +66,8 @@ public class Settings extends PreferenceActivity
    public static final String PREF_AUTO_CORRECTION_THRESHOLD = "auto_correction_threshold";
    public static final String PREF_BIGRAM_SUGGESTIONS = "bigram_suggestion";

    public static final String PREF_USABILITY_STUDY_MODE = "usability_study_mode";

    // Dialog ids
    private static final int VOICE_INPUT_CONFIRM_DIALOG = 0;

@@ -114,6 +116,8 @@ public class Settings extends PreferenceActivity

        final PreferenceGroup generalSettings =
                (PreferenceGroup) findPreference(PREF_GENERAL_SETTINGS_KEY);
        final PreferenceGroup textCorrectionGroup =
                (PreferenceGroup) findPreference(PREF_PREDICTION_SETTINGS_KEY);

        final boolean showSettingsKeyOption = getResources().getBoolean(
                R.bool.config_enable_show_settings_key_option);
@@ -149,6 +153,24 @@ public class Settings extends PreferenceActivity
        if (!showRecorrectionOption) {
            generalSettings.removePreference(findPreference(PREF_RECORRECTION_ENABLED));
        }

        final boolean showQuickFixesOption = getResources().getBoolean(
                R.bool.config_enable_quick_fixes_option);
        if (!showQuickFixesOption) {
            textCorrectionGroup.removePreference(findPreference(PREF_QUICK_FIXES));
        }

        final boolean showBigramSuggestionsOption = getResources().getBoolean(
                R.bool.config_enable_bigram_suggestions_option);
        if (!showBigramSuggestionsOption) {
            textCorrectionGroup.removePreference(findPreference(PREF_BIGRAM_SUGGESTIONS));
        }

        final boolean showUsabilityModeStudyOption = getResources().getBoolean(
                R.bool.config_enable_usability_study_mode_option);
        if (!showUsabilityModeStudyOption) {
            getPreferenceScreen().removePreference(findPreference(PREF_USABILITY_STUDY_MODE));
        }
    }

    @Override