From da8c4906402de4707516dcd11a39deb21fa19f7f Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 10 Nov 2019 11:25:13 +0100 Subject: [PATCH] Improved error handling --- app/src/main/java/eu/faircode/email/Core.java | 6 ++++-- 1 file changed, 4 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 8d80a059bd..894f76fcd0 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -409,6 +409,7 @@ class Core { ex instanceof FileNotFoundException || ex instanceof FolderNotFoundException || ex instanceof IllegalArgumentException || + ex instanceof SQLiteConstraintException || ex.getCause() instanceof BadCommandException || ex.getCause() instanceof CommandFailedException) { // com.sun.mail.iap.BadCommandException: B13 BAD [TOOBIG] Message too large @@ -489,12 +490,13 @@ class Core { if (TextUtils.isEmpty(message.msgid)) throw new IllegalArgumentException("Message without msgid for " + op.name); - message.uid = findUid(ifolder, message.msgid, false); - if (message.uid == null) + Long uid = findUid(ifolder, message.msgid, false); + if (uid == null) throw new IllegalArgumentException("Message not found for " + op.name); DB db = DB.getInstance(context); db.message().setMessageUid(message.id, message.uid); + message.uid = uid; } private static Long findUid(IMAPFolder ifolder, String msgid, boolean purge) throws MessagingException {