From 574455b18af3ba4b29509c5dd56c0b5b4d18dcff Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 5 Nov 2020 19:36:55 +0100 Subject: [PATCH] Decrypt subject improvement --- .../eu/faircode/email/FragmentMessages.java | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 3225388a02..061e9e81e2 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -5975,18 +5975,24 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. // https://github.com/autocrypt/protected-headers try { Object content = imessage.getContent(); + + BodyPart bp = null; if (content instanceof MimeMultipart) { MimeMultipart mmp = (MimeMultipart) content; - if (mmp.getCount() > 0) { - BodyPart bp = mmp.getBodyPart(0); - ContentType ct = new ContentType(bp.getContentType()); - if ("v1".equals(ct.getParameter("protected-headers"))) { - String[] subject = bp.getHeader("subject"); - if (subject != null && subject.length != 0) - db.message().setMessageSubject(message.id, subject[0]); - } + if (mmp.getCount() > 0) + bp = mmp.getBodyPart(0); + } else if (content instanceof BodyPart) + bp = (BodyPart) content; + + if (bp != null) { + ContentType ct = new ContentType(bp.getContentType()); + if ("v1".equals(ct.getParameter("protected-headers"))) { + String[] subject = bp.getHeader("subject"); + if (subject != null && subject.length != 0) + db.message().setMessageSubject(message.id, subject[0]); } } + } catch (Throwable ex) { Log.e(ex); }