summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorVadim Tryshev <vadimt@google.com>2018-05-04 12:08:54 -0700
committerVadim Tryshev <vadimt@google.com>2018-05-07 16:28:46 -0700
commit0fc0713253b0c1e7acb7067f7203f1313818fa37 (patch)
treea402bc8865641bb06854ca5cac8056f3d344beaf /src/com
parentd10001b5d6935c71bef92cb0f22f6d2db21b4d48 (diff)
downloadandroid_packages_apps_Trebuchet-0fc0713253b0c1e7acb7067f7203f1313818fa37.tar.gz
android_packages_apps_Trebuchet-0fc0713253b0c1e7acb7067f7203f1313818fa37.tar.bz2
android_packages_apps_Trebuchet-0fc0713253b0c1e7acb7067f7203f1313818fa37.zip
Fixing reverted order of accessibility scrolling in Recents
Bug: 78788182 Change-Id: I275381e65bbd2fa24e427fea0bb9ca44366e0357 Testing: Manual
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/launcher3/PagedView.java37
1 files changed, 30 insertions, 7 deletions
diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java
index 87ee076f3..57f13864d 100644
--- a/src/com/android/launcher3/PagedView.java
+++ b/src/com/android/launcher3/PagedView.java
@@ -1495,17 +1495,24 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou
return ScrollView.class.getName();
}
+ protected boolean isPageOrderFlipped() {
+ return false;
+ }
+
/* Accessibility */
@SuppressWarnings("deprecation")
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
+ final boolean pagesFlipped = isPageOrderFlipped();
info.setScrollable(getPageCount() > 1);
if (getCurrentPage() < getPageCount() - 1) {
- info.addAction(AccessibilityNodeInfo.ACTION_SCROLL_FORWARD);
+ info.addAction(pagesFlipped ? AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD
+ : AccessibilityNodeInfo.ACTION_SCROLL_FORWARD);
}
if (getCurrentPage() > 0) {
- info.addAction(AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD);
+ info.addAction(pagesFlipped ? AccessibilityNodeInfo.ACTION_SCROLL_FORWARD
+ : AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD);
}
// Accessibility-wise, PagedView doesn't support long click, so disabling it.
@@ -1529,24 +1536,40 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou
event.setScrollable(getPageCount() > 1);
}
+ private boolean accessibilityScrollLeft() {
+ if (getCurrentPage() > 0) {
+ scrollLeft();
+ return true;
+ }
+ return false;
+ }
+
+ private boolean accessibilityScrollRight() {
+ if (getCurrentPage() < getPageCount() - 1) {
+ scrollRight();
+ return true;
+ }
+ return false;
+ }
+
@Override
public boolean performAccessibilityAction(int action, Bundle arguments) {
if (super.performAccessibilityAction(action, arguments)) {
return true;
}
+ final boolean pagesFlipped = isPageOrderFlipped();
switch (action) {
case AccessibilityNodeInfo.ACTION_SCROLL_FORWARD: {
- if (getCurrentPage() < getPageCount() - 1) {
- scrollRight();
+ if (pagesFlipped ? accessibilityScrollLeft() : accessibilityScrollRight()) {
return true;
}
} break;
case AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD: {
- if (getCurrentPage() > 0) {
- scrollLeft();
+ if (pagesFlipped ? accessibilityScrollRight() : accessibilityScrollLeft()) {
return true;
}
- } break;
+ }
+ break;
}
return false;
}