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
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index 9366c42..7347264 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -2088,19 +2088,22 @@
}
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);
+ }
}
}