Disabling accessibility focus on all children when shortcuts is open
Bug: 30611791 Change-Id: Ibb1dec13b62add3799c215fea98e87e3fa89638d
This commit is contained in:
parent
e6fe1b5947
commit
7d552c8b18
|
@ -374,22 +374,32 @@ public class DragLayer extends InsettableFrameLayout {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onRequestSendAccessibilityEvent(View child, AccessibilityEvent event) {
|
public boolean onRequestSendAccessibilityEvent(View child, AccessibilityEvent event) {
|
||||||
Folder currentFolder = mLauncher.getWorkspace().getOpenFolder();
|
// Shortcuts can appear above folder
|
||||||
if (currentFolder != null) {
|
View topView = mLauncher.getOpenShortcutsContainer();
|
||||||
if (child == currentFolder) {
|
if (topView != null) {
|
||||||
return super.onRequestSendAccessibilityEvent(child, event);
|
return handleTopViewSendAccessibilityEvent(topView, child, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isInAccessibleDrag() && child instanceof DropTargetBar) {
|
topView = mLauncher.getWorkspace().getOpenFolder();
|
||||||
return super.onRequestSendAccessibilityEvent(child, event);
|
if (topView != null) {
|
||||||
}
|
return handleTopViewSendAccessibilityEvent(topView, child, event);
|
||||||
// Skip propagating onRequestSendAccessibilityEvent all for other children
|
|
||||||
// when a folder is open
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
return super.onRequestSendAccessibilityEvent(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
|
@Override
|
||||||
public void addChildrenForAccessibility(ArrayList<View> childrenForAccessibility) {
|
public void addChildrenForAccessibility(ArrayList<View> childrenForAccessibility) {
|
||||||
Folder currentFolder = mLauncher.getWorkspace().getOpenFolder();
|
Folder currentFolder = mLauncher.getWorkspace().getOpenFolder();
|
||||||
|
|
Loading…
Reference in New Issue