From d8d19938e41a5aa5d14da390f3beae154692bc46 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Wed, 22 Jun 2016 16:29:24 -0700 Subject: [PATCH] Fixing accessibility drag and drop Since the page's accessibility flag is updated when entering drag mode, it does not need to be updated on state change Bug: 29581071 Change-Id: I1a876b4e8530601cb9bf25d097ea37780b525610 --- src/com/android/launcher3/Workspace.java | 27 +++++++++++++----------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index 9366c420fd..73472642e9 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -2088,19 +2088,22 @@ public class Workspace extends PagedView } public void updateAccessibilityFlags() { - if (Utilities.ATLEAST_LOLLIPOP) { - int total = getPageCount(); - for (int i = numCustomPages(); i < total; i++) { - updateAccessibilityFlags((CellLayout) getPageAt(i), i); - } - setImportantForAccessibility((mState == State.NORMAL || mState == State.OVERVIEW) - ? IMPORTANT_FOR_ACCESSIBILITY_AUTO - : IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS); - } else { - int accessible = mState == State.NORMAL ? - IMPORTANT_FOR_ACCESSIBILITY_AUTO : + // TODO: Update the accessibility flags appropriately when dragging. + if (!mLauncher.getAccessibilityDelegate().isInAccessibleDrag()) { + if (Utilities.ATLEAST_LOLLIPOP) { + int total = getPageCount(); + for (int i = numCustomPages(); i < total; i++) { + updateAccessibilityFlags((CellLayout) getPageAt(i), i); + } + setImportantForAccessibility((mState == State.NORMAL || mState == State.OVERVIEW) + ? IMPORTANT_FOR_ACCESSIBILITY_AUTO + : IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS); + } else { + int accessible = mState == State.NORMAL ? + IMPORTANT_FOR_ACCESSIBILITY_AUTO : IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS; - setImportantForAccessibility(accessible); + setImportantForAccessibility(accessible); + } } }