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. */