From 9db403595bdfe76f59567f1f31bb9e3208198715 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Thu, 1 Mar 2018 11:13:15 -0600 Subject: [PATCH] Check if action mode is null before finishing --- .../tasklist/TaskListRecyclerAdapter.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/org/tasks/tasklist/TaskListRecyclerAdapter.java b/app/src/main/java/org/tasks/tasklist/TaskListRecyclerAdapter.java index da6449039..e0dd048d2 100644 --- a/app/src/main/java/org/tasks/tasklist/TaskListRecyclerAdapter.java +++ b/app/src/main/java/org/tasks/tasklist/TaskListRecyclerAdapter.java @@ -142,9 +142,7 @@ public class TaskListRecyclerAdapter extends RecyclerView.Adapter notifyItemChanged(viewHolder.getAdapterPosition()); if (adapter.getSelected().isEmpty()) { dragging = false; - if (mode != null) { - mode.finish(); - } + finishActionMode(); } else { if (mode == null) { mode = ((TaskListActivity) activity).startSupportActionMode(actionModeCallback); @@ -164,7 +162,7 @@ public class TaskListRecyclerAdapter extends RecyclerView.Adapter private void deleteSelectedItems() { tracker.reportEvent(Tracking.Events.MULTISELECT_DELETE); List tasks = adapter.getSelected(); - mode.finish(); + finishActionMode(); List result = taskDeleter.markDeleted(tasks); taskList.onTaskDelete(result); taskList.makeSnackbar(activity.getString(R.string.delete_multiple_tasks_confirmation, Integer.toString(result.size()))).show(); @@ -173,7 +171,7 @@ public class TaskListRecyclerAdapter extends RecyclerView.Adapter private void copySelectedItems() { tracker.reportEvent(Tracking.Events.MULTISELECT_CLONE); List tasks = adapter.getSelected(); - mode.finish(); + finishActionMode(); List duplicates = taskDuplicator.duplicate(tasks); taskList.onTaskCreated(duplicates); taskList.makeSnackbar(activity.getString(R.string.copy_multiple_tasks_confirmation, Integer.toString(duplicates.size()))).show(); @@ -185,6 +183,12 @@ public class TaskListRecyclerAdapter extends RecyclerView.Adapter } } + private void finishActionMode() { + if (mode != null) { + mode.finish(); + } + } + private ActionMode.Callback actionModeCallback = new ActionMode.Callback() { @Override public boolean onCreateActionMode(ActionMode actionMode, Menu menu) { @@ -307,9 +311,7 @@ public class TaskListRecyclerAdapter extends RecyclerView.Adapter @Override public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder source, RecyclerView.ViewHolder target) { - if (mode != null) { - mode.finish(); - } + finishActionMode(); int fromPosition = source.getAdapterPosition(); int toPosition = target.getAdapterPosition(); if (from == -1) {