Merge "Removing the Hotseat from the dragNdrop accessibility targets if the dragObject is a widget" into main

This commit is contained in:
Sebastián Franco
2024-02-09 21:25:20 +00:00
committed by Android (Google) Code Review
3 changed files with 16 additions and 7 deletions
+8 -2
View File
@@ -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);
}
+3 -2
View File
@@ -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);