Add a toggle switch for accessibility large pointer icons.
Bug: 25778857
Change-Id: I85f23253dda73b315aa8b1a612cb556f843d94db
diff --git a/res/values/strings.xml b/res/values/strings.xml
index cc5cf8f..1dabd75 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -3661,6 +3661,8 @@
<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] -->
<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] -->
<string name="accessibility_long_press_timeout_preference_title">Touch & hold delay</string>
<!-- Title for the accessibility preference to configure display color inversion. [CHAR LIMIT=NONE] -->
diff --git a/res/xml/accessibility_settings.xml b/res/xml/accessibility_settings.xml
index 881037d..791f1b8 100644
--- a/res/xml/accessibility_settings.xml
+++ b/res/xml/accessibility_settings.xml
@@ -68,6 +68,10 @@
android:title="@string/accessibility_toggle_speak_password_preference_title"
android:persistent="false"/>
+ <SwitchPreference
+ android:key="toggle_large_pointer_icon"
+ android:title="@string/accessibility_toggle_large_pointer_icon_title" />
+
<PreferenceScreen
android:fragment="com.android.settings.accessibility.ToggleGlobalGesturePreferenceFragment"
android:key="enable_global_gesture_preference_screen"
diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java
index b2ccdd1..672582d 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettings.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettings.java
@@ -85,6 +85,8 @@
"toggle_lock_screen_rotation_preference";
private static final String 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 =
"select_long_press_timeout_preference";
private static final String ENABLE_ACCESSIBILITY_GESTURE_PREFERENCE_SCREEN =
@@ -181,6 +183,7 @@
private SwitchPreference mTogglePowerButtonEndsCallPreference;
private SwitchPreference mToggleLockScreenRotationPreference;
private SwitchPreference mToggleSpeakPasswordPreference;
+ private SwitchPreference mToggleLargePointerIconPreference;
private ListPreference mSelectLongPressTimeoutPreference;
private Preference mNoServicesMessagePreference;
private PreferenceScreen mCaptioningPreferenceScreen;
@@ -278,6 +281,9 @@
} else if (mToggleSpeakPasswordPreference == preference) {
handleToggleSpeakPasswordPreferenceClick();
return true;
+ } else if (mToggleLargePointerIconPreference == preference) {
+ handleToggleLargePointerIconPreferenceClick();
+ return true;
} else if (mGlobalGesturePreferenceScreen == preference) {
handleToggleEnableAccessibilityGesturePreferenceClick();
return true;
@@ -322,6 +328,12 @@
mToggleSpeakPasswordPreference.isChecked() ? 1 : 0);
}
+ private void handleToggleLargePointerIconPreferenceClick() {
+ Settings.Secure.putInt(getContentResolver(),
+ Settings.Secure.ACCESSIBILITY_LARGE_POINTER_ICON,
+ mToggleLargePointerIconPreference.isChecked() ? 1 : 0);
+ }
+
private void handleToggleEnableAccessibilityGesturePreferenceClick() {
Bundle extras = mGlobalGesturePreferenceScreen.getExtras();
extras.putString(EXTRA_TITLE, getString(
@@ -379,6 +391,10 @@
mToggleSpeakPasswordPreference =
(SwitchPreference) findPreference(TOGGLE_SPEAK_PASSWORD_PREFERENCE);
+ // Large pointer icon.
+ mToggleLargePointerIconPreference =
+ (SwitchPreference) findPreference(TOGGLE_LARGE_POINTER_ICON);
+
// Long press timeout.
mSelectLongPressTimeoutPreference =
(ListPreference) findPreference(SELECT_LONG_PRESS_TIMEOUT_PREFERENCE);
@@ -565,6 +581,10 @@
Settings.Secure.ACCESSIBILITY_SPEAK_PASSWORD, 0) != 0;
mToggleSpeakPasswordPreference.setChecked(speakPasswordEnabled);
+ // Large pointer icon.
+ mToggleLargePointerIconPreference.setChecked(Settings.Secure.getInt(getContentResolver(),
+ Settings.Secure.ACCESSIBILITY_LARGE_POINTER_ICON, 0) != 0);
+
// Long press timeout.
final int longPressTimeout = Settings.Secure.getInt(getContentResolver(),
Settings.Secure.LONG_PRESS_TIMEOUT, mLongPressTimeoutDefault);