From 6b74e15218592d50c6372d2573629682be6ac730 Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 29 Apr 2019 21:54:49 +0200 Subject: [PATCH] Open read only folders --- .../java/eu/faircode/email/ServiceSynchronize.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 79509218fa..2a28b7e168 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -67,6 +67,7 @@ import javax.mail.Message; import javax.mail.MessageRemovedException; import javax.mail.MessagingException; import javax.mail.NoSuchProviderException; +import javax.mail.ReadOnlyFolderException; import javax.mail.Session; import javax.mail.StoreClosedException; import javax.mail.UIDFolder; @@ -665,8 +666,17 @@ public class ServiceSynchronize extends LifecycleService { final IMAPFolder ifolder = (IMAPFolder) istore.getFolder(folder.name); try { ifolder.open(Folder.READ_WRITE); + } catch (ReadOnlyFolderException ex) { + try { + ifolder.open(Folder.READ_ONLY); + } catch (MessagingException ex1) { + Log.w(ex1); + db.folder().setFolderState(folder.id, null); + db.folder().setFolderError(folder.id, Helper.formatThrowable(ex1, true)); + continue; + } } catch (MessagingException ex) { - // Including ReadOnlyFolderException + Log.w(ex); db.folder().setFolderState(folder.id, null); db.folder().setFolderError(folder.id, Helper.formatThrowable(ex, true)); continue;