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

Commit 2b9c9c23 authored by Matt Sziklay's avatar Matt Sziklay Committed by Android (Google) Code Review
Browse files

Merge "Update DesktopModeTouchEventListener to correctly identify click events." into tm-qpr-dev

parents 3800ea7c b45e67c0
Loading
Loading
Loading
Loading
+19 −14
Original line number Diff line number Diff line
@@ -250,25 +250,30 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel {

        @Override
        public boolean onTouch(View v, MotionEvent e) {
            boolean isDrag = false;
            final int id = v.getId();
            if (id != R.id.caption_handle && id != R.id.desktop_mode_caption) {
                return false;
            }
            if (id == R.id.caption_handle) {
                isDrag = mDragDetector.onMotionEvent(e);
            }
            if (e.getAction() != MotionEvent.ACTION_DOWN) {
                return isDrag;
            }
            switch (e.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    mDragDetector.onMotionEvent(e);
                    final RunningTaskInfo taskInfo = mTaskOrganizer.getRunningTaskInfo(mTaskId);
                    if (taskInfo.isFocused) {
                return isDrag;
                        return mDragDetector.isDragEvent();
                    }
                    final WindowContainerTransaction wct = new WindowContainerTransaction();
                    wct.reorder(mTaskToken, true /* onTop */);
                    mSyncQueue.queue(wct);
            return true;
                    return false;
                case MotionEvent.ACTION_UP:
                case MotionEvent.ACTION_CANCEL:
                    boolean res = mDragDetector.isDragEvent();
                    mDragDetector.onMotionEvent(e);
                    return res;
                default:
                    mDragDetector.onMotionEvent(e);
                    return mDragDetector.isDragEvent();
            }
        }

        /**
+4 −0
Original line number Diff line number Diff line
@@ -94,6 +94,10 @@ class DragDetector {
        mTouchSlop = touchSlop;
    }

    boolean isDragEvent() {
        return mIsDragEvent;
    }

    private void resetState() {
        mIsDragEvent = false;
        mInputDownPoint.set(0, 0);