diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index 93e0e6e5ff..5d5cda1172 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -3260,10 +3260,10 @@ class Core { stats.flags_ms = (SystemClock.elapsedRealtime() - fetch); Log.i(folder.name + " remote fetched=" + stats.flags_ms + " ms"); - try { - for (int i = 0; i < imessages.length; i++) { - state.ensureRunning("Sync/IMAP/check"); + for (int i = 0; i < imessages.length; i++) { + state.ensureRunning("Sync/IMAP/check"); + try { long uid = ifolder.getUID(imessages[i]); EntityMessage message = db.message().getMessageByUid(folder.id, uid); ids[i] = (message == null ? null : message.id); @@ -3273,14 +3273,11 @@ class Core { break; } else uids.remove(uid); - } - } catch (Throwable ex) { - if (ex instanceof OperationCanceledException) - Log.i(ex); - else + } catch (Throwable ex) { Log.w(ex); - modified = true; - modseq = null; + modified = true; + modseq = null; + } } if (uids.size() > 0) { @@ -5767,7 +5764,7 @@ class Core { join(thread); } - void ensureRunning(String reason) { + void ensureRunning(String reason) throws OperationCanceledException { if (!recoverable && unrecoverable != null) throw new OperationCanceledExceptionEx(reason, unrecoverable); if (!running)