From 6395d92bfdfd1c544f2351a74ad04b5563308fd0 Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 14 Apr 2020 15:29:01 +0200 Subject: [PATCH] Refactoring --- .../eu/faircode/email/AdapterMessage.java | 3 ++- .../java/eu/faircode/email/DaoMessage.java | 4 +-- .../eu/faircode/email/FragmentMessages.java | 26 ++++++++++++++----- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 007a3adfa7..d45353b47c 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -4825,7 +4825,8 @@ public class AdapterMessage extends RecyclerView.Adapter result = args.getParcelableArrayList("result"); DB db = DB.getInstance(context); + long now = new Date().getTime(); long busy = now + UNDO_TIMEOUT * 2; - for (MessageTarget target : result) { - db.message().setMessageUiBusy(target.id, busy, now); - db.message().setMessageUiHide(target.id, true); - // Prevent new message notification on undo - db.message().setMessageUiIgnored(target.id, true); + try { + db.beginTransaction(); + + for (MessageTarget target : result) { + db.message().setMessageUiBusy(target.id, busy); + db.message().setMessageUiHide(target.id, true); + // Prevent new message notification on undo + db.message().setMessageUiIgnored(target.id, true); + db.message().setMessageLastAttempt(target.id, now); + } + + db.setTransactionSuccessful(); + } finally { + db.endTransaction(); } return result; @@ -4469,8 +4479,9 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. for (MessageTarget target : result) { Log.i("Move undo id=" + target.id); - db.message().setMessageUiBusy(target.id, null, new Date().getTime()); + db.message().setMessageUiBusy(target.id, null); db.message().setMessageUiHide(target.id, false); + db.message().setMessageLastAttempt(target.id, new Date().getTime()); } db.setTransactionSuccessful(); @@ -4518,7 +4529,8 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. continue; Log.i("Move id=" + id + " target=" + target.folder.name); - db.message().setMessageUiBusy(target.id, null, new Date().getTime()); + db.message().setMessageUiBusy(target.id, null); + db.message().setMessageLastAttempt(target.id, new Date().getTime()); EntityOperation.queue(context, message, EntityOperation.MOVE, target.folder.id); }