diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 5e06e454a5..2192f6daa9 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -1346,50 +1346,6 @@ public class AdapterMessage extends RecyclerView.Adapter() { - @Override - protected Void onExecute(Context context, Bundle args) { - long id = args.getLong("id"); - - DB db = DB.getInstance(context); - try { - db.beginTransaction(); - - EntityMessage message = db.message().getMessage(id); - if (message == null) - return null; - - EntityFolder junk = db.folder().getFolderByType(message.account, EntityFolder.JUNK); - EntityOperation.queue(context, db, message, EntityOperation.MOVE, junk.id); - - db.setTransactionSuccessful(); - } finally { - db.endTransaction(); - } - - return null; - } - - @Override - protected void onException(Bundle args, Throwable ex) { - Helper.unexpectedError(context, owner, ex); - } - }.execute(context, owner, args, "message:spam"); - } - }) - .setNegativeButton(android.R.string.cancel, null) - .show(); - } - private void onMenuForward(final ActionData data) { Bundle args = new Bundle(); args.putLong("id", data.message.id); @@ -1539,6 +1495,71 @@ public class AdapterMessage extends RecyclerView.Adapter() { + @Override + protected Void onExecute(Context context, Bundle args) { + long id = args.getLong("id"); + + DB db = DB.getInstance(context); + try { + db.beginTransaction(); + + EntityMessage message = db.message().getMessage(id); + if (message == null) + return null; + + EntityFolder junk = db.folder().getFolderByType(message.account, EntityFolder.JUNK); + EntityOperation.queue(context, db, message, EntityOperation.MOVE, junk.id); + + db.setTransactionSuccessful(); + } finally { + db.endTransaction(); + } + + return null; + } + + @Override + protected void onException(Bundle args, Throwable ex) { + Helper.unexpectedError(context, owner, ex); + } + }.execute(context, owner, args, "message:spam"); + } + }) + .setNegativeButton(android.R.string.cancel, null) + .show(); + } + + private void onMenuDelete(final ActionData data) { + Bundle args = new Bundle(); + args.putLong("id", data.message.id); + + new SimpleTask() { + @Override + protected Void onExecute(Context context, Bundle args) { + long id = args.getLong("id"); + + DB db = DB.getInstance(context); + db.message().deleteMessage(id); + return null; + } + + @Override + protected void onException(Bundle args, Throwable ex) { + Helper.unexpectedError(context, owner, ex); + } + }.execute(context, owner, args, "message:delete"); + } + private void onMenuShare(ActionData data) { Bundle args = new Bundle(); args.putLong("id", data.message.id); @@ -1817,8 +1838,6 @@ public class AdapterMessage extends RecyclerView.Adapter - - @@ -20,6 +16,14 @@ android:id="@+id/menu_unseen" android:title="@string/title_unseen" /> + + + +