From 8e3088e67b756f8dee1a934739d0657fdab8f153 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 8 Dec 2018 17:26:19 +0100 Subject: [PATCH] Detail send failed exception --- .../eu/faircode/email/ServiceSynchronize.java | 24 +++++++++++++++++++ app/src/main/res/values/strings.xml | 3 +++ 2 files changed, 27 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 4fd96a63a6..0d84278b84 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -1732,6 +1732,30 @@ public class ServiceSynchronize extends LifecycleService { db.endTransaction(); } } catch (MessagingException ex) { + if (ex instanceof SendFailedException) { + SendFailedException sfe = (SendFailedException) ex; + + StringBuilder sb = new StringBuilder(); + + sb.append(sfe.getMessage()); + + sb.append(' ').append(getString(R.string.title_address_sent)); + sb.append(' ').append(MessageHelper.getFormattedAddresses(sfe.getValidSentAddresses(), true)); + + sb.append(' ').append(getString(R.string.title_address_unsent)); + sb.append(' ').append(MessageHelper.getFormattedAddresses(sfe.getValidUnsentAddresses(), true)); + + sb.append(' ').append(getString(R.string.title_address_invalid)); + sb.append(' ').append(MessageHelper.getFormattedAddresses(sfe.getInvalidAddresses(), true)); + + ex = new SendFailedException( + sb.toString(), + sfe.getNextException(), + sfe.getValidSentAddresses(), + sfe.getValidUnsentAddresses(), + sfe.getInvalidAddresses()); + } + db.identity().setIdentityError(ident.id, Helper.formatThrowable(ex)); EntityLog.log(this, ident.name + " last attempt: " + new Date(message.last_attempt)); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 06c49b1d45..1823629b8a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -293,6 +293,9 @@ Unread Starred + Sent: + Unsent: + Invalid: Move to sent Previous