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

Commit 462384db authored by Tony Wickham's avatar Tony Wickham Committed by Android (Google) Code Review
Browse files

Merge "Create a new DragOptions for every drag operation" into sc-dev

parents b9672a66 90351c20
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -86,7 +86,7 @@ public abstract class BaseQuickstepLauncher extends Launcher
    private @Nullable TaskbarController mTaskbarController;
    private final TaskbarStateHandler mTaskbarStateHandler = new TaskbarStateHandler(this);
    // Will be updated when dragging from taskbar.
    private DragOptions mWorkspaceDragOptions = new DragOptions();
    private @Nullable DragOptions mNextWorkspaceDragOptions = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
@@ -272,11 +272,16 @@ public abstract class BaseQuickstepLauncher extends Launcher

    @Override
    public DragOptions getDefaultWorkspaceDragOptions() {
        return mWorkspaceDragOptions;
        if (mNextWorkspaceDragOptions != null) {
            DragOptions options = mNextWorkspaceDragOptions;
            mNextWorkspaceDragOptions = null;
            return options;
        }
        return super.getDefaultWorkspaceDragOptions();
    }

    public void setWorkspaceDragOptions(DragOptions dragOptions) {
        mWorkspaceDragOptions = dragOptions;
    public void setNextWorkspaceDragOptions(DragOptions dragOptions) {
        mNextWorkspaceDragOptions = dragOptions;
    }

    @Override
+5 −6
Original line number Diff line number Diff line
@@ -37,7 +37,6 @@ public class TaskbarDragListener implements View.OnDragListener {

    private final BaseQuickstepLauncher mLauncher;
    private final ItemInfo mDraggedItem;
    private final DragOptions mDragOptions;
    // Randomly generated id used to verify the drag event.
    private final String mId;

@@ -51,8 +50,6 @@ public class TaskbarDragListener implements View.OnDragListener {
    public TaskbarDragListener(BaseQuickstepLauncher launcher, ItemInfo draggedItem) {
        mLauncher = launcher;
        mDraggedItem = draggedItem;
        mDragOptions = new DragOptions();
        mDragOptions.simulatedDndStartPoint = new Point();
        mId = UUID.randomUUID().toString();
    }

@@ -63,7 +60,7 @@ public class TaskbarDragListener implements View.OnDragListener {

    private void cleanup() {
        mDragLayer.setOnDragListener(null);
        mLauncher.setWorkspaceDragOptions(new DragOptions());
        mLauncher.setNextWorkspaceDragOptions(null);
    }

    /**
@@ -88,8 +85,10 @@ public class TaskbarDragListener implements View.OnDragListener {
                cleanup();
                return false;
            }
            mDragOptions.simulatedDndStartPoint.set((int) dragEvent.getX(), (int) dragEvent.getY());
            mLauncher.setWorkspaceDragOptions(mDragOptions);
            DragOptions dragOptions = new DragOptions();
            dragOptions.simulatedDndStartPoint = new Point((int) dragEvent.getX(),
                    (int) dragEvent.getY());
            mLauncher.setNextWorkspaceDragOptions(dragOptions);
            hotseatView.performLongClick();
        } else if (dragEvent.getAction() == DragEvent.ACTION_DRAG_ENDED) {
            cleanup();