diff --git a/res/values/strings.xml b/res/values/strings.xml
index bca1d090d37..aa3b94f3a8a 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2760,6 +2760,8 @@ found in the list of installed apps.
Large text
Power button ends call
+
+ Speak passwords
Explore by touch
diff --git a/res/xml/accessibility_settings.xml b/res/xml/accessibility_settings.xml
index 45f1dce9651..90bdfd90a0a 100644
--- a/res/xml/accessibility_settings.xml
+++ b/res/xml/accessibility_settings.xml
@@ -45,11 +45,17 @@
android:persistent="false"
android:order="3"/>
+
+
+ android:order="5" >
@@ -63,7 +69,7 @@
android:entries="@array/long_press_timeout_selector_titles"
android:entryValues="@array/long_press_timeout_selector_values"
android:persistent="false"
- android:order="5"/>
+ android:order="6"/>
+ android:order="7"/>
diff --git a/src/com/android/settings/AccessibilitySettings.java b/src/com/android/settings/AccessibilitySettings.java
index 9aabe216507..827af13d93a 100644
--- a/src/com/android/settings/AccessibilitySettings.java
+++ b/src/com/android/settings/AccessibilitySettings.java
@@ -108,6 +108,8 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
"toggle_power_button_ends_call_preference";
private static final String TOGGLE_AUTO_ROTATE_SCREEN_PREFERENCE =
"toggle_auto_rotate_screen_preference";
+ private static final String TOGGLE_SPEAK_PASSWORD_PREFERENCE =
+ "toggle_speak_password_preference";
private static final String TOGGLE_TOUCH_EXPLORATION_PREFERENCE =
"toggle_touch_exploration_preference";
private static final String SELECT_LONG_PRESS_TIMEOUT_PREFERENCE =
@@ -159,6 +161,7 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
private CheckBoxPreference mToggleLargeTextPreference;
private CheckBoxPreference mTogglePowerButtonEndsCallPreference;
private CheckBoxPreference mToggleAutoRotateScreenPreference;
+ private CheckBoxPreference mToggleSpeakPasswordPreference;
private Preference mToggleTouchExplorationPreference;
private ListPreference mSelectLongPressTimeoutPreference;
private AccessibilityEnableScriptInjectionPreference mToggleScriptInjectionPreference;
@@ -213,6 +216,8 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
} else if (mToggleAutoRotateScreenPreference == preference) {
handleToggleAutoRotateScreenPreferenceClick();
return true;
+ } else if (mToggleSpeakPasswordPreference == preference) {
+ handleToggleSpeakPasswordPreferenceClick();
}
return super.onPreferenceTreeClick(preferenceScreen, preference);
}
@@ -248,6 +253,12 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
}
}
+ private void handleToggleSpeakPasswordPreferenceClick() {
+ Settings.Secure.putInt(getContentResolver(),
+ Settings.Secure.ACCESSIBILITY_SPEAK_PASSWORD,
+ mToggleSpeakPasswordPreference.isChecked() ? 1 : 0);
+ }
+
private void initializeAllPreferences() {
mServicesCategory = (PreferenceCategory) findPreference(SERVICES_CATEGORY);
mSystemsCategory = (PreferenceCategory) findPreference(SYSTEM_CATEGORY);
@@ -268,6 +279,10 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
mToggleAutoRotateScreenPreference =
(CheckBoxPreference) findPreference(TOGGLE_AUTO_ROTATE_SCREEN_PREFERENCE);
+ // Speak passwords.
+ mToggleSpeakPasswordPreference =
+ (CheckBoxPreference) findPreference(TOGGLE_SPEAK_PASSWORD_PREFERENCE);
+
// Touch exploration enabled.
mToggleTouchExplorationPreference = findPreference(TOGGLE_TOUCH_EXPLORATION_PREFERENCE);
@@ -427,6 +442,11 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
Settings.System.ACCELEROMETER_ROTATION, 0) != 0;
mToggleAutoRotateScreenPreference.setChecked(autoRotationEnabled);
+ // Speak passwords.
+ final boolean speakPasswordEnabled = Settings.Secure.getInt(getContentResolver(),
+ Settings.Secure.ACCESSIBILITY_SPEAK_PASSWORD, 0) != 0;
+ mToggleSpeakPasswordPreference.setChecked(speakPasswordEnabled);
+
// Touch exploration enabled.
if (AccessibilityManager.getInstance(getActivity()).isEnabled()) {
mSystemsCategory.addPreference(mToggleTouchExplorationPreference);