From e78e3d734b577c1ab6dc0738a83600374908ea52 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Thu, 24 Sep 2015 11:23:31 -0700 Subject: Accessibility fixes 1) Use a different content description for temporary new page 2) Use different accessibility description for add widget toast 3) Announce when an item is deleted 4) Announce when hovering over a drop target 5) Announce state during drag-n-drop and widget resize (similar to seekbar) Bug: 23573321, 24057944 Change-Id: Icabb317625e70c78e11c0b4f99b9339172d93594 --- src/com/android/launcher3/CellLayout.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/com/android/launcher3/CellLayout.java') diff --git a/src/com/android/launcher3/CellLayout.java b/src/com/android/launcher3/CellLayout.java index d48873762..5ae7310ff 100644 --- a/src/com/android/launcher3/CellLayout.java +++ b/src/com/android/launcher3/CellLayout.java @@ -1021,7 +1021,7 @@ public class CellLayout extends ViewGroup implements BubbleTextShadowHandler { } void visualizeDropLocation(View v, Bitmap dragOutline, int originX, int originY, int cellX, - int cellY, int spanX, int spanY, boolean resize, Point dragOffset, Rect dragRegion) { + int cellY, int spanX, int spanY, boolean resize, DropTarget.DragObject dragObject) { final int oldDragCellX = mDragCell[0]; final int oldDragCellY = mDragCell[1]; @@ -1030,6 +1030,9 @@ public class CellLayout extends ViewGroup implements BubbleTextShadowHandler { } if (cellX != oldDragCellX || cellY != oldDragCellY) { + Point dragOffset = dragObject.dragView.getDragVisualizeOffset(); + Rect dragRegion = dragObject.dragView.getDragRegion(); + mDragCell[0] = cellX; mDragCell[1] = cellY; // Find the top left corner of the rect the object will occupy @@ -1081,6 +1084,18 @@ public class CellLayout extends ViewGroup implements BubbleTextShadowHandler { mDragOutlineAnims[mDragOutlineCurrent].setTag(dragOutline); mDragOutlineAnims[mDragOutlineCurrent].animateIn(); + + if (dragObject.stateAnnouncer != null) { + String msg; + if (isHotseat()) { + msg = getContext().getString(R.string.move_to_hotseat_position, + Math.max(cellX, cellY) + 1); + } else { + msg = getContext().getString(R.string.move_to_empty_cell, + cellY + 1, cellX + 1); + } + dragObject.stateAnnouncer.announce(msg); + } } } -- cgit v1.2.3