OSDN Git Service

Indicate number of items to be deleted in confirmation dialog
authorJames Hiew <james@hiew.net>
Mon, 7 Sep 2015 13:22:58 +0000 (14:22 +0100)
committerJames Hiew <james@hiew.net>
Mon, 7 Sep 2015 19:24:49 +0000 (20:24 +0100)
Re: CYAN-6559

Change-Id: I61bdc32feb2e46ad25c1060ea5eb3856e4aea37a

res/values/plurals.xml
src/com/cyanogenmod/filemanager/ui/policy/DeleteActionPolicy.java

index 4a1e480..b731122 100644 (file)
         <item quantity="one"><xliff:g id="files">%1$d</xliff:g> file selected.</item>
         <item quantity="other"><xliff:g id="files">%1$d</xliff:g> files selected.</item>
     </plurals>
+
+    <!-- Actions - Confirm the number of items that are going to be deleted -->
+    <plurals name="deleting_n_items">
+        <item quantity="one"><xliff:g id="count">%1$d</xliff:g> item is going to be deleted.</item>
+        <item quantity="other"><xliff:g id="count">%1$d</xliff:g> items are going to be deleted.</item>
+    </plurals>
 </resources>
index 003ed46..e73e430 100644 (file)
@@ -86,11 +86,23 @@ public final class DeleteActionPolicy extends ActionsPolicy {
             final OnRequestRefreshListener onRequestRefreshListener,
             final OnItemFlingerResponder onItemFlingerResponder) {
 
+        // inform of the number of FSOs that will be deleted
+        int numberOfItemsSelected = files.size();
+        StringBuilder messageBuilder = new StringBuilder(
+            ctx.getResources().getQuantityString(
+                R.plurals.deleting_n_items,
+                numberOfItemsSelected,
+                numberOfItemsSelected
+            )
+        )
+        .append('\n')
+        .append(ctx.getString(R.string.actions_ask_undone_operation_msg));
+
         // Ask the user before remove
         AlertDialog dialog = DialogHelper.createYesNoDialog(
             ctx,
             R.string.confirm_deletion,
-            R.string.actions_ask_undone_operation_msg,
+            messageBuilder.toString(),
             new DialogInterface.OnClickListener() {
                 @Override
                 public void onClick(DialogInterface alertDialog, int which) {