diff options
author | Vadim Tryshev <vadimt@google.com> | 2018-05-04 12:08:54 -0700 |
---|---|---|
committer | Vadim Tryshev <vadimt@google.com> | 2018-05-07 16:28:46 -0700 |
commit | 0fc0713253b0c1e7acb7067f7203f1313818fa37 (patch) | |
tree | a402bc8865641bb06854ca5cac8056f3d344beaf /src/com | |
parent | d10001b5d6935c71bef92cb0f22f6d2db21b4d48 (diff) | |
download | android_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.java | 37 |
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; } |