Add a toggle switch for accessibility large pointer icons.

Bug: 25778857
Change-Id: I85f23253dda73b315aa8b1a612cb556f843d94db
This commit is contained in:
Jun Mukai
2015-11-23 10:47:49 -08:00
parent c8c2820770
commit 5875bb86a1
3 changed files with 26 additions and 0 deletions

View File

@@ -3661,6 +3661,8 @@
<string name="accessibility_power_button_ends_call_prerefence_title">Power button ends call</string> <string name="accessibility_power_button_ends_call_prerefence_title">Power button ends call</string>
<!-- Title for the accessibility preference to speak passwords. [CHAR LIMIT=35] --> <!-- Title for the accessibility preference to speak passwords. [CHAR LIMIT=35] -->
<string name="accessibility_toggle_speak_password_preference_title">Speak passwords</string> <string name="accessibility_toggle_speak_password_preference_title">Speak passwords</string>
<!-- Title for the accessibility preference for enabling/disabling large icons for mouse/trackpad pointers. [CHAR LIMIT=35] -->
<string name="accessibility_toggle_large_pointer_icon_title">Large mouse/trackpad pointer icons</string>
<!-- Title for accessibility preference to choose long-press delay i.e. timeout before it is detected. [CHAR LIMIT=35] --> <!-- Title for accessibility preference to choose long-press delay i.e. timeout before it is detected. [CHAR LIMIT=35] -->
<string name="accessibility_long_press_timeout_preference_title">Touch &amp; hold delay</string> <string name="accessibility_long_press_timeout_preference_title">Touch &amp; hold delay</string>
<!-- Title for the accessibility preference to configure display color inversion. [CHAR LIMIT=NONE] --> <!-- Title for the accessibility preference to configure display color inversion. [CHAR LIMIT=NONE] -->

View File

@@ -68,6 +68,10 @@
android:title="@string/accessibility_toggle_speak_password_preference_title" android:title="@string/accessibility_toggle_speak_password_preference_title"
android:persistent="false"/> android:persistent="false"/>
<SwitchPreference
android:key="toggle_large_pointer_icon"
android:title="@string/accessibility_toggle_large_pointer_icon_title" />
<PreferenceScreen <PreferenceScreen
android:fragment="com.android.settings.accessibility.ToggleGlobalGesturePreferenceFragment" android:fragment="com.android.settings.accessibility.ToggleGlobalGesturePreferenceFragment"
android:key="enable_global_gesture_preference_screen" android:key="enable_global_gesture_preference_screen"

View File

@@ -85,6 +85,8 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
"toggle_lock_screen_rotation_preference"; "toggle_lock_screen_rotation_preference";
private static final String TOGGLE_SPEAK_PASSWORD_PREFERENCE = private static final String TOGGLE_SPEAK_PASSWORD_PREFERENCE =
"toggle_speak_password_preference"; "toggle_speak_password_preference";
private static final String TOGGLE_LARGE_POINTER_ICON =
"toggle_large_pointer_icon";
private static final String SELECT_LONG_PRESS_TIMEOUT_PREFERENCE = private static final String SELECT_LONG_PRESS_TIMEOUT_PREFERENCE =
"select_long_press_timeout_preference"; "select_long_press_timeout_preference";
private static final String ENABLE_ACCESSIBILITY_GESTURE_PREFERENCE_SCREEN = private static final String ENABLE_ACCESSIBILITY_GESTURE_PREFERENCE_SCREEN =
@@ -181,6 +183,7 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
private SwitchPreference mTogglePowerButtonEndsCallPreference; private SwitchPreference mTogglePowerButtonEndsCallPreference;
private SwitchPreference mToggleLockScreenRotationPreference; private SwitchPreference mToggleLockScreenRotationPreference;
private SwitchPreference mToggleSpeakPasswordPreference; private SwitchPreference mToggleSpeakPasswordPreference;
private SwitchPreference mToggleLargePointerIconPreference;
private ListPreference mSelectLongPressTimeoutPreference; private ListPreference mSelectLongPressTimeoutPreference;
private Preference mNoServicesMessagePreference; private Preference mNoServicesMessagePreference;
private PreferenceScreen mCaptioningPreferenceScreen; private PreferenceScreen mCaptioningPreferenceScreen;
@@ -278,6 +281,9 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
} else if (mToggleSpeakPasswordPreference == preference) { } else if (mToggleSpeakPasswordPreference == preference) {
handleToggleSpeakPasswordPreferenceClick(); handleToggleSpeakPasswordPreferenceClick();
return true; return true;
} else if (mToggleLargePointerIconPreference == preference) {
handleToggleLargePointerIconPreferenceClick();
return true;
} else if (mGlobalGesturePreferenceScreen == preference) { } else if (mGlobalGesturePreferenceScreen == preference) {
handleToggleEnableAccessibilityGesturePreferenceClick(); handleToggleEnableAccessibilityGesturePreferenceClick();
return true; return true;
@@ -322,6 +328,12 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
mToggleSpeakPasswordPreference.isChecked() ? 1 : 0); mToggleSpeakPasswordPreference.isChecked() ? 1 : 0);
} }
private void handleToggleLargePointerIconPreferenceClick() {
Settings.Secure.putInt(getContentResolver(),
Settings.Secure.ACCESSIBILITY_LARGE_POINTER_ICON,
mToggleLargePointerIconPreference.isChecked() ? 1 : 0);
}
private void handleToggleEnableAccessibilityGesturePreferenceClick() { private void handleToggleEnableAccessibilityGesturePreferenceClick() {
Bundle extras = mGlobalGesturePreferenceScreen.getExtras(); Bundle extras = mGlobalGesturePreferenceScreen.getExtras();
extras.putString(EXTRA_TITLE, getString( extras.putString(EXTRA_TITLE, getString(
@@ -379,6 +391,10 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
mToggleSpeakPasswordPreference = mToggleSpeakPasswordPreference =
(SwitchPreference) findPreference(TOGGLE_SPEAK_PASSWORD_PREFERENCE); (SwitchPreference) findPreference(TOGGLE_SPEAK_PASSWORD_PREFERENCE);
// Large pointer icon.
mToggleLargePointerIconPreference =
(SwitchPreference) findPreference(TOGGLE_LARGE_POINTER_ICON);
// Long press timeout. // Long press timeout.
mSelectLongPressTimeoutPreference = mSelectLongPressTimeoutPreference =
(ListPreference) findPreference(SELECT_LONG_PRESS_TIMEOUT_PREFERENCE); (ListPreference) findPreference(SELECT_LONG_PRESS_TIMEOUT_PREFERENCE);
@@ -565,6 +581,10 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
Settings.Secure.ACCESSIBILITY_SPEAK_PASSWORD, 0) != 0; Settings.Secure.ACCESSIBILITY_SPEAK_PASSWORD, 0) != 0;
mToggleSpeakPasswordPreference.setChecked(speakPasswordEnabled); mToggleSpeakPasswordPreference.setChecked(speakPasswordEnabled);
// Large pointer icon.
mToggleLargePointerIconPreference.setChecked(Settings.Secure.getInt(getContentResolver(),
Settings.Secure.ACCESSIBILITY_LARGE_POINTER_ICON, 0) != 0);
// Long press timeout. // Long press timeout.
final int longPressTimeout = Settings.Secure.getInt(getContentResolver(), final int longPressTimeout = Settings.Secure.getInt(getContentResolver(),
Settings.Secure.LONG_PRESS_TIMEOUT, mLongPressTimeoutDefault); Settings.Secure.LONG_PRESS_TIMEOUT, mLongPressTimeoutDefault);