aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
diff options
context:
space:
mode:
authorKen Wakasa <kwakasa@google.com>2014-06-23 11:18:50 +0000
committerKen Wakasa <kwakasa@google.com>2014-06-23 11:20:25 +0000
commite6a57bc82e6b86537ba8d1945435590ab2684630 (patch)
tree218608a8089860f63ba6c9357188c9ff7f9750ed /java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
parent339929ba16e4f68fb216ebe49dd3575e563ee8ab (diff)
downloadlatinime-e6a57bc82e6b86537ba8d1945435590ab2684630.tar.gz
latinime-e6a57bc82e6b86537ba8d1945435590ab2684630.tar.xz
latinime-e6a57bc82e6b86537ba8d1945435590ab2684630.zip
Revert "Reorganize Keyboard settings screen"
This reverts commit 339929ba16e4f68fb216ebe49dd3575e563ee8ab. Bug: 11866784 Bug: 13888366 Bug: 15781377 This doesn't build with LOCAL_SDK_VERSION := 19 for UnbundledLatinImeGoogle. Change-Id: Idf8bd335b076152265f245f578dadf651e291878
Diffstat (limited to 'java/src/com/android/inputmethod/latin/settings/SettingsFragment.java')
-rw-r--r--java/src/com/android/inputmethod/latin/settings/SettingsFragment.java118
1 files changed, 55 insertions, 63 deletions
diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
index 9d824121c..5eb0377c7 100644
--- a/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
+++ b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
@@ -27,15 +27,13 @@ import android.content.res.Resources;
import android.media.AudioManager;
import android.os.Build;
import android.os.Bundle;
+import android.preference.CheckBoxPreference;
import android.preference.ListPreference;
import android.preference.Preference;
+import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceGroup;
import android.preference.PreferenceScreen;
-import android.preference.TwoStatePreference;
import android.util.Log;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
import android.view.inputmethod.InputMethodSubtype;
import com.android.inputmethod.dictionarypack.DictionarySettingsActivity;
@@ -63,10 +61,6 @@ public final class SettingsFragment extends InputMethodSettingsFragment
DBG_USE_INTERNAL_PERSONAL_DICTIONARY_SETTINGS
|| Build.VERSION.SDK_INT <= Build.VERSION_CODES.JELLY_BEAN_MR2;
- private static final int NO_MENU_GROUP = Menu.NONE; // We don't care about menu grouping.
- private static final int MENU_FEEDBACK = Menu.FIRST; // The first menu item id and order.
- private static final int MENU_ABOUT = Menu.FIRST + 1; // The second menu item id and order.
-
private void setPreferenceEnabled(final String preferenceKey, final boolean enabled) {
final Preference preference = findPreference(preferenceKey);
if (preference != null) {
@@ -99,7 +93,6 @@ public final class SettingsFragment extends InputMethodSettingsFragment
@Override
public void onCreate(final Bundle icicle) {
super.onCreate(icicle);
- setHasOptionsMenu(true);
setInputMethodSettingsCategoryTitle(R.string.language_selection_title);
setSubtypeEnablerTitle(R.string.select_language);
addPreferencesFromResource(R.xml.prefs);
@@ -124,42 +117,66 @@ public final class SettingsFragment extends InputMethodSettingsFragment
ensureConsistencyOfAutoCorrectionSettings();
- final PreferenceScreen inputScreen =
- (PreferenceScreen) findPreference(Settings.SCREEN_INPUT);
- final PreferenceScreen advancedScreen =
- (PreferenceScreen) findPreference(Settings.SCREEN_ADVANCED);
- final Preference debugScreen = findPreference(Settings.SCREEN_DEBUG);
- if (Settings.isInternal(prefs)) {
- final Intent debugSettingsIntent = new Intent(Intent.ACTION_MAIN);
- debugSettingsIntent.setClassName(
- context.getPackageName(), DebugSettingsActivity.class.getName());
- debugScreen.setIntent(debugSettingsIntent);
- } else {
- advancedScreen.removePreference(debugScreen);
+ final PreferenceGroup generalSettings =
+ (PreferenceGroup) findPreference(Settings.PREF_GENERAL_SETTINGS);
+ final PreferenceGroup miscSettings =
+ (PreferenceGroup) findPreference(Settings.PREF_MISC_SETTINGS);
+
+ final Preference debugSettings = findPreference(Settings.PREF_DEBUG_SETTINGS);
+ if (debugSettings != null) {
+ if (Settings.isInternal(prefs)) {
+ final Intent debugSettingsIntent = new Intent(Intent.ACTION_MAIN);
+ debugSettingsIntent.setClassName(
+ context.getPackageName(), DebugSettingsActivity.class.getName());
+ debugSettings.setIntent(debugSettingsIntent);
+ } else {
+ miscSettings.removePreference(debugSettings);
+ }
+ }
+
+ final Preference feedbackSettings = findPreference(Settings.PREF_SEND_FEEDBACK);
+ final Preference aboutSettings = findPreference(Settings.PREF_ABOUT_KEYBOARD);
+ if (feedbackSettings != null) {
+ if (FeedbackUtils.isFeedbackFormSupported()) {
+ feedbackSettings.setOnPreferenceClickListener(new OnPreferenceClickListener() {
+ @Override
+ public boolean onPreferenceClick(final Preference pref) {
+ FeedbackUtils.showFeedbackForm(getActivity());
+ return true;
+ }
+ });
+ aboutSettings.setTitle(FeedbackUtils.getAboutKeyboardTitleResId());
+ aboutSettings.setIntent(FeedbackUtils.getAboutKeyboardIntent(getActivity()));
+ } else {
+ miscSettings.removePreference(feedbackSettings);
+ miscSettings.removePreference(aboutSettings);
+ }
}
final boolean showVoiceKeyOption = res.getBoolean(
R.bool.config_enable_show_voice_key_option);
if (!showVoiceKeyOption) {
- removePreference(Settings.PREF_VOICE_INPUT_KEY, inputScreen);
+ removePreference(Settings.PREF_VOICE_INPUT_KEY, generalSettings);
}
+ final PreferenceGroup advancedSettings =
+ (PreferenceGroup) findPreference(Settings.PREF_ADVANCED_SETTINGS);
if (!AudioAndHapticFeedbackManager.getInstance().hasVibrator()) {
- removePreference(Settings.PREF_VIBRATE_ON, inputScreen);
- removePreference(Settings.PREF_VIBRATION_DURATION_SETTINGS, advancedScreen);
+ removePreference(Settings.PREF_VIBRATE_ON, generalSettings);
+ removePreference(Settings.PREF_VIBRATION_DURATION_SETTINGS, advancedSettings);
}
if (!Settings.ENABLE_SHOW_LANGUAGE_SWITCH_KEY_SETTINGS) {
- final PreferenceScreen multiLingualScreen =
- (PreferenceScreen) findPreference(Settings.SCREEN_MULTI_LINGUAL);
- removePreference(Settings.PREF_SHOW_LANGUAGE_SWITCH_KEY, multiLingualScreen);
removePreference(
- Settings.PREF_INCLUDE_OTHER_IMES_IN_LANGUAGE_SWITCH_LIST, multiLingualScreen);
+ Settings.PREF_SHOW_LANGUAGE_SWITCH_KEY, advancedSettings);
+ removePreference(
+ Settings.PREF_INCLUDE_OTHER_IMES_IN_LANGUAGE_SWITCH_LIST, advancedSettings);
}
+
// TODO: consolidate key preview dismiss delay with the key preview animation parameters.
if (!Settings.readFromBuildConfigIfToShowKeyPreviewPopupOption(res)) {
- removePreference(Settings.PREF_POPUP_ON, inputScreen);
- removePreference(Settings.PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY, advancedScreen);
+ removePreference(Settings.PREF_POPUP_ON, generalSettings);
+ removePreference(Settings.PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY, advancedSettings);
} else {
// TODO: Cleanup this setup.
final ListPreference keyPreviewPopupDismissDelay =
@@ -182,18 +199,18 @@ public final class SettingsFragment extends InputMethodSettingsFragment
}
if (!res.getBoolean(R.bool.config_setup_wizard_available)) {
- removePreference(Settings.PREF_SHOW_SETUP_WIZARD_ICON, advancedScreen);
+ removePreference(Settings.PREF_SHOW_SETUP_WIZARD_ICON, advancedSettings);
}
- final PreferenceScreen correctionScreen =
- (PreferenceScreen) findPreference(Settings.SCREEN_CORRECTION);
+ final PreferenceGroup textCorrectionGroup =
+ (PreferenceGroup) findPreference(Settings.PREF_CORRECTION_SETTINGS);
final PreferenceScreen dictionaryLink =
(PreferenceScreen) findPreference(Settings.PREF_CONFIGURE_DICTIONARIES_KEY);
final Intent intent = dictionaryLink.getIntent();
intent.setClassName(context.getPackageName(), DictionarySettingsActivity.class.getName());
final int number = context.getPackageManager().queryIntentActivities(intent, 0).size();
if (0 >= number) {
- correctionScreen.removePreference(dictionaryLink);
+ textCorrectionGroup.removePreference(dictionaryLink);
}
if (ProductionFlag.IS_METRICS_LOGGING_SUPPORTED) {
@@ -207,7 +224,7 @@ public final class SettingsFragment extends InputMethodSettingsFragment
enableMetricsLogging.setTitle(enableMetricsLoggingTitle);
}
} else {
- removePreference(Settings.PREF_ENABLE_METRICS_LOGGING, advancedScreen);
+ removePreference(Settings.PREF_ENABLE_METRICS_LOGGING, textCorrectionGroup);
}
final Preference editPersonalDictionary =
@@ -221,7 +238,7 @@ public final class SettingsFragment extends InputMethodSettingsFragment
}
if (!Settings.readFromBuildConfigIfGestureInputEnabled(res)) {
- removePreference(Settings.SCREEN_GESTURE, getPreferenceScreen());
+ removePreference(Settings.PREF_GESTURE_SETTINGS, getPreferenceScreen());
}
AdditionalFeaturesSettingUtils.addAdditionalFeaturesPreferences(context, this);
@@ -244,8 +261,8 @@ public final class SettingsFragment extends InputMethodSettingsFragment
voiceInputKeyOption.setSummary(isShortcutImeEnabled ? null
: res.getText(R.string.voice_input_disabled_summary));
}
- final TwoStatePreference showSetupWizardIcon =
- (TwoStatePreference)findPreference(Settings.PREF_SHOW_SETUP_WIZARD_ICON);
+ final CheckBoxPreference showSetupWizardIcon =
+ (CheckBoxPreference)findPreference(Settings.PREF_SHOW_SETUP_WIZARD_ICON);
if (showSetupWizardIcon != null) {
showSetupWizardIcon.setChecked(Settings.readShowSetupWizardIcon(prefs, getActivity()));
}
@@ -459,29 +476,4 @@ public final class SettingsFragment extends InputMethodSettingsFragment
userDictionaryPreference.setFragment(UserDictionaryList.class.getName());
}
}
-
- @Override
- public void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) {
- if (!FeedbackUtils.isFeedbackFormSupported()) {
- return;
- }
- menu.add(NO_MENU_GROUP, MENU_FEEDBACK /* itemId */, MENU_FEEDBACK /* order */,
- R.string.send_feedback);
- menu.add(NO_MENU_GROUP, MENU_ABOUT /* itemId */, MENU_ABOUT /* order */,
- FeedbackUtils.getAboutKeyboardTitleResId());
- }
-
- @Override
- public boolean onOptionsItemSelected(final MenuItem item) {
- final int itemId = item.getItemId();
- if (itemId == MENU_FEEDBACK) {
- FeedbackUtils.showFeedbackForm(getActivity());
- return true;
- }
- if (itemId == MENU_ABOUT) {
- startActivity(FeedbackUtils.getAboutKeyboardIntent(getActivity()));
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
}