diff --git a/app/src/main/java/eu/faircode/email/AdapterFolder.java b/app/src/main/java/eu/faircode/email/AdapterFolder.java index 56df35aacc..49e681b20e 100644 --- a/app/src/main/java/eu/faircode/email/AdapterFolder.java +++ b/app/src/main/java/eu/faircode/email/AdapterFolder.java @@ -20,6 +20,7 @@ package eu.faircode.email; */ import android.content.Context; +import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.content.res.ColorStateList; @@ -78,7 +79,8 @@ public class AdapterFolder extends RecyclerView.Adapter() { + @Override + protected Void onLoad(Context context, Bundle args) { + long id = args.getLong("id"); + + DB db = DB.getInstance(context); + try { + db.beginTransaction(); + + for (Long mid : db.message().getMessageByFolder(id)) { + EntityMessage message = db.message().getMessage(mid); + EntityOperation.queue(db, message, EntityOperation.DELETE); + } + + db.setTransactionSuccessful(); + } finally { + db.endTransaction(); + } + + return null; + } + + @Override + protected void onException(Bundle args, Throwable ex) { + Helper.unexpectedError(context, owner, ex); + } + }.load(context, owner, args); + } + }) + .setNegativeButton(android.R.string.cancel, null) + .show(); + } + private void onActionEditProperties() { LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(context); lbm.sendBroadcast( diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 392956be8c..1daedf7c25 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -204,8 +204,10 @@ Synchronize now Delete local messages + Empty trash Edit properties + Delete all trashed messages permanently? Delete operations with an error message? Folder name