Fix drag and drop in paged caldav/google lists

gtask_related_email
Alex Baker 6 years ago
parent ccf6552c03
commit 75a369dcf3

@ -66,6 +66,11 @@ public class DragAndDropRecyclerAdapter extends TaskListRecyclerAdapter {
.subscribe(this::applyDiff)); .subscribe(this::applyDiff));
} }
@Override
protected boolean dragAndDropEnabled() {
return adapter.supportsParentingOrManualSort();
}
@Override @Override
public TaskContainer getItem(int position) { public TaskContainer getItem(int position) {
return list.get(position); return list.get(position);

@ -51,6 +51,11 @@ public class PagedListRecyclerAdapter extends TaskListRecyclerAdapter {
recyclerView.getLayoutManager().onRestoreInstanceState(recyclerViewState); recyclerView.getLayoutManager().onRestoreInstanceState(recyclerViewState);
} }
@Override
protected boolean dragAndDropEnabled() {
return false;
}
@Override @Override
public int getItemCount() { public int getItemCount() {
return differ.getItemCount(); return differ.getItemCount();

@ -80,7 +80,7 @@ public abstract class TaskListRecyclerAdapter extends RecyclerView.Adapter<ViewH
@Override @Override
public boolean onLongPress(ViewHolder viewHolder) { public boolean onLongPress(ViewHolder viewHolder) {
if (!adapter.supportsParentingOrManualSort()) { if (!dragAndDropEnabled()) {
taskList.startActionMode(); taskList.startActionMode();
} }
if (taskList.isActionModeActive() && !viewHolder.isMoving()) { if (taskList.isActionModeActive() && !viewHolder.isMoving()) {
@ -89,6 +89,8 @@ public abstract class TaskListRecyclerAdapter extends RecyclerView.Adapter<ViewH
return true; return true;
} }
protected abstract boolean dragAndDropEnabled();
@Override @Override
public void toggleSubtasks(TaskContainer task, boolean collapsed) { public void toggleSubtasks(TaskContainer task, boolean collapsed) {
taskDao.setCollapsed(task.getId(), collapsed); taskDao.setCollapsed(task.getId(), collapsed);

Loading…
Cancel
Save