Make "show settings key option" dependent to device configuration

Bug: 3095814
Change-Id: I73b8a5023b398621a910c953eade252dc6412923
main
Tadashi G. Takaoka 2010-10-22 14:28:12 +09:00
parent 41338e6c32
commit 503797ae0e
4 changed files with 16 additions and 6 deletions

View File

@ -20,4 +20,5 @@
<resources> <resources>
<!-- Whether or not Popup on key press is enabled by default --> <!-- Whether or not Popup on key press is enabled by default -->
<bool name="default_popup_preview">false</bool> <bool name="default_popup_preview">false</bool>
<bool name="config_enable_show_settings_key_option">false</bool>
</resources> </resources>

View File

@ -30,4 +30,5 @@
<bool name="default_popup_preview">true</bool> <bool name="default_popup_preview">true</bool>
<bool name="default_recorrection_enabled">true</bool> <bool name="default_recorrection_enabled">true</bool>
<bool name="config_long_press_comma_for_settings_enabled">true</bool> <bool name="config_long_press_comma_for_settings_enabled">true</bool>
<bool name="config_enable_show_settings_key_option">true</bool>
</resources> </resources>

View File

@ -160,11 +160,10 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
// Indicates whether or not we have the settings key // Indicates whether or not we have the settings key
private boolean mHasSettingsKey; private boolean mHasSettingsKey;
private static final int SETTINGS_KEY_MODE_AUTO = R.string.settings_key_mode_auto; private static final int SETTINGS_KEY_MODE_AUTO = R.string.settings_key_mode_auto;
private static final int SETTINGS_KEY_MODE_ALWAYS_SHOW = R.string.settings_key_mode_always_show; private static final int SETTINGS_KEY_MODE_ALWAYS_SHOW =
// NOTE: No need to have SETTINGS_KEY_MODE_ALWAYS_HIDE here because it's not being referred to R.string.settings_key_mode_always_show;
// in the source code now. private static final int SETTINGS_KEY_MODE_ALWAYS_HIDE =
// Default is SETTINGS_KEY_MODE_AUTO. R.string.settings_key_mode_always_hide;
private static final int DEFAULT_SETTINGS_KEY_MODE = SETTINGS_KEY_MODE_AUTO;
private int mLastDisplayWidth; private int mLastDisplayWidth;
private LanguageSwitcher mLanguageSwitcher; private LanguageSwitcher mLanguageSwitcher;
@ -543,8 +542,12 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
private void updateSettingsKeyState(SharedPreferences prefs) { private void updateSettingsKeyState(SharedPreferences prefs) {
Resources resources = mInputMethodService.getResources(); Resources resources = mInputMethodService.getResources();
final boolean showSettingsKeyOption = resources.getBoolean(
R.bool.config_enable_show_settings_key_option);
final int defaultSettingsKeyMode = showSettingsKeyOption
? SETTINGS_KEY_MODE_AUTO : SETTINGS_KEY_MODE_ALWAYS_HIDE;
final String settingsKeyMode = prefs.getString(LatinIMESettings.PREF_SETTINGS_KEY, final String settingsKeyMode = prefs.getString(LatinIMESettings.PREF_SETTINGS_KEY,
resources.getString(DEFAULT_SETTINGS_KEY_MODE)); resources.getString(defaultSettingsKeyMode));
// We show the settings key when 1) SETTINGS_KEY_MODE_ALWAYS_SHOW or // We show the settings key when 1) SETTINGS_KEY_MODE_ALWAYS_SHOW or
// 2) SETTINGS_KEY_MODE_AUTO and there are two or more enabled IMEs on the system // 2) SETTINGS_KEY_MODE_AUTO and there are two or more enabled IMEs on the system
if (settingsKeyMode.equals(resources.getString(SETTINGS_KEY_MODE_ALWAYS_SHOW)) if (settingsKeyMode.equals(resources.getString(SETTINGS_KEY_MODE_ALWAYS_SHOW))

View File

@ -96,6 +96,11 @@ public class LatinIMESettings extends PreferenceActivity
mAutoCompletionThreshold = (ListPreference) findPreference(PREF_AUTO_COMPLETION_THRESHOLD); mAutoCompletionThreshold = (ListPreference) findPreference(PREF_AUTO_COMPLETION_THRESHOLD);
mBigramSuggestion = (CheckBoxPreference) findPreference(PREF_BIGRAM_SUGGESTIONS); mBigramSuggestion = (CheckBoxPreference) findPreference(PREF_BIGRAM_SUGGESTIONS);
ensureConsistencyOfAutoCompletionSettings(); ensureConsistencyOfAutoCompletionSettings();
final boolean showSettingsKeyOption = getResources().getBoolean(
R.bool.config_enable_show_settings_key_option);
if (!showSettingsKeyOption)
getPreferenceScreen().removePreference(mSettingsKeyPreference);
} }
@Override @Override