diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 4f9eaddcfcb..f02c4445492 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -511,4 +511,22 @@
- silent
- notsilent
+
+
+
+
+ - Short
+
+ - Medium
+
+ - Long
+
+
+
+
+ - 500
+ - 1000
+ - 1500
+
+
diff --git a/res/values/donottranslate.xml b/res/values/donottranslate.xml
index e6bd9a6bb7b..ba4ff2ef9d0 100644
--- a/res/values/donottranslate.xml
+++ b/res/values/donottranslate.xml
@@ -33,4 +33,5 @@
- @string/input_method_selector_always_show_value
- @string/input_method_selector_always_hide_value
+
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 85bcbd1a50c..5249ff36ec6 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2551,6 +2551,13 @@ found in the list of installed applications.
During a call, pressing Power ends call instead of turning off screen
+
+ Interaction
+
+ Long press timeout
+
+ 500
+
diff --git a/res/xml/accessibility_settings.xml b/res/xml/accessibility_settings.xml
index f2efb27c73a..4da512113c0 100644
--- a/res/xml/accessibility_settings.xml
+++ b/res/xml/accessibility_settings.xml
@@ -44,4 +44,14 @@
android:persistent="false" />
+
+
+
+
diff --git a/src/com/android/settings/AccessibilitySettings.java b/src/com/android/settings/AccessibilitySettings.java
index cec62b0038c..826410d2788 100644
--- a/src/com/android/settings/AccessibilitySettings.java
+++ b/src/com/android/settings/AccessibilitySettings.java
@@ -26,6 +26,7 @@ import android.net.Uri;
import android.os.Bundle;
import android.os.SystemProperties;
import android.preference.CheckBoxPreference;
+import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceCategory;
import android.preference.PreferenceGroup;
@@ -44,7 +45,8 @@ import java.util.Map;
/**
* Activity with the accessibility settings.
*/
-public class AccessibilitySettings extends SettingsPreferenceFragment implements DialogCreatable {
+public class AccessibilitySettings extends SettingsPreferenceFragment implements DialogCreatable,
+ Preference.OnPreferenceChangeListener {
private static final String DEFAULT_SCREENREADER_MARKET_LINK =
"market://search?q=pname:com.google.android.marvin.talkback";
@@ -66,6 +68,9 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
private final String KEY_TOGGLE_ACCESSIBILITY_SERVICE_CHECKBOX =
"key_toggle_accessibility_service_checkbox";
+ private final String KEY_LONG_PRESS_TIMEOUT_LIST_PREFERENCE =
+ "long_press_timeout_list_preference";
+
private static final int DIALOG_ID_DISABLE_ACCESSIBILITY = 1;
private static final int DIALOG_ID_ENABLE_SCRIPT_INJECTION = 2;
private static final int DIALOG_ID_ENABLE_ACCESSIBILITY_SERVICE = 3;
@@ -80,6 +85,8 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
private PreferenceGroup mAccessibilityServicesCategory;
+ private ListPreference mLongPressTimeoutListPreference;
+
private Map mAccessibilityServices =
new LinkedHashMap();
@@ -105,6 +112,9 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
mPowerButtonEndsCallCheckBox = (CheckBoxPreference) findPreference(
POWER_BUTTON_ENDS_CALL_CHECKBOX);
+ mLongPressTimeoutListPreference = (ListPreference) findPreference(
+ KEY_LONG_PRESS_TIMEOUT_LIST_PREFERENCE);
+
// set the accessibility script injection category
boolean scriptInjectionEnabled = (Settings.Secure.getInt(getContentResolver(),
Settings.Secure.ACCESSIBILITY_SCRIPT_INJECTION, 0) == 1);
@@ -128,6 +138,8 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
// this entire category is irrelevant.
getPreferenceScreen().removePreference(mPowerButtonCategory);
}
+
+ mLongPressTimeoutListPreference.setOnPreferenceChangeListener(this);
}
@Override
@@ -197,6 +209,16 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
}
}
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ if (preference == mLongPressTimeoutListPreference) {
+ int intValue = Integer.parseInt((String) newValue);
+ Settings.Secure.putInt(getContentResolver(),
+ Settings.Secure.LONG_PRESS_TIMEOUT, intValue);
+ return true;
+ }
+ return false;
+ }
+
/**
* Restores the instance state from savedInstanceState
.
*/