From eb8c7159728223a44eb73878d3668faf9d34fafd Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 18 Nov 2020 08:37:04 +0100 Subject: [PATCH] Improved undo error handling --- app/src/main/java/eu/faircode/email/FragmentMessages.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index e0a7685e6f..71b224ab8b 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -3414,6 +3414,8 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. message = db.message().getMessage(id); if (message == null) return null; + if (message.account == null) + throw new IllegalStateException("Account missing"); db.folder().setFolderError(message.folder, null); if (message.identity != null) @@ -3424,7 +3426,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. // Insert into drafts EntityFolder drafts = db.folder().getFolderByType(message.account, EntityFolder.DRAFTS); if (drafts == null) - return null; + throw new IllegalArgumentException(context.getString(R.string.title_no_drafts)); message.id = null; message.folder = drafts.id; @@ -3469,7 +3471,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. @Override protected void onException(Bundle args, Throwable ex) { - Log.unexpectedError(manager, ex); + Log.unexpectedError(manager, ex, !(ex instanceof IllegalArgumentException)); } }.execute(context, owner, args, "message:move:draft"); }