diff --git a/java/res/xml/prefs.xml b/java/res/xml/prefs.xml index 6493d0cbdb83cfda1c126f6d20bd61471dc9dc81..494cdc91ddaf48c550dc95cb37044e18704563a9 100644 --- a/java/res/xml/prefs.xml +++ b/java/res/xml/prefs.xml @@ -33,35 +33,9 @@ android:title="@string/settings_screen_multi_lingual" android:key="screen_multi_lingual" /> <PreferenceScreen + android:fragment="com.android.inputmethod.latin.settings.GestureSettingsFragment" android:title="@string/settings_screen_gesture" - android:key="screen_gesture"> - <CheckBoxPreference - android:key="gesture_input" - android:title="@string/gesture_input" - android:summary="@string/gesture_input_summary" - android:defaultValue="true" - android:persistent="true" /> - <CheckBoxPreference - android:key="pref_gesture_floating_preview_text" - android:dependency="gesture_input" - android:title="@string/gesture_floating_preview_text" - android:summary="@string/gesture_floating_preview_text_summary" - android:defaultValue="true" - android:persistent="true" /> - <CheckBoxPreference - android:key="pref_gesture_preview_trail" - android:dependency="gesture_input" - android:title="@string/gesture_preview_trail" - android:defaultValue="true" - android:persistent="true" /> - <CheckBoxPreference - android:key="pref_gesture_space_aware" - android:dependency="gesture_input" - android:title="@string/gesture_space_aware" - android:summary="@string/gesture_space_aware_summary" - android:defaultValue="true" - android:persistent="true" /> - </PreferenceScreen> + android:key="screen_gesture" /> <PreferenceScreen android:title="@string/settings_screen_correction" android:key="screen_correction"> diff --git a/java/res/xml/prefs_screen_gesture.xml b/java/res/xml/prefs_screen_gesture.xml new file mode 100644 index 0000000000000000000000000000000000000000..c87316dfaaad0970c629945f3e88b65de657ed80 --- /dev/null +++ b/java/res/xml/prefs_screen_gesture.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<PreferenceScreen + xmlns:android="http://schemas.android.com/apk/res/android" + android:title="@string/settings_screen_gesture" + android:key="screen_gesture"> + <CheckBoxPreference + android:key="gesture_input" + android:title="@string/gesture_input" + android:summary="@string/gesture_input_summary" + android:defaultValue="true" + android:persistent="true" /> + <CheckBoxPreference + android:key="pref_gesture_floating_preview_text" + android:dependency="gesture_input" + android:title="@string/gesture_floating_preview_text" + android:summary="@string/gesture_floating_preview_text_summary" + android:defaultValue="true" + android:persistent="true" /> + <CheckBoxPreference + android:key="pref_gesture_preview_trail" + android:dependency="gesture_input" + android:title="@string/gesture_preview_trail" + android:defaultValue="true" + android:persistent="true" /> + <CheckBoxPreference + android:key="pref_gesture_space_aware" + android:dependency="gesture_input" + android:title="@string/gesture_space_aware" + android:summary="@string/gesture_space_aware_summary" + android:defaultValue="true" + android:persistent="true" /> +</PreferenceScreen> diff --git a/java/src/com/android/inputmethod/latin/settings/GestureSettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/GestureSettingsFragment.java new file mode 100644 index 0000000000000000000000000000000000000000..b95c35637fd348aac84d42fc6d71e1758e02979f --- /dev/null +++ b/java/src/com/android/inputmethod/latin/settings/GestureSettingsFragment.java @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.inputmethod.latin.settings; + +import android.content.SharedPreferences; +import android.os.Bundle; + +import com.android.inputmethod.latin.R; + +/** + * "Gesture typing preferences" settings sub screen. + * + * This settings sub screen handles the following gesture typing preferences. + * - Enable gesture typing + * - Dynamic floating preview + * - Show gesture trail + * - Phrase gesture + */ +public final class GestureSettingsFragment extends SubScreenFragment { + @Override + public void onCreate(final Bundle icicle) { + super.onCreate(icicle); + addPreferencesFromResource(R.xml.prefs_screen_gesture); + } + + @Override + public void onSharedPreferenceChanged(final SharedPreferences prefs, final String key) { + // Nothing to do here. + } +} diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java index f0bc27972907a71effcd4a91dc677d5b989f3ca0..363cb498d518d22dd1683293b2a1f98d3c94d16f 100644 --- a/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java +++ b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java @@ -117,8 +117,6 @@ public final class SettingsFragment extends InputMethodSettingsFragment ensureConsistencyOfAutoCorrectionSettings(); - final PreferenceScreen gestureScreen = - (PreferenceScreen) findPreference(Settings.SCREEN_GESTURE); final PreferenceScreen correctionScreen = (PreferenceScreen) findPreference(Settings.SCREEN_CORRECTION); final PreferenceScreen advancedScreen = @@ -196,7 +194,7 @@ public final class SettingsFragment extends InputMethodSettingsFragment } if (!Settings.readFromBuildConfigIfGestureInputEnabled(res)) { - getPreferenceScreen().removePreference(gestureScreen); + getPreferenceScreen().removePreference(findPreference(Settings.SCREEN_GESTURE)); } AdditionalFeaturesSettingUtils.addAdditionalFeaturesPreferences(context, this); @@ -210,7 +208,6 @@ public final class SettingsFragment extends InputMethodSettingsFragment public void onResume() { super.onResume(); final SharedPreferences prefs = getPreferenceManager().getSharedPreferences(); - final Resources res = getResources(); final TwoStatePreference showSetupWizardIcon = (TwoStatePreference)findPreference(Settings.PREF_SHOW_SETUP_WIZARD_ICON); if (showSetupWizardIcon != null) { diff --git a/java/src/com/android/inputmethod/latin/utils/FragmentUtils.java b/java/src/com/android/inputmethod/latin/utils/FragmentUtils.java index a44c5764ad6ff0b49517c8af6780c6798b070120..002231aea0ff9830e636188d3510f26c0485dc1b 100644 --- a/java/src/com/android/inputmethod/latin/utils/FragmentUtils.java +++ b/java/src/com/android/inputmethod/latin/utils/FragmentUtils.java @@ -20,6 +20,7 @@ import com.android.inputmethod.dictionarypack.DictionarySettingsFragment; import com.android.inputmethod.latin.about.AboutPreferences; import com.android.inputmethod.latin.settings.CustomInputStyleSettingsFragment; import com.android.inputmethod.latin.settings.DebugSettings; +import com.android.inputmethod.latin.settings.GestureSettingsFragment; import com.android.inputmethod.latin.settings.InputSettingsFragment; import com.android.inputmethod.latin.settings.MultiLingualSettingsFragment; import com.android.inputmethod.latin.settings.SettingsFragment; @@ -39,6 +40,7 @@ public class FragmentUtils { sLatinImeFragments.add(InputSettingsFragment.class.getName()); sLatinImeFragments.add(MultiLingualSettingsFragment.class.getName()); sLatinImeFragments.add(CustomInputStyleSettingsFragment.class.getName()); + sLatinImeFragments.add(GestureSettingsFragment.class.getName()); sLatinImeFragments.add(DebugSettings.class.getName()); sLatinImeFragments.add(SettingsFragment.class.getName()); sLatinImeFragments.add(SpellCheckerSettingsFragment.class.getName());