diff --git a/app/src/main/java/eu/faircode/email/ActivityCompose.java b/app/src/main/java/eu/faircode/email/ActivityCompose.java index c2bbeb4ae0..afbd9bad49 100644 --- a/app/src/main/java/eu/faircode/email/ActivityCompose.java +++ b/app/src/main/java/eu/faircode/email/ActivityCompose.java @@ -32,6 +32,7 @@ import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import java.util.ArrayList; +import java.util.Map; public class ActivityCompose extends ActivityBase implements FragmentManager.OnBackStackChangedListener { static final int PI_REPLY = 1; @@ -103,6 +104,14 @@ public class ActivityCompose extends ActivityBase implements FragmentManager.OnB if (subject != null) args.putString("subject", subject); + Map headers = mailto.getHeaders(); + if (headers != null) + for (String key : headers.keySet()) + if ("in-reply-to".equalsIgnoreCase(key)) { + args.putString("inreplyto", headers.get(key)); + break; + } + String body = mailto.getBody(); if (body != null) { StringBuilder sb = new StringBuilder(); diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index e83b4bc0aa..432cab69ca 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -1189,6 +1189,7 @@ public class FragmentCompose extends FragmentBase { args.putString("to", a.getString("to")); args.putString("cc", a.getString("cc")); args.putString("bcc", a.getString("bcc")); + args.putString("inreplyto", a.getString("inreplyto")); args.putString("subject", a.getString("subject")); args.putString("body", a.getString("body")); args.putString("text", a.getString("text")); @@ -3568,6 +3569,8 @@ public class FragmentCompose extends FragmentBase { Log.w(ex); } + data.draft.inreplyto = args.getString("inreplyto", null); + data.draft.subject = args.getString("subject", ""); String b = args.getString("body", "");