diff options
author | Konsta <konsta09@gmail.com> | 2012-08-20 12:46:26 +0300 |
---|---|---|
committer | Gerrit Code Review <gerrit@review.cyanogenmod.com> | 2012-12-15 05:28:55 -0800 |
commit | 437b43969126dda9e6f5f55f54400081a39f6f0f (patch) | |
tree | 62f61d1c4c1cb27b8c9c9ebfe18712b92b005bb5 | |
parent | ad67308c803ae3715e92e1a757f5e8467589091f (diff) | |
download | packages_apps_settings-437b43969126dda9e6f5f55f54400081a39f6f0f.zip packages_apps_settings-437b43969126dda9e6f5f55f54400081a39f6f0f.tar.gz packages_apps_settings-437b43969126dda9e6f5f55f54400081a39f6f0f.tar.bz2 |
Port "Option to control cursor in text fields using volume keys (2/2)"
Change-Id: I8dad625fd0fa7c56111814ef6b950bd04f2460ae
-rw-r--r-- | res/values/arrays.xml | 13 | ||||
-rw-r--r-- | res/values/strings.xml | 6 | ||||
-rw-r--r-- | res/xml/language_settings.xml | 7 | ||||
-rw-r--r-- | src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java | 19 |
4 files changed, 45 insertions, 0 deletions
diff --git a/res/values/arrays.xml b/res/values/arrays.xml index 4e51050..11069a8 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -1176,5 +1176,18 @@ <item>SOUND</item> </string-array> + <!--- Volume key cursor control --> + <string-array name="volume_key_cursor_control_entries"> + <item>@string/volume_key_cursor_control_off</item> + <item>@string/volume_key_cursor_control_on</item> + <item>@string/volume_key_cursor_control_on_reverse</item> + </string-array> + + <string-array name="volume_key_cursor_control_values"> + <item>0</item> + <item>1</item> + <item>2</item> + </string-array> + <!-- **** CYANOGENMOD EDITS END **** --> </resources> diff --git a/res/values/strings.xml b/res/values/strings.xml index 1ddb803..c3e48bc 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -5037,5 +5037,11 @@ <string name="tiles_reset_title">Reset</string> <string name="tiles_reset_message">Restore the default displayed tiles and layout?</string> + <!--- Volume key cursor control --> + <string name="volume_key_cursor_control_title">Volume key cursor control</string> + <string name="volume_key_cursor_control_off">Disabled</string> + <string name="volume_key_cursor_control_on">Volume up/down moves cursor left/right</string> + <string name="volume_key_cursor_control_on_reverse">Volume up/down moves cursor right/left</string> + <!-- **** CYANOGENMOD ADDITIONS END **** --> </resources> diff --git a/res/xml/language_settings.xml b/res/xml/language_settings.xml index 0bbac06..46d16dc 100644 --- a/res/xml/language_settings.xml +++ b/res/xml/language_settings.xml @@ -73,6 +73,13 @@ android:summary="@string/ime_switcher_notify_summary" android:defaultValue="true" android:persistent="false" /> + <ListPreference + android:key="volume_key_cursor_control" + android:persistent="false" + android:dialogTitle="@string/volume_key_cursor_control_title" + android:title="@string/volume_key_cursor_control_title" + android:entries="@array/volume_key_cursor_control_entries" + android:entryValues="@array/volume_key_cursor_control_values" /> <PreferenceCategory android:key="voice_category" android:title="@string/voice_category" > diff --git a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java index 102c703..980450c 100644 --- a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java +++ b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java @@ -61,6 +61,7 @@ public class InputMethodAndLanguageSettings extends SettingsPreferenceFragment private static final String KEY_INPUT_METHOD_SELECTOR = "input_method_selector"; private static final String KEY_USER_DICTIONARY_SETTINGS = "key_user_dictionary_settings"; private static final String KEY_IME_SWITCHER = "status_bar_ime_switcher"; + private static final String VOLUME_KEY_CURSOR_CONTROL = "volume_key_cursor_control"; // false: on ICS or later private static final boolean SHOW_INPUT_METHOD_SWITCHER_SETTINGS = false; @@ -91,6 +92,7 @@ public class InputMethodAndLanguageSettings extends SettingsPreferenceFragment @SuppressWarnings("unused") private SettingsObserver mSettingsObserver; private Intent mIntentWaitingForResult; + private ListPreference mVolumeKeyCursorControl; @Override public void onCreate(Bundle icicle) { @@ -190,6 +192,14 @@ public class InputMethodAndLanguageSettings extends SettingsPreferenceFragment scp.setFragmentIntent(this, intent); } + mVolumeKeyCursorControl = (ListPreference) findPreference(VOLUME_KEY_CURSOR_CONTROL); + if(mVolumeKeyCursorControl != null) { + mVolumeKeyCursorControl.setOnPreferenceChangeListener(this); + mVolumeKeyCursorControl.setValue(Integer.toString(Settings.System.getInt(getActivity() + .getContentResolver(), Settings.System.VOLUME_KEY_CURSOR_CONTROL, 0))); + mVolumeKeyCursorControl.setSummary(mVolumeKeyCursorControl.getEntry()); + } + mHandler = new Handler(); mSettingsObserver = new SettingsObserver(mHandler, getActivity()); } @@ -398,6 +408,15 @@ public class InputMethodAndLanguageSettings extends SettingsPreferenceFragment } } } + if (preference == mVolumeKeyCursorControl) { + String volumeKeyCursorControl = (String) value; + int val = Integer.parseInt(volumeKeyCursorControl); + Settings.System.putInt(getActivity().getContentResolver(), + Settings.System.VOLUME_KEY_CURSOR_CONTROL, val); + int index = mVolumeKeyCursorControl.findIndexOfValue(volumeKeyCursorControl); + mVolumeKeyCursorControl.setSummary(mVolumeKeyCursorControl.getEntries()[index]); + return true; + } return false; } |