From 2e6a5591f12b76ebff17273c5284ea2c2bf7b266 Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 11 Feb 2019 22:17:01 +0000 Subject: [PATCH] Handle folder closed during message decode --- 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 aab1c22165..155842f83d 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -46,6 +46,7 @@ import javax.activation.FileTypeMap; import javax.mail.Address; import javax.mail.BodyPart; import javax.mail.Flags; +import javax.mail.FolderClosedException; import javax.mail.Header; import javax.mail.Message; import javax.mail.MessagingException; @@ -761,13 +762,13 @@ public class MessageHelper { Part part; } - MessageParts getMessageParts() throws IOException { + MessageParts getMessageParts() throws IOException, FolderClosedException { MessageParts parts = new MessageParts(); getMessageParts(imessage, parts, false); // Can throw ParseException return parts; } - private void getMessageParts(Part part, MessageParts parts, boolean pgp) throws IOException { + private void getMessageParts(Part part, MessageParts parts, boolean pgp) throws IOException, FolderClosedException { try { if (part.isMimeType("multipart/*")) { Multipart multipart = (Multipart) part.getContent(); @@ -822,6 +823,8 @@ public class MessageHelper { parts.attachments.add(apart); } } + } catch (FolderClosedException ex) { + throw ex; } catch (MessagingException ex) { Log.w(ex); parts.warnings.add(Helper.formatThrowable(ex));