From 599f440554570d7287c89a691ef9690e165c1b89 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 8 Feb 2025 17:39:56 +0100 Subject: [PATCH] Across busy --- app/src/main/java/eu/faircode/email/Core.java | 1 + app/src/main/java/eu/faircode/email/EntityOperation.java | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index cb1da3b435..9c95c9b1ee 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -1406,6 +1406,7 @@ class Core { db.message().setMessageError(message.id, "Message not found in target folder " + account.name + "/" + folder.name + " msgid=" + message.msgid); db.message().setMessageUiHide(message.id, false); + db.message().setMessageUiBusy(message.id, null); } else { // Mark source read if (autoread) diff --git a/app/src/main/java/eu/faircode/email/EntityOperation.java b/app/src/main/java/eu/faircode/email/EntityOperation.java index 102eb0f7e1..58138bc40b 100644 --- a/app/src/main/java/eu/faircode/email/EntityOperation.java +++ b/app/src/main/java/eu/faircode/email/EntityOperation.java @@ -111,6 +111,7 @@ public class EntityOperation { private static final int MAX_FETCH = 100; // operations private static final long FORCE_WITHIN = 30 * 1000; // milliseconds + private static final long ACROSS_BUSY = 2 * 3600 * 1000L; // milliseconds static void queue(Context context, EntityMessage message, String name, Object... values) { DB db = DB.getInstance(context); @@ -356,8 +357,10 @@ public class EntityOperation { db.message().setMessageUiHide(message.id, true); } } else { - if (!message.ui_deleted) + if (!message.ui_deleted) { db.message().setMessageUiHide(message.id, true); + db.message().setMessageUiBusy(target.id, new Date().getTime() + ACROSS_BUSY); + } } if (message.ui_snoozed != null &&