summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonsta <konsta09@gmail.com>2012-08-20 12:46:26 +0300
committerGerrit Code Review <gerrit@review.cyanogenmod.com>2012-12-15 05:28:55 -0800
commit437b43969126dda9e6f5f55f54400081a39f6f0f (patch)
tree62f61d1c4c1cb27b8c9c9ebfe18712b92b005bb5
parentad67308c803ae3715e92e1a757f5e8467589091f (diff)
downloadpackages_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.xml13
-rw-r--r--res/values/strings.xml6
-rw-r--r--res/xml/language_settings.xml7
-rw-r--r--src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java19
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;
}