From ef20425ddf68fc9c060ebcc5b49ed83a53950ab6 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 11 Dec 2021 16:59:15 +0100 Subject: [PATCH] Prevent downloading headers when not needed --- app/src/main/java/eu/faircode/email/Core.java | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index 61b42b4ef4..cdff536f20 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -3654,13 +3654,6 @@ class Core { } } - boolean needsHeaders = EntityRule.needsHeaders(rules); - boolean needsBody = EntityRule.needsBody(rules); - if (needsHeaders || needsBody) - Log.i(folder.name + " needs headers=" + needsHeaders + " body=" + needsBody); - List
headers = (needsHeaders ? helper.getAllHeaders() : null); - String body = (needsBody ? helper.getMessageParts().getHtml(context) : null); - if (message == null) { Long sent = helper.getSent(); @@ -3856,6 +3849,13 @@ class Core { } } + boolean needsHeaders = EntityRule.needsHeaders(rules); + boolean needsBody = EntityRule.needsBody(rules); + if (needsHeaders || needsBody) + Log.i(folder.name + " needs headers=" + needsHeaders + " body=" + needsBody); + List
headers = (needsHeaders ? helper.getAllHeaders() : null); + String body = (needsBody ? helper.getMessageParts().getHtml(context) : null); + try { db.beginTransaction(); @@ -4077,7 +4077,14 @@ class Core { } } - if (update || process) + if (update || process) { + boolean needsHeaders = EntityRule.needsHeaders(rules); + boolean needsBody = EntityRule.needsBody(rules); + if (needsHeaders || needsBody) + Log.i(folder.name + " needs headers=" + needsHeaders + " body=" + needsBody); + List
headers = (needsHeaders ? helper.getAllHeaders() : null); + String body = (needsBody ? helper.getMessageParts().getHtml(context) : null); + try { db.beginTransaction(); @@ -4090,6 +4097,7 @@ class Core { } finally { db.endTransaction(); } + } if (process) { EntityContact.received(context, account, folder, message);