From fa4835d688e7648c2e78be05e6a9b4d42691d2c8 Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 23 Nov 2018 09:07:24 +0100 Subject: [PATCH] Permanently delete in trash folder only --- .../eu/faircode/email/FragmentMessages.java | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 20a3516efa..914f26e63d 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -556,37 +556,45 @@ public class FragmentMessages extends FragmentEx { @Override public void onClick(View v) { Bundle args = new Bundle(); + args.putLong("folder", folder); args.putLongArray("ids", getSelection()); - new SimpleTask() { + new SimpleTask() { @Override - protected Integer[] onLoad(Context context, Bundle args) { + protected Boolean[] onLoad(Context context, Bundle args) { + long fid = args.getLong("folder"); long[] ids = args.getLongArray("ids"); - Integer[] result = new Integer[2]; - result[0] = 0; - result[1] = 0; + Boolean[] result = new Boolean[3]; + result[0] = false; + result[1] = false; + result[2] = false; DB db = DB.getInstance(context); for (Long id : ids) { EntityMessage message = db.message().getMessage(id); - result[message.ui_seen ? 1 : 0]++; + result[message.ui_seen ? 1 : 0] = true; } + EntityFolder folder = db.folder().getFolder(fid); + if (folder != null && EntityFolder.TRASH.equals(folder.type)) + result[2] = true; + return result; } @Override - protected void onLoaded(Bundle args, Integer[] result) { + protected void onLoaded(Bundle args, Boolean[] result) { PopupMenu popupMenu = new PopupMenu(getContext(), fabMore); - if (result[0] > 0) + if (result[0]) popupMenu.getMenu().add(Menu.NONE, action_seen, 1, R.string.title_seen); - if (result[1] > 0) + if (result[1]) popupMenu.getMenu().add(Menu.NONE, action_unseen, 2, R.string.title_unseen); popupMenu.getMenu().add(Menu.NONE, action_move, 3, R.string.title_move); - popupMenu.getMenu().add(Menu.NONE, action_trash, 4, R.string.title_trash); + if (result[2]) + popupMenu.getMenu().add(Menu.NONE, action_trash, 4, R.string.title_trash); popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override @@ -670,14 +678,14 @@ public class FragmentMessages extends FragmentEx { private void onActionMove() { Bundle args = new Bundle(); - args.putLongArray("ids", getSelection()); args.putLong("folder", folder); + args.putLongArray("ids", getSelection()); new SimpleTask>() { @Override protected List onLoad(Context context, Bundle args) { - long[] ids = args.getLongArray("ids"); long fid = args.getLong("folder"); + long[] ids = args.getLongArray("ids"); DB db = DB.getInstance(context);