From 256724ea2040c3b02e9de4b7fb67edf2fe148279 Mon Sep 17 00:00:00 2001 From: Steve McKay Date: Wed, 13 Apr 2016 16:17:46 -0700 Subject: [PATCH] Minor cleanups to delete support. When deleting by key, make a defensive copy of selection...probably fixing a latent bug. Bug: 28173827 Change-Id: Ib1ad2214c1f95fa703be227da33b25a5d4021b28 --- .../com/android/documentsui/dirlist/DirectoryFragment.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java b/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java index fba25abc206a2..22454ad9d16f3 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java +++ b/packages/DocumentsUI/src/com/android/documentsui/dirlist/DirectoryFragment.java @@ -524,6 +524,7 @@ public class DirectoryFragment extends Fragment } if (mActionMode != null) { + assert(!mSelected.isEmpty()); final String title = Shared.getQuantityString(getActivity(), R.plurals.elements_selected, mSelected.size()); mActionMode.setTitle(title); @@ -809,6 +810,8 @@ public class DirectoryFragment extends Fragment // the user cancels the delete. if (mActionMode != null) { mActionMode.finish(); + } else { + Log.w(TAG, "Action mode is null before deleting documents."); } // Hide the files in the UI...since the operation // might be queued up on FileOperationService. @@ -1436,7 +1439,8 @@ public class DirectoryFragment extends Fragment // This has to be handled here instead of in a keyboard shortcut, because // keyboard shortcuts all have to be modified with the 'Ctrl' key. if (mSelectionManager.hasSelection()) { - deleteDocuments(mSelectionManager.getSelection()); + Selection selection = mSelectionManager.getSelection(new Selection()); + deleteDocuments(selection); } // Always handle the key, even if there was nothing to delete. This is a // precaution to prevent other handlers from potentially picking up the event