From e1447ad132b493ead15622eb2556c1202e2c87cb Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 6 Sep 2018 12:23:54 +0000 Subject: [PATCH] Handle message removed while getting attachments --- .../eu/faircode/email/ServiceSynchronize.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 45dec1838d..428a530729 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -521,6 +521,11 @@ public class ServiceSynchronize extends LifecycleService { synchronizeMessage(ServiceSynchronize.this, folder, ifolder, (IMAPMessage) imessage, false); } catch (MessageRemovedException ex) { Log.w(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex)); + } catch (IOException ex) { + if (ex.getCause() instanceof MessageRemovedException) + Log.w(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex)); + else + throw ex; } EntityOperation.process(ServiceSynchronize.this); // download small attachments } catch (Throwable ex) { @@ -583,6 +588,11 @@ public class ServiceSynchronize extends LifecycleService { EntityOperation.process(ServiceSynchronize.this); // download small attachments } catch (MessageRemovedException ex) { Log.w(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex)); + } catch (IOException ex) { + if (ex.getCause() instanceof MessageRemovedException) + Log.w(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex)); + else + throw ex; } } catch (Throwable ex) { Log.e(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex)); @@ -1282,6 +1292,12 @@ public class ServiceSynchronize extends LifecycleService { unchanged++; } catch (MessageRemovedException ex) { Log.w(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex)); + } catch (IOException ex) { + // Getting attachments + if (ex.getCause() instanceof MessageRemovedException) + Log.w(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex)); + else + throw ex; } EntityOperation.process(this); // download small attachments