|
|
@ -29,7 +29,6 @@ public class TaskListRecyclerAdapter extends ListAdapter<TaskContainer, ViewHold
|
|
|
|
private final ItemTouchHelperCallback itemTouchHelperCallback;
|
|
|
|
private final ItemTouchHelperCallback itemTouchHelperCallback;
|
|
|
|
|
|
|
|
|
|
|
|
private ActionMode mode = null;
|
|
|
|
private ActionMode mode = null;
|
|
|
|
private boolean animate;
|
|
|
|
|
|
|
|
private RecyclerView recyclerView;
|
|
|
|
private RecyclerView recyclerView;
|
|
|
|
|
|
|
|
|
|
|
|
public TaskListRecyclerAdapter(
|
|
|
|
public TaskListRecyclerAdapter(
|
|
|
@ -169,35 +168,22 @@ public class TaskListRecyclerAdapter extends ListAdapter<TaskContainer, ViewHold
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void onMoved(int fromPosition, int toPosition) {
|
|
|
|
public void onMoved(int fromPosition, int toPosition) {
|
|
|
|
if (animate) {
|
|
|
|
notifyItemChanged(fromPosition);
|
|
|
|
notifyItemChanged(fromPosition);
|
|
|
|
notifyItemMoved(fromPosition, toPosition);
|
|
|
|
notifyItemMoved(fromPosition, toPosition);
|
|
|
|
recyclerView.scrollToPosition(fromPosition);
|
|
|
|
recyclerView.scrollToPosition(fromPosition);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
notifyDataSetChanged();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void onChanged(int position, int count, Object payload) {
|
|
|
|
public void onChanged(int position, int count, Object payload) {
|
|
|
|
if (animate) {
|
|
|
|
notifyItemRangeChanged(position, count, payload);
|
|
|
|
notifyItemRangeChanged(position, count, payload);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
notifyDataSetChanged();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void onTaskSaved() {
|
|
|
|
public void onTaskSaved() {
|
|
|
|
setAnimate(true);
|
|
|
|
|
|
|
|
int scrollY = recyclerView.getScrollY();
|
|
|
|
int scrollY = recyclerView.getScrollY();
|
|
|
|
notifyDataSetChanged();
|
|
|
|
notifyDataSetChanged();
|
|
|
|
recyclerView.setScrollY(scrollY);
|
|
|
|
recyclerView.setScrollY(scrollY);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void setAnimate(boolean animate) {
|
|
|
|
|
|
|
|
this.animate = animate;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
boolean isActionModeActive() {
|
|
|
|
boolean isActionModeActive() {
|
|
|
|
return mode != null;
|
|
|
|
return mode != null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|