diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2018-05-23 20:56:29 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-05-23 20:56:29 +0000 |
commit | d799f59c607780d71888abdc3539f71dac4b0ada (patch) | |
tree | f1a58afaf78353fa56aae46562f258120a080ee3 | |
parent | 65e831122278afdd790251505084cc0cc6cd15c9 (diff) | |
parent | 79141a1236ebf9d540b72cd1bf1bc56d4b5fe954 (diff) | |
download | android_packages_apps_Trebuchet-d799f59c607780d71888abdc3539f71dac4b0ada.tar.gz android_packages_apps_Trebuchet-d799f59c607780d71888abdc3539f71dac4b0ada.tar.bz2 android_packages_apps_Trebuchet-d799f59c607780d71888abdc3539f71dac4b0ada.zip |
Merge "Accessibility sugar for Recents" into ub-launcher3-edmonton
-rw-r--r-- | quickstep/src/com/android/quickstep/views/RecentsView.java | 30 | ||||
-rw-r--r-- | quickstep/src/com/android/quickstep/views/TaskView.java | 8 |
2 files changed, 37 insertions, 1 deletions
diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 0358028bc..186de3681 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -54,7 +54,9 @@ import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.ViewDebug; +import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityNodeInfo; +import android.widget.ListView; import com.android.launcher3.BaseActivity; import com.android.launcher3.DeviceProfile; @@ -1335,6 +1337,34 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl } @Override + public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) { + super.onInitializeAccessibilityNodeInfo(info); + + final AccessibilityNodeInfo.CollectionInfo + collectionInfo = AccessibilityNodeInfo.CollectionInfo.obtain( + 1, getChildCount(), false, + AccessibilityNodeInfo.CollectionInfo.SELECTION_MODE_NONE); + info.setCollectionInfo(collectionInfo); + } + + @Override + public void onInitializeAccessibilityEvent(AccessibilityEvent event) { + super.onInitializeAccessibilityEvent(event); + + if (event.getEventType() == AccessibilityEvent.TYPE_VIEW_SCROLLED) { + event.setFromIndex(getCurrentPage()); + event.setToIndex(getCurrentPage()); + event.setItemCount(getChildCount()); + } + } + + @Override + public CharSequence getAccessibilityClassName() { + // To hear position-in-list related feedback from Talkback. + return ListView.class.getName(); + } + + @Override protected boolean isPageOrderFlipped() { return true; } diff --git a/quickstep/src/com/android/quickstep/views/TaskView.java b/quickstep/src/com/android/quickstep/views/TaskView.java index 0df0580fe..213d9cb59 100644 --- a/quickstep/src/com/android/quickstep/views/TaskView.java +++ b/quickstep/src/com/android/quickstep/views/TaskView.java @@ -320,7 +320,13 @@ public class TaskView extends FrameLayout implements TaskCallbacks, PageCallback } } - getRecentsView().addTaskAccessibilityActionsExtra(info); + final RecentsView recentsView = getRecentsView(); + recentsView.addTaskAccessibilityActionsExtra(info); + + final AccessibilityNodeInfo.CollectionItemInfo itemInfo = + AccessibilityNodeInfo.CollectionItemInfo.obtain( + 0, 1, recentsView.indexOfChild(this), 1, false); + info.setCollectionItemInfo(itemInfo); } @Override |