From 62d9d44431371fd934d7c83493ab17c322d83a49 Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 22 Sep 2020 08:37:25 +0200 Subject: [PATCH] Check for store closed on getting folder --- app/src/main/java/eu/faircode/email/Core.java | 2 +- .../java/eu/faircode/email/ServiceSynchronize.java | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index 4cb27463d1..86f3254558 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -144,7 +144,7 @@ class Core { private static final long FUTURE_RECEIVED = 30 * 24 * 3600 * 1000L; // milliseconds private static final int LOCAL_RETRY_MAX = 2; private static final long LOCAL_RETRY_DELAY = 5 * 1000L; // milliseconds - private static final int TOTAL_RETRY_MAX = LOCAL_RETRY_MAX * 10; + private static final int TOTAL_RETRY_MAX = LOCAL_RETRY_MAX * 5; static void processOperations( Context context, diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index b6d48e9d17..a44e9e9205 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -1326,7 +1326,15 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences db.folder().setFolderState(folder.id, "connecting"); - ifolder = iservice.getStore().getFolder(folder.name); + try { + ifolder = iservice.getStore().getFolder(folder.name); + } catch (IllegalStateException ex) { + if ("Not connected".equals(ex.getMessage())) + return; // Store closed + else + throw ex; + } + try { ifolder.open(Folder.READ_WRITE); if (ifolder instanceof IMAPFolder)