diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2016-08-03 10:31:11 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2016-08-03 10:32:23 -0700 |
commit | 7d552c8b18cfad9f32fb5028c53960a9f19dc0a8 (patch) | |
tree | 550aa7eea78e4282c96b6c3bf03e6bdedb89f1f3 | |
parent | e6fe1b59470b653f0275596cb8a211367dd61654 (diff) | |
download | android_packages_apps_Trebuchet-7d552c8b18cfad9f32fb5028c53960a9f19dc0a8.tar.gz android_packages_apps_Trebuchet-7d552c8b18cfad9f32fb5028c53960a9f19dc0a8.tar.bz2 android_packages_apps_Trebuchet-7d552c8b18cfad9f32fb5028c53960a9f19dc0a8.zip |
Disabling accessibility focus on all children when shortcuts is open
Bug: 30611791
Change-Id: Ibb1dec13b62add3799c215fea98e87e3fa89638d
-rw-r--r-- | src/com/android/launcher3/dragndrop/DragLayer.java | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/src/com/android/launcher3/dragndrop/DragLayer.java b/src/com/android/launcher3/dragndrop/DragLayer.java index 28b6f3ead..3300b7699 100644 --- a/src/com/android/launcher3/dragndrop/DragLayer.java +++ b/src/com/android/launcher3/dragndrop/DragLayer.java @@ -374,22 +374,32 @@ public class DragLayer extends InsettableFrameLayout { @Override public boolean onRequestSendAccessibilityEvent(View child, AccessibilityEvent event) { - Folder currentFolder = mLauncher.getWorkspace().getOpenFolder(); - if (currentFolder != null) { - if (child == currentFolder) { - return super.onRequestSendAccessibilityEvent(child, event); - } + // Shortcuts can appear above folder + View topView = mLauncher.getOpenShortcutsContainer(); + if (topView != null) { + return handleTopViewSendAccessibilityEvent(topView, child, event); + } - if (isInAccessibleDrag() && child instanceof DropTargetBar) { - return super.onRequestSendAccessibilityEvent(child, event); - } - // Skip propagating onRequestSendAccessibilityEvent all for other children - // when a folder is open - return false; + topView = mLauncher.getWorkspace().getOpenFolder(); + if (topView != null) { + return handleTopViewSendAccessibilityEvent(topView, child, event); } return super.onRequestSendAccessibilityEvent(child, event); } + private boolean handleTopViewSendAccessibilityEvent( + View topView, View child, AccessibilityEvent event) { + if (child == topView) { + return super.onRequestSendAccessibilityEvent(child, event); + } + if (isInAccessibleDrag() && child instanceof DropTargetBar) { + return super.onRequestSendAccessibilityEvent(child, event); + } + // Skip propagating onRequestSendAccessibilityEvent for all other children + // which are not topView + return false; + } + @Override public void addChildrenForAccessibility(ArrayList<View> childrenForAccessibility) { Folder currentFolder = mLauncher.getWorkspace().getOpenFolder(); |