From 312aa299f7b9b28a0c2c464bdc34c9b16227cbc9 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 11 Dec 2021 11:26:32 +0100 Subject: [PATCH] Same message has same hash --- app/src/main/java/eu/faircode/email/MessageHelper.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index a2324d4abc..975136be2f 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -122,6 +122,7 @@ public class MessageHelper { private boolean ensuredHeaders = false; private boolean ensuredStructure = false; private MimeMessage imessage; + private String hash = null; private static File cacheDir = null; @@ -1176,7 +1177,7 @@ public class MessageHelper { if (thread == null) { List similar = db.message().getMessagesByMsgId(account, msgid); for (EntityMessage message : similar) - if (!TextUtils.isEmpty(message.thread) && message.folder != folder) { + if (!TextUtils.isEmpty(message.thread) && Objects.equals(message.hash, getHash())) { thread = message.thread; break; } @@ -1835,7 +1836,9 @@ public class MessageHelper { String getHash() throws MessagingException { try { - return Helper.sha1(getHeaders().getBytes()); + if (hash == null) + hash = Helper.sha1(getHeaders().getBytes()); + return hash; } catch (NoSuchAlgorithmException ex) { Log.e(ex); return null;