summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2018-05-23 20:56:29 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-05-23 20:56:29 +0000
commitd799f59c607780d71888abdc3539f71dac4b0ada (patch)
treef1a58afaf78353fa56aae46562f258120a080ee3
parent65e831122278afdd790251505084cc0cc6cd15c9 (diff)
parent79141a1236ebf9d540b72cd1bf1bc56d4b5fe954 (diff)
downloadandroid_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.java30
-rw-r--r--quickstep/src/com/android/quickstep/views/TaskView.java8
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