From 42459568351286ff483ca75a46bd2ab374dd9d53 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 16 Jun 2024 18:24:19 +0200 Subject: [PATCH] Simplify workaround --- .../eu/faircode/email/FragmentMessages.java | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 800c71851e..9cd32d71e1 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -3632,6 +3632,11 @@ public class FragmentMessages extends FragmentBase if (delete_asked) { if (leave_deleted) { new SimpleTask() { + @Override + protected void onPreExecute(Bundle args) { + message.ui_hide = true; + } + @Override protected Void onExecute(Context context, Bundle args) { long id = args.getLong("id"); @@ -3648,7 +3653,6 @@ public class FragmentMessages extends FragmentBase db.message().setMessageFound(id, false); // Prevent new message notification on undo db.message().setMessageUiIgnored(id, true); - db.message().setMessageLastAttempt(id, now); db.setTransactionSuccessful(); } finally { @@ -3801,7 +3805,6 @@ public class FragmentMessages extends FragmentBase message.ui_busy = null; db.message().setMessageUiBusy(message.id, message.ui_busy); - db.message().setMessageLastAttempt(id, null); EntityOperation.queue(context, message, EntityOperation.DELETE); db.setTransactionSuccessful(); @@ -3827,7 +3830,6 @@ public class FragmentMessages extends FragmentBase db.message().setMessageUiHide(id, false); db.message().setMessageUiBusy(id, null); - db.message().setMessageLastAttempt(id, null); db.setTransactionSuccessful(); } finally { @@ -8233,6 +8235,20 @@ public class FragmentMessages extends FragmentBase args.putParcelableArrayList("result", result); new SimpleTask() { + @Override + protected void onPreExecute(Bundle args) { + AdapterMessage adapter = (rvMessage == null ? null : (AdapterMessage) rvMessage.getAdapter()); + if (adapter == null) + return; + + ArrayList result = args.getParcelableArrayList("result"); + for (MessageTarget target : result) { + TupleMessageEx message = adapter.getItemForKey(target.id); + if (message != null) + message.ui_hide = true; + } + } + @Override protected Void onExecute(Context context, Bundle args) { ArrayList result = args.getParcelableArrayList("result"); @@ -8253,7 +8269,6 @@ public class FragmentMessages extends FragmentBase db.message().setMessageFound(target.id, false); // Prevent new message notification on undo db.message().setMessageUiIgnored(target.id, true); - db.message().setMessageLastAttempt(target.id, now); } db.setTransactionSuccessful(); @@ -8307,7 +8322,6 @@ public class FragmentMessages extends FragmentBase Log.i("Move id=" + target.id + " target=" + target.targetFolder.name); db.message().setMessageUiBusy(target.id, null); - db.message().setMessageLastAttempt(target.id, null); EntityOperation.queue(context, message, EntityOperation.MOVE, target.targetFolder.id); } @@ -8341,7 +8355,6 @@ public class FragmentMessages extends FragmentBase db.message().setMessageUiBusy(target.id, null); db.message().setMessageUiHide(target.id, false); db.message().setMessageFound(target.id, target.found); - db.message().setMessageLastAttempt(target.id, null); } db.setTransactionSuccessful();