diff --git a/k9mail/src/main/java/com/fsck/k9/fragment/MessageListFragment.java b/k9mail/src/main/java/com/fsck/k9/fragment/MessageListFragment.java index 64547720c..a2c239b3b 100644 --- a/k9mail/src/main/java/com/fsck/k9/fragment/MessageListFragment.java +++ b/k9mail/src/main/java/com/fsck/k9/fragment/MessageListFragment.java @@ -2217,7 +2217,7 @@ public class MessageListFragment extends Fragment implements OnItemClickListener } if (mActionMode == null) { - mActionMode = getActivity().startActionMode(mActionModeCallback); + startAndPrepareActionMode(); } computeBatchDirection(); updateActionModeTitle(); @@ -2276,7 +2276,7 @@ public class MessageListFragment extends Fragment implements OnItemClickListener return; } } else { - mActionMode = getActivity().startActionMode(mActionModeCallback); + startAndPrepareActionMode(); } if (selected) { @@ -2285,9 +2285,6 @@ public class MessageListFragment extends Fragment implements OnItemClickListener mSelectedCount += selectedCountDelta; } - // make sure the onPrepareActionMode is called - mActionMode.invalidate(); - computeBatchDirection(); updateActionModeTitle(); @@ -3536,13 +3533,18 @@ public class MessageListFragment extends Fragment implements OnItemClickListener } if (mActionMode == null) { - mActionMode = getActivity().startActionMode(mActionModeCallback); + startAndPrepareActionMode(); } recalculateSelectionCount(); updateActionModeTitle(); } + private void startAndPrepareActionMode() { + mActionMode = getActivity().startActionMode(mActionModeCallback); + mActionMode.invalidate(); + } + /** * Recalculates the selection count. *