Disabling accessibility focus on all children when shortcuts is open

Bug: 30611791
Change-Id: Ibb1dec13b62add3799c215fea98e87e3fa89638d
diff --git a/src/com/android/launcher3/dragndrop/DragLayer.java b/src/com/android/launcher3/dragndrop/DragLayer.java
index 28b6f3e..3300b76 100644
--- a/src/com/android/launcher3/dragndrop/DragLayer.java
+++ b/src/com/android/launcher3/dragndrop/DragLayer.java
@@ -374,22 +374,32 @@
 
     @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();