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

Commit 0fd3b1ab authored by Vladislav Kaznacheev's avatar Vladislav Kaznacheev Committed by Android (Google) Code Review
Browse files

Merge "Update DocumentsUI according to DragStartHelper API changes" into nyc-dev

parents 0f5e32d8 0e842799
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -1084,7 +1084,7 @@ public class DirectoryFragment extends Fragment
        }

        // Make all items draggable.
        view.setOnLongClickListener(mDragHelper);
        view.setOnLongClickListener(onLongClickListener);
    }

    private View.OnDragListener mOnDragListener = new View.OnDragListener() {
@@ -1387,9 +1387,10 @@ public class DirectoryFragment extends Fragment
        }
    }

    private DragStartHelper mDragHelper = new DragStartHelper(null) {
    private DragStartHelper.OnDragStartListener mOnDragStartListener =
            new DragStartHelper.OnDragStartListener() {
        @Override
        protected boolean onDragStart(View v) {
        public boolean onDragStart(View v, DragStartHelper helper) {
            if (isSelected(getModelId(v))) {
                List<DocumentInfo> docs = getDraggableDocuments(v);
                if (docs.isEmpty()) {
@@ -1409,6 +1410,15 @@ public class DirectoryFragment extends Fragment
        }
    };

    private DragStartHelper mDragHelper = new DragStartHelper(null, mOnDragStartListener);

    private View.OnLongClickListener onLongClickListener = new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            return mDragHelper.onLongClick(v);
        }
    };

    // Previously we listened to events with one class, only to bounce them forward
    // to GestureDetector. We're still doing that here, but with a single class
    // that reduces overall complexity in our glue code.
@@ -1439,7 +1449,7 @@ public class DirectoryFragment extends Fragment

            // Detect drag events. When a drag is detected, intercept the rest of the gesture.
            View itemView = rv.findChildViewUnder(e.getX(), e.getY());
            if (itemView != null && mDragHelper.handleTouch(itemView,  e)) {
            if (itemView != null && mDragHelper.onTouch(itemView,  e)) {
                return true;
            }
            // Forward unhandled events to the GestureDetector.
@@ -1451,7 +1461,7 @@ public class DirectoryFragment extends Fragment
        @Override
        public void onTouchEvent(RecyclerView rv, MotionEvent e) {
            View itemView = rv.findChildViewUnder(e.getX(), e.getY());
            mDragHelper.handleTouch(itemView,  e);
            mDragHelper.onTouch(itemView,  e);
            // Note: even though this event is being handled as part of a drag gesture, continue
            // forwarding to the GestureDetector. The detector needs to see the entire cluster of
            // events in order to properly interpret gestures.