diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index f560f8ad7b158..740e55c9098a5 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -4919,6 +4919,15 @@ public final class Settings { public static final String ACCESSIBILITY_AUTOCLICK_DELAY = "accessibility_autoclick_delay"; + /** + * Whether or not larger size icons are used for the pointer of mouse/trackpad for + * accessibility. + * (0 = false, 1 = true) + * @hide + */ + public static final String ACCESSIBILITY_LARGE_POINTER_ICON = + "accessibility_large_pointer_icon"; + /** * The timeout for considering a press to be a long press in milliseconds. * @hide diff --git a/core/java/android/view/PointerIcon.java b/core/java/android/view/PointerIcon.java index b61706ef44243..d2a7d4ad4859c 100644 --- a/core/java/android/view/PointerIcon.java +++ b/core/java/android/view/PointerIcon.java @@ -16,6 +16,8 @@ package android.view; +import android.os.UserHandle; +import android.provider.Settings; import com.android.internal.util.XmlUtils; import android.annotation.XmlRes; @@ -199,9 +201,14 @@ public final class PointerIcon implements Parcelable { styleIndex = getSystemIconStyleIndex(STYLE_DEFAULT); } + int accessibilityConfig = Settings.Secure.getIntForUser( + context.getContentResolver(), Settings.Secure.ACCESSIBILITY_LARGE_POINTER_ICON, + 0, UserHandle.USER_CURRENT); + int defStyle = (accessibilityConfig == 1) ? + com.android.internal.R.style.LargePointer : com.android.internal.R.style.Pointer; TypedArray a = context.obtainStyledAttributes(null, com.android.internal.R.styleable.Pointer, - com.android.internal.R.attr.pointerStyle, 0); + 0, defStyle); int resourceId = a.getResourceId(styleIndex, -1); a.recycle(); diff --git a/core/res/res/drawable-mdpi/pointer_alias_large.png b/core/res/res/drawable-mdpi/pointer_alias_large.png new file mode 100644 index 0000000000000..283bf7f48fece Binary files /dev/null and b/core/res/res/drawable-mdpi/pointer_alias_large.png differ diff --git a/core/res/res/drawable-mdpi/pointer_all_scroll_large.png b/core/res/res/drawable-mdpi/pointer_all_scroll_large.png new file mode 100644 index 0000000000000..c29db87027361 Binary files /dev/null and b/core/res/res/drawable-mdpi/pointer_all_scroll_large.png differ diff --git a/core/res/res/drawable-mdpi/pointer_arrow_large.png b/core/res/res/drawable-mdpi/pointer_arrow_large.png new file mode 100644 index 0000000000000..9f59c4cae9219 Binary files /dev/null and b/core/res/res/drawable-mdpi/pointer_arrow_large.png differ diff --git a/core/res/res/drawable-mdpi/pointer_cell_large.png b/core/res/res/drawable-mdpi/pointer_cell_large.png new file mode 100644 index 0000000000000..3dec5e5d825f9 Binary files /dev/null and b/core/res/res/drawable-mdpi/pointer_cell_large.png differ diff --git a/core/res/res/drawable-mdpi/pointer_context_menu_large.png b/core/res/res/drawable-mdpi/pointer_context_menu_large.png new file mode 100644 index 0000000000000..7c9e250d48842 Binary files /dev/null and b/core/res/res/drawable-mdpi/pointer_context_menu_large.png differ diff --git a/core/res/res/drawable-mdpi/pointer_copy_large.png b/core/res/res/drawable-mdpi/pointer_copy_large.png new file mode 100644 index 0000000000000..18f4696ffc210 Binary files /dev/null and b/core/res/res/drawable-mdpi/pointer_copy_large.png differ diff --git a/core/res/res/drawable-mdpi/pointer_crosshair_large.png b/core/res/res/drawable-mdpi/pointer_crosshair_large.png new file mode 100644 index 0000000000000..ea1f5fc07ff7f Binary files /dev/null and b/core/res/res/drawable-mdpi/pointer_crosshair_large.png differ diff --git a/core/res/res/drawable-mdpi/pointer_grab_large.png b/core/res/res/drawable-mdpi/pointer_grab_large.png new file mode 100644 index 0000000000000..2e327661d68fa Binary files /dev/null and b/core/res/res/drawable-mdpi/pointer_grab_large.png differ diff --git a/core/res/res/drawable-mdpi/pointer_grabbing_large.png b/core/res/res/drawable-mdpi/pointer_grabbing_large.png new file mode 100644 index 0000000000000..3c547517392ae Binary files /dev/null and b/core/res/res/drawable-mdpi/pointer_grabbing_large.png differ diff --git a/core/res/res/drawable-mdpi/pointer_hand_large.png b/core/res/res/drawable-mdpi/pointer_hand_large.png new file mode 100644 index 0000000000000..785047f7cdfe7 Binary files /dev/null and b/core/res/res/drawable-mdpi/pointer_hand_large.png differ diff --git a/core/res/res/drawable-mdpi/pointer_help_large.png b/core/res/res/drawable-mdpi/pointer_help_large.png new file mode 100644 index 0000000000000..6552f9bb333dd Binary files /dev/null and b/core/res/res/drawable-mdpi/pointer_help_large.png differ diff --git a/core/res/res/drawable-mdpi/pointer_horizontal_double_arrow_large.png b/core/res/res/drawable-mdpi/pointer_horizontal_double_arrow_large.png new file mode 100644 index 0000000000000..70861065d4ef4 Binary files /dev/null and b/core/res/res/drawable-mdpi/pointer_horizontal_double_arrow_large.png differ diff --git a/core/res/res/drawable-mdpi/pointer_nodrop_large.png b/core/res/res/drawable-mdpi/pointer_nodrop_large.png new file mode 100644 index 0000000000000..da981df3de298 Binary files /dev/null and b/core/res/res/drawable-mdpi/pointer_nodrop_large.png differ diff --git a/core/res/res/drawable-mdpi/pointer_text_large.png b/core/res/res/drawable-mdpi/pointer_text_large.png new file mode 100644 index 0000000000000..2fba190552b94 Binary files /dev/null and b/core/res/res/drawable-mdpi/pointer_text_large.png differ diff --git a/core/res/res/drawable-mdpi/pointer_top_left_diagonal_double_arrow_large.png b/core/res/res/drawable-mdpi/pointer_top_left_diagonal_double_arrow_large.png new file mode 100644 index 0000000000000..eecaa89204ed6 Binary files /dev/null and b/core/res/res/drawable-mdpi/pointer_top_left_diagonal_double_arrow_large.png differ diff --git a/core/res/res/drawable-mdpi/pointer_top_right_diagonal_double_arrow_large.png b/core/res/res/drawable-mdpi/pointer_top_right_diagonal_double_arrow_large.png new file mode 100644 index 0000000000000..9d47ecf793efa Binary files /dev/null and b/core/res/res/drawable-mdpi/pointer_top_right_diagonal_double_arrow_large.png differ diff --git a/core/res/res/drawable-mdpi/pointer_vertical_double_arrow_large.png b/core/res/res/drawable-mdpi/pointer_vertical_double_arrow_large.png new file mode 100644 index 0000000000000..fd777b14bad19 Binary files /dev/null and b/core/res/res/drawable-mdpi/pointer_vertical_double_arrow_large.png differ diff --git a/core/res/res/drawable-mdpi/pointer_vertical_text_large.png b/core/res/res/drawable-mdpi/pointer_vertical_text_large.png new file mode 100644 index 0000000000000..1cbe49adb32a1 Binary files /dev/null and b/core/res/res/drawable-mdpi/pointer_vertical_text_large.png differ diff --git a/core/res/res/drawable-mdpi/pointer_zoom_in_large.png b/core/res/res/drawable-mdpi/pointer_zoom_in_large.png new file mode 100644 index 0000000000000..923ad7922649c Binary files /dev/null and b/core/res/res/drawable-mdpi/pointer_zoom_in_large.png differ diff --git a/core/res/res/drawable-mdpi/pointer_zoom_out_large.png b/core/res/res/drawable-mdpi/pointer_zoom_out_large.png new file mode 100644 index 0000000000000..aa47eb94fbc61 Binary files /dev/null and b/core/res/res/drawable-mdpi/pointer_zoom_out_large.png differ diff --git a/core/res/res/drawable/pointer_alias_large_icon.xml b/core/res/res/drawable/pointer_alias_large_icon.xml new file mode 100644 index 0000000000000..149f58cf5d013 --- /dev/null +++ b/core/res/res/drawable/pointer_alias_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_all_scroll_large_icon.xml b/core/res/res/drawable/pointer_all_scroll_large_icon.xml new file mode 100644 index 0000000000000..c580f765cfef1 --- /dev/null +++ b/core/res/res/drawable/pointer_all_scroll_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_arrow_large_icon.xml b/core/res/res/drawable/pointer_arrow_large_icon.xml new file mode 100644 index 0000000000000..22c7bfebf951c --- /dev/null +++ b/core/res/res/drawable/pointer_arrow_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_cell_large_icon.xml b/core/res/res/drawable/pointer_cell_large_icon.xml new file mode 100644 index 0000000000000..f2530b7ba1a38 --- /dev/null +++ b/core/res/res/drawable/pointer_cell_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_context_menu_large_icon.xml b/core/res/res/drawable/pointer_context_menu_large_icon.xml new file mode 100644 index 0000000000000..c57e615feb94b --- /dev/null +++ b/core/res/res/drawable/pointer_context_menu_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_copy_large_icon.xml b/core/res/res/drawable/pointer_copy_large_icon.xml new file mode 100644 index 0000000000000..4ee3f18f0c4bc --- /dev/null +++ b/core/res/res/drawable/pointer_copy_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_crosshair_large_icon.xml b/core/res/res/drawable/pointer_crosshair_large_icon.xml new file mode 100644 index 0000000000000..6a71b7b638f3f --- /dev/null +++ b/core/res/res/drawable/pointer_crosshair_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_grab_large_icon.xml b/core/res/res/drawable/pointer_grab_large_icon.xml new file mode 100644 index 0000000000000..f2df1cb483819 --- /dev/null +++ b/core/res/res/drawable/pointer_grab_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_grabbing_large_icon.xml b/core/res/res/drawable/pointer_grabbing_large_icon.xml new file mode 100644 index 0000000000000..e4042bf66aa4c --- /dev/null +++ b/core/res/res/drawable/pointer_grabbing_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_hand_large_icon.xml b/core/res/res/drawable/pointer_hand_large_icon.xml new file mode 100644 index 0000000000000..e34422af6c132 --- /dev/null +++ b/core/res/res/drawable/pointer_hand_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_help_large_icon.xml b/core/res/res/drawable/pointer_help_large_icon.xml new file mode 100644 index 0000000000000..4c60a55a6458a --- /dev/null +++ b/core/res/res/drawable/pointer_help_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_horizontal_double_arrow_large_icon.xml b/core/res/res/drawable/pointer_horizontal_double_arrow_large_icon.xml new file mode 100644 index 0000000000000..a2039e6025735 --- /dev/null +++ b/core/res/res/drawable/pointer_horizontal_double_arrow_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_nodrop_large_icon.xml b/core/res/res/drawable/pointer_nodrop_large_icon.xml new file mode 100644 index 0000000000000..cde2e4131926b --- /dev/null +++ b/core/res/res/drawable/pointer_nodrop_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_text_large_icon.xml b/core/res/res/drawable/pointer_text_large_icon.xml new file mode 100644 index 0000000000000..24d35b0ba2b40 --- /dev/null +++ b/core/res/res/drawable/pointer_text_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_top_left_diagonal_double_arrow_large_icon.xml b/core/res/res/drawable/pointer_top_left_diagonal_double_arrow_large_icon.xml new file mode 100644 index 0000000000000..270ccc9ce721b --- /dev/null +++ b/core/res/res/drawable/pointer_top_left_diagonal_double_arrow_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_top_right_diagonal_double_arrow_large_icon.xml b/core/res/res/drawable/pointer_top_right_diagonal_double_arrow_large_icon.xml new file mode 100644 index 0000000000000..e350a4385d48d --- /dev/null +++ b/core/res/res/drawable/pointer_top_right_diagonal_double_arrow_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_vertical_double_arrow_large_icon.xml b/core/res/res/drawable/pointer_vertical_double_arrow_large_icon.xml new file mode 100644 index 0000000000000..65728ad3374d3 --- /dev/null +++ b/core/res/res/drawable/pointer_vertical_double_arrow_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_vertical_text_large_icon.xml b/core/res/res/drawable/pointer_vertical_text_large_icon.xml new file mode 100644 index 0000000000000..48211cb7a17bd --- /dev/null +++ b/core/res/res/drawable/pointer_vertical_text_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_zoom_in_large_icon.xml b/core/res/res/drawable/pointer_zoom_in_large_icon.xml new file mode 100644 index 0000000000000..3eb89f5680c35 --- /dev/null +++ b/core/res/res/drawable/pointer_zoom_in_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/drawable/pointer_zoom_out_large_icon.xml b/core/res/res/drawable/pointer_zoom_out_large_icon.xml new file mode 100644 index 0000000000000..df6412e049b28 --- /dev/null +++ b/core/res/res/drawable/pointer_zoom_out_large_icon.xml @@ -0,0 +1,5 @@ + + diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index f9f8162c1051d..34a66d0312d14 100644 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -1026,9 +1026,6 @@ i - - - diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml index e6f279d4d53c8..9a4016bd5f9aa 100644 --- a/core/res/res/values/styles.xml +++ b/core/res/res/values/styles.xml @@ -1368,6 +1368,42 @@ please see styles_device_defaults.xml. @drawable/pointer_grabbing_icon + +