Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 45478022 authored by Sunny Goyal's avatar Sunny Goyal
Browse files

Tying accessibility drag lifecycle to that of dragController

Bug: 20865291
Change-Id: I1e0aceb20efcf4c32d76a656c499a1a4a5a32a65
parent 208aba2d
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -98,7 +98,6 @@ import android.widget.Toast;

import com.android.launcher3.DropTarget.DragObject;
import com.android.launcher3.PagedView.PageSwitchListener;
import com.android.launcher3.accessibility.LauncherAccessibilityDelegate;
import com.android.launcher3.allapps.AllAppsContainerView;
import com.android.launcher3.allapps.AppSearchManager;
import com.android.launcher3.compat.AppWidgetManagerCompat;
@@ -2470,9 +2469,8 @@ public class Launcher extends Activity
            return;
        }

        LauncherAccessibilityDelegate delegate =
                LauncherAppState.getInstance().getAccessibilityDelegate();
        if (delegate != null && delegate.onBackPressed()) {
        if (mDragController.isDragging()) {
            mDragController.cancelDrag();
            return;
        }

+12 −12
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ import com.android.launcher3.AppInfo;
import com.android.launcher3.AppWidgetResizeFrame;
import com.android.launcher3.CellLayout;
import com.android.launcher3.DeleteDropTarget;
import com.android.launcher3.DragController.DragListener;
import com.android.launcher3.DragSource;
import com.android.launcher3.Folder;
import com.android.launcher3.FolderInfo;
import com.android.launcher3.InfoDropTarget;
@@ -39,7 +41,7 @@ import com.android.launcher3.util.Thunk;
import java.util.ArrayList;

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public class LauncherAccessibilityDelegate extends AccessibilityDelegate {
public class LauncherAccessibilityDelegate extends AccessibilityDelegate implements DragListener {

    private static final String TAG = "LauncherAccessibilityDelegate";

@@ -328,7 +330,6 @@ public class LauncherAccessibilityDelegate extends AccessibilityDelegate {
        mLauncher.getDragLayer().getDescendantCoordRelativeToSelf(clickedTarget, loc);
        mLauncher.getDragController().completeAccessibleDrag(loc);

        endAccessibleDrag();
        if (!TextUtils.isEmpty(confirmation)) {
            announceConfirmation(confirmation);
        }
@@ -366,22 +367,21 @@ public class LauncherAccessibilityDelegate extends AccessibilityDelegate {
        }
        mDragSource.enableAccessibleDrag(true);
        mDragSource.startDrag(cellInfo, true);
    }

    public boolean onBackPressed() {
        if (isInAccessibleDrag()) {
            cancelAccessibleDrag();
            return true;
        if (mLauncher.getDragController().isDragging()) {
            mLauncher.getDragController().addDragListener(this);
        }
        return false;
    }

    private void cancelAccessibleDrag() {
        mLauncher.getDragController().cancelDrag();
        endAccessibleDrag();

    @Override
    public void onDragStart(DragSource source, Object info, int dragAction) {
        // No-op
    }

    private void endAccessibleDrag() {
    @Override
    public void onDragEnd() {
        mLauncher.getDragController().removeDragListener(this);
        mDragInfo = null;
        if (mDragSource != null) {
            mDragSource.enableAccessibleDrag(false);