From df3b817b05dbeb6472d0d869f4c43b2fb5451138 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 15 Oct 2022 17:40:18 +0200 Subject: [PATCH] Small improvement --- app/src/main/java/eu/faircode/email/Core.java | 1 + app/src/main/java/eu/faircode/email/EntityRule.java | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index 8e309a38f5..60152b09fa 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -597,6 +597,7 @@ class Core { long attachments = (op.message == null ? 0 : db.attachment().countAttachments(op.message)); if (op.tries >= TOTAL_RETRY_MAX || + ex instanceof JSONException || ex instanceof OutOfMemoryError || ex instanceof FileNotFoundException || ex instanceof FolderNotFoundException || diff --git a/app/src/main/java/eu/faircode/email/EntityRule.java b/app/src/main/java/eu/faircode/email/EntityRule.java index a97520d135..80547bf42e 100644 --- a/app/src/main/java/eu/faircode/email/EntityRule.java +++ b/app/src/main/java/eu/faircode/email/EntityRule.java @@ -456,7 +456,7 @@ public class EntityRule { boolean execute(Context context, EntityMessage message) throws JSONException { boolean executed = _execute(context, message); - if (id != null && executed) { + if (this.id != null && executed) { DB db = DB.getInstance(context); db.rule().applyRule(id, new Date().getTime()); } @@ -744,9 +744,9 @@ public class EntityRule { EntityOperation.queue(context, message, EntityOperation.RAW); } - if (!complete) { + if (!complete && this.id != null) { EntityOperation.queue(context, message, EntityOperation.RULE, this.id); - return false; + return true; } executor.submit(new Runnable() { @@ -963,7 +963,7 @@ public class EntityRule { if (message.ui_seen) return false; - if (!message.content) { + if (!message.content && this.id != null) { EntityOperation.queue(context, message, EntityOperation.BODY); EntityOperation.queue(context, message, EntityOperation.RULE, this.id); return true;