From cd88cf8d1c37c65e55f98e7003151663ceeebf0a Mon Sep 17 00:00:00 2001 From: Kevin Date: Mon, 22 Apr 2019 13:11:28 -0700 Subject: [PATCH] Clear all button should not be swipable Unlike other task items in the recycler view, the clear all button should not be swipable as you obviously can't remove the button. Bug: 114136250 Test: Go to recents, attempt to swipe clear all, does not work Change-Id: I0ab00c03b697f2174431b69bbf758c3ff104db97 --- .../src/com/android/quickstep/TaskAdapter.java | 5 +++-- .../com/android/quickstep/TaskSwipeCallback.java | 13 +++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/go/quickstep/src/com/android/quickstep/TaskAdapter.java b/go/quickstep/src/com/android/quickstep/TaskAdapter.java index 8651698f63..6f7562924b 100644 --- a/go/quickstep/src/com/android/quickstep/TaskAdapter.java +++ b/go/quickstep/src/com/android/quickstep/TaskAdapter.java @@ -43,9 +43,10 @@ public final class TaskAdapter extends Adapter { public static final int MAX_TASKS_TO_DISPLAY = 6; public static final int TASKS_START_POSITION = 1; + public static final int ITEM_TYPE_TASK = 0; + public static final int ITEM_TYPE_CLEAR_ALL = 1; + private static final String TAG = "TaskAdapter"; - private static final int ITEM_TYPE_TASK = 0; - private static final int ITEM_TYPE_CLEAR_ALL = 1; private final TaskListLoader mLoader; private TaskActionController mTaskActionController; private OnClickListener mClearAllListener; diff --git a/go/quickstep/src/com/android/quickstep/TaskSwipeCallback.java b/go/quickstep/src/com/android/quickstep/TaskSwipeCallback.java index 98407d8b74..19951bb378 100644 --- a/go/quickstep/src/com/android/quickstep/TaskSwipeCallback.java +++ b/go/quickstep/src/com/android/quickstep/TaskSwipeCallback.java @@ -17,6 +17,9 @@ package com.android.quickstep; import static androidx.recyclerview.widget.ItemTouchHelper.RIGHT; +import static com.android.quickstep.TaskAdapter.ITEM_TYPE_CLEAR_ALL; + +import androidx.annotation.NonNull; import androidx.recyclerview.widget.ItemTouchHelper; import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView.ViewHolder; @@ -45,4 +48,14 @@ public final class TaskSwipeCallback extends ItemTouchHelper.SimpleCallback { mTaskActionController.removeTask((TaskHolder) viewHolder); } } + + @Override + public int getSwipeDirs(@NonNull RecyclerView recyclerView, + @NonNull ViewHolder viewHolder) { + if (viewHolder.getItemViewType() == ITEM_TYPE_CLEAR_ALL) { + // Clear all button should not be swipable. + return 0; + } + return super.getSwipeDirs(recyclerView, viewHolder); + } }