Added option for forward threading

This commit is contained in:
M66B
2022-05-11 18:26:13 +02:00
parent 4fee7ecfdc
commit 0fac4cf7f0
5 changed files with 50 additions and 3 deletions

View File

@@ -281,6 +281,7 @@ public class MessageHelper {
boolean autocrypt = prefs.getBoolean("autocrypt", true);
boolean mutual = prefs.getBoolean("autocrypt_mutual", true);
boolean encrypt_subject = prefs.getBoolean("encrypt_subject", false);
boolean forward_new = prefs.getBoolean("forward_new", true);
Map<String, String> c = new HashMap<>();
c.put("id", message.id == null ? null : Long.toString(message.id));
@@ -338,8 +339,13 @@ public class MessageHelper {
}
imessage.addHeader("References", references);
}
if (message.inreplyto != null)
imessage.addHeader("In-Reply-To", message.inreplyto);
if (message.wasforwardedfrom != null && !forward_new)
imessage.addHeader("X-Forwarded-Message-Id", message.wasforwardedfrom);
imessage.addHeader(HEADER_CORRELATION_ID, message.msgid);
MailDateFormat mdf = new MailDateFormat();
@@ -1493,6 +1499,16 @@ public class MessageHelper {
if (!TextUtils.isEmpty(inreplyto) && !refs.contains(inreplyto))
refs.add(inreplyto);
boolean forward_new = prefs.getBoolean("forward_new", true);
if (!forward_new)
try {
String fwd = imessage.getHeader("X-Forwarded-Message-Id", null);
if (!TextUtils.isEmpty(fwd) && !refs.contains(fwd))
refs.add(fwd);
} catch (Throwable ex) {
Log.w(ex);
}
DB db = DB.getInstance(context);
List<String> all = new ArrayList<>(refs);