Disabling accessibility focus on all children when shortcuts is open

Bug: 30611791
Change-Id: Ibb1dec13b62add3799c215fea98e87e3fa89638d
This commit is contained in:
Sunny Goyal 2016-08-03 10:31:11 -07:00
parent e6fe1b5947
commit 7d552c8b18
1 changed files with 21 additions and 11 deletions

View File

@ -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();