Merge "Removing the Hotseat from the dragNdrop accessibility targets if the dragObject is a widget" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
dbd214225d
@@ -1636,9 +1636,15 @@ public class Workspace<T extends View & PageIndicator> extends PagedView<T>
|
||||
mDragController.addDragListener(
|
||||
new AccessibleDragListenerAdapter(this, WorkspaceAccessibilityHelper::new) {
|
||||
@Override
|
||||
protected void enableAccessibleDrag(boolean enable) {
|
||||
super.enableAccessibleDrag(enable);
|
||||
protected void enableAccessibleDrag(boolean enable,
|
||||
@Nullable DragObject dragObject) {
|
||||
super.enableAccessibleDrag(enable, dragObject);
|
||||
setEnableForLayout(mLauncher.getHotseat(), enable);
|
||||
if (enable && dragObject != null
|
||||
&& dragObject.dragInfo instanceof LauncherAppWidgetInfo) {
|
||||
mLauncher.getHotseat().setImportantForAccessibility(
|
||||
IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -20,6 +20,8 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.ViewGroup.OnHierarchyChangeListener;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.android.launcher3.CellLayout;
|
||||
import com.android.launcher3.DropTarget.DragObject;
|
||||
import com.android.launcher3.Launcher;
|
||||
@@ -50,13 +52,13 @@ public class AccessibleDragListenerAdapter implements DragListener, OnHierarchyC
|
||||
@Override
|
||||
public void onDragStart(DragObject dragObject, DragOptions options) {
|
||||
mViewGroup.setOnHierarchyChangeListener(this);
|
||||
enableAccessibleDrag(true);
|
||||
enableAccessibleDrag(true, dragObject);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDragEnd() {
|
||||
mViewGroup.setOnHierarchyChangeListener(null);
|
||||
enableAccessibleDrag(false);
|
||||
enableAccessibleDrag(false, null);
|
||||
Launcher.getLauncher(mViewGroup.getContext()).getDragController().removeDragListener(this);
|
||||
}
|
||||
|
||||
@@ -75,7 +77,7 @@ public class AccessibleDragListenerAdapter implements DragListener, OnHierarchyC
|
||||
}
|
||||
}
|
||||
|
||||
protected void enableAccessibleDrag(boolean enable) {
|
||||
protected void enableAccessibleDrag(boolean enable, @Nullable DragObject dragObject) {
|
||||
for (int i = 0; i < mViewGroup.getChildCount(); i++) {
|
||||
setEnableForLayout((CellLayout) mViewGroup.getChildAt(i), enable);
|
||||
}
|
||||
|
||||
@@ -320,8 +320,9 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo
|
||||
mDragController.addDragListener(new AccessibleDragListenerAdapter(
|
||||
mContent, FolderAccessibilityHelper::new) {
|
||||
@Override
|
||||
protected void enableAccessibleDrag(boolean enable) {
|
||||
super.enableAccessibleDrag(enable);
|
||||
protected void enableAccessibleDrag(boolean enable,
|
||||
@Nullable DragObject dragObject) {
|
||||
super.enableAccessibleDrag(enable, dragObject);
|
||||
mFooter.setImportantForAccessibility(enable
|
||||
? IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS
|
||||
: IMPORTANT_FOR_ACCESSIBILITY_AUTO);
|
||||
|
||||
Reference in New Issue
Block a user