Adding a system preference whether to speak passwords in accessibility mode (settings).
By default we do not speak passwords if the user has no headset. However, many users find this too restrictive and would like a way to enable password announcement. While we cannot speak the passwords all the time ,to avoid leaking them, we expose a preference so each user can choose the option that best works for him/her. bug:5712607 Change-Id: I1a6e95c392c18dc8d7406b1cef49705756b31254
This commit is contained in:
@@ -2760,6 +2760,8 @@ found in the list of installed apps.</string>
|
|||||||
<string name="accessibility_toggle_large_text_title">Large text</string>
|
<string name="accessibility_toggle_large_text_title">Large text</string>
|
||||||
<!-- Title for the accessibility preference to power button to end a call. [CHAR LIMIT=35] -->
|
<!-- Title for the accessibility preference to power button to end a call. [CHAR LIMIT=35] -->
|
||||||
<string name="accessibility_power_button_ends_call_title">Power button ends call</string>
|
<string name="accessibility_power_button_ends_call_title">Power button ends call</string>
|
||||||
|
<!-- Title for the accessibility preference to speak passwords. [CHAR LIMIT=35] -->
|
||||||
|
<string name="accessibility_speak_password_title">Speak passwords</string>
|
||||||
<!-- Title for accessibility preference to enable touch exploration mode. [CHAR LIMIT=35] -->
|
<!-- Title for accessibility preference to enable touch exploration mode. [CHAR LIMIT=35] -->
|
||||||
<string name="accessibility_touch_exploration_title">Explore by touch</string>
|
<string name="accessibility_touch_exploration_title">Explore by touch</string>
|
||||||
<!-- Summary for accessibility of the touch exploration mode. [CHAR LIMIT=NONE] -->
|
<!-- Summary for accessibility of the touch exploration mode. [CHAR LIMIT=NONE] -->
|
||||||
|
@@ -45,11 +45,17 @@
|
|||||||
android:persistent="false"
|
android:persistent="false"
|
||||||
android:order="3"/>
|
android:order="3"/>
|
||||||
|
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:key="toggle_speak_password_preference"
|
||||||
|
android:title="@string/accessibility_speak_password_title"
|
||||||
|
android:persistent="false"
|
||||||
|
android:order="4"/>
|
||||||
|
|
||||||
<PreferenceScreen
|
<PreferenceScreen
|
||||||
android:key="toggle_touch_exploration_preference"
|
android:key="toggle_touch_exploration_preference"
|
||||||
android:title="@string/accessibility_touch_exploration_title"
|
android:title="@string/accessibility_touch_exploration_title"
|
||||||
android:fragment="com.android.settings.AccessibilitySettings$ToggleTouchExplorationFragment"
|
android:fragment="com.android.settings.AccessibilitySettings$ToggleTouchExplorationFragment"
|
||||||
android:order="4" >
|
android:order="5" >
|
||||||
<extra android:name="title" android:value="@string/accessibility_touch_exploration_title" />
|
<extra android:name="title" android:value="@string/accessibility_touch_exploration_title" />
|
||||||
<extra android:name="summary" android:value="@string/accessibility_touch_exploration_summary" />
|
<extra android:name="summary" android:value="@string/accessibility_touch_exploration_summary" />
|
||||||
<extra android:name="enable_warning_title" android:value="@android:string/dialog_alert_title" />
|
<extra android:name="enable_warning_title" android:value="@android:string/dialog_alert_title" />
|
||||||
@@ -63,7 +69,7 @@
|
|||||||
android:entries="@array/long_press_timeout_selector_titles"
|
android:entries="@array/long_press_timeout_selector_titles"
|
||||||
android:entryValues="@array/long_press_timeout_selector_values"
|
android:entryValues="@array/long_press_timeout_selector_values"
|
||||||
android:persistent="false"
|
android:persistent="false"
|
||||||
android:order="5"/>
|
android:order="6"/>
|
||||||
|
|
||||||
<com.android.settings.AccessibilityEnableScriptInjectionPreference
|
<com.android.settings.AccessibilityEnableScriptInjectionPreference
|
||||||
android:key="toggle_script_injection_preference"
|
android:key="toggle_script_injection_preference"
|
||||||
@@ -74,7 +80,7 @@
|
|||||||
android:positiveButtonText="@string/accessibility_script_injection_button_allow"
|
android:positiveButtonText="@string/accessibility_script_injection_button_allow"
|
||||||
android:negativeButtonText="@string/accessibility_script_injection_button_disallow"
|
android:negativeButtonText="@string/accessibility_script_injection_button_disallow"
|
||||||
android:persistent="false"
|
android:persistent="false"
|
||||||
android:order="6"/>
|
android:order="7"/>
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
|
@@ -108,6 +108,8 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
|||||||
"toggle_power_button_ends_call_preference";
|
"toggle_power_button_ends_call_preference";
|
||||||
private static final String TOGGLE_AUTO_ROTATE_SCREEN_PREFERENCE =
|
private static final String TOGGLE_AUTO_ROTATE_SCREEN_PREFERENCE =
|
||||||
"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 =
|
private static final String TOGGLE_TOUCH_EXPLORATION_PREFERENCE =
|
||||||
"toggle_touch_exploration_preference";
|
"toggle_touch_exploration_preference";
|
||||||
private static final String SELECT_LONG_PRESS_TIMEOUT_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 mToggleLargeTextPreference;
|
||||||
private CheckBoxPreference mTogglePowerButtonEndsCallPreference;
|
private CheckBoxPreference mTogglePowerButtonEndsCallPreference;
|
||||||
private CheckBoxPreference mToggleAutoRotateScreenPreference;
|
private CheckBoxPreference mToggleAutoRotateScreenPreference;
|
||||||
|
private CheckBoxPreference mToggleSpeakPasswordPreference;
|
||||||
private Preference mToggleTouchExplorationPreference;
|
private Preference mToggleTouchExplorationPreference;
|
||||||
private ListPreference mSelectLongPressTimeoutPreference;
|
private ListPreference mSelectLongPressTimeoutPreference;
|
||||||
private AccessibilityEnableScriptInjectionPreference mToggleScriptInjectionPreference;
|
private AccessibilityEnableScriptInjectionPreference mToggleScriptInjectionPreference;
|
||||||
@@ -213,6 +216,8 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
|||||||
} else if (mToggleAutoRotateScreenPreference == preference) {
|
} else if (mToggleAutoRotateScreenPreference == preference) {
|
||||||
handleToggleAutoRotateScreenPreferenceClick();
|
handleToggleAutoRotateScreenPreferenceClick();
|
||||||
return true;
|
return true;
|
||||||
|
} else if (mToggleSpeakPasswordPreference == preference) {
|
||||||
|
handleToggleSpeakPasswordPreferenceClick();
|
||||||
}
|
}
|
||||||
return super.onPreferenceTreeClick(preferenceScreen, preference);
|
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() {
|
private void initializeAllPreferences() {
|
||||||
mServicesCategory = (PreferenceCategory) findPreference(SERVICES_CATEGORY);
|
mServicesCategory = (PreferenceCategory) findPreference(SERVICES_CATEGORY);
|
||||||
mSystemsCategory = (PreferenceCategory) findPreference(SYSTEM_CATEGORY);
|
mSystemsCategory = (PreferenceCategory) findPreference(SYSTEM_CATEGORY);
|
||||||
@@ -268,6 +279,10 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
|||||||
mToggleAutoRotateScreenPreference =
|
mToggleAutoRotateScreenPreference =
|
||||||
(CheckBoxPreference) findPreference(TOGGLE_AUTO_ROTATE_SCREEN_PREFERENCE);
|
(CheckBoxPreference) findPreference(TOGGLE_AUTO_ROTATE_SCREEN_PREFERENCE);
|
||||||
|
|
||||||
|
// Speak passwords.
|
||||||
|
mToggleSpeakPasswordPreference =
|
||||||
|
(CheckBoxPreference) findPreference(TOGGLE_SPEAK_PASSWORD_PREFERENCE);
|
||||||
|
|
||||||
// Touch exploration enabled.
|
// Touch exploration enabled.
|
||||||
mToggleTouchExplorationPreference = findPreference(TOGGLE_TOUCH_EXPLORATION_PREFERENCE);
|
mToggleTouchExplorationPreference = findPreference(TOGGLE_TOUCH_EXPLORATION_PREFERENCE);
|
||||||
|
|
||||||
@@ -427,6 +442,11 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
|
|||||||
Settings.System.ACCELEROMETER_ROTATION, 0) != 0;
|
Settings.System.ACCELEROMETER_ROTATION, 0) != 0;
|
||||||
mToggleAutoRotateScreenPreference.setChecked(autoRotationEnabled);
|
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.
|
// Touch exploration enabled.
|
||||||
if (AccessibilityManager.getInstance(getActivity()).isEnabled()) {
|
if (AccessibilityManager.getInstance(getActivity()).isEnabled()) {
|
||||||
mSystemsCategory.addPreference(mToggleTouchExplorationPreference);
|
mSystemsCategory.addPreference(mToggleTouchExplorationPreference);
|
||||||
|
Reference in New Issue
Block a user