From fa8e3f92922b4cc543aa1fbfafede3c33edc2d36 Mon Sep 17 00:00:00 2001 From: Stefan Andonian Date: Fri, 3 Jan 2025 16:16:02 -0800 Subject: [PATCH] Call AccessibilityDragListener immediately after Workspace's OnDragListener. This ensures that the dragInfo has not been set to null before the AccessibilityDragListener's onDragEnd is called. Previously, this was breaking long accessibility moves. Bug: 387563703 Test: Verified locally that this fixes the issue. Flag: EXEMPT bug fix. Change-Id: I8d25c3865a0a025a9dad341ea39062cb3658a763 --- src/com/android/launcher3/Workspace.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index a064c880c1..0e0ad310bf 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -303,6 +303,8 @@ public class Workspace extends PagedView private final StatsLogManager mStatsLogManager; private final MSDLPlayerWrapper mMSDLPlayerWrapper; + @Nullable + private DragController.DragListener mAccessibilityDragListener; /** * Used to inflate the Workspace from XML. @@ -512,6 +514,9 @@ public class Workspace extends PagedView } } + if (mAccessibilityDragListener != null) { + mAccessibilityDragListener.onDragStart(dragObject, options); + } if (!mLauncher.isInState(EDIT_MODE)) { mLauncher.getStateManager().goToState(SPRING_LOADED); } @@ -548,6 +553,9 @@ public class Workspace extends PagedView } }); + if (mAccessibilityDragListener != null) { + mAccessibilityDragListener.onDragEnd(); + } mDragInfo = null; mDragSourceInternal = null; } @@ -1656,7 +1664,7 @@ public class Workspace extends PagedView child.setVisibility(INVISIBLE); if (options.isAccessibleDrag) { - mDragController.addDragListener( + mAccessibilityDragListener = new AccessibleDragListenerAdapter(this, WorkspaceAccessibilityHelper::new) { @Override protected void enableAccessibleDrag(boolean enable, @@ -1669,7 +1677,7 @@ public class Workspace extends PagedView IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS); } } - }); + }; } beginDragShared(child, this, options);