diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 84e2bce8f6..6934354add 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -6394,7 +6394,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. EntityFolder junk = db.folder().getFolderByType(message.account, EntityFolder.JUNK); if (junk == null) - return null; + throw new IllegalArgumentException(context.getString(R.string.title_no_junk_folder)); EntityOperation.queue(context, message, EntityOperation.MOVE, junk.id); @@ -6404,7 +6404,6 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. rule.id = db.rule().insertRule(rule); } - db.setTransactionSuccessful(); } finally { db.endTransaction(); @@ -6417,7 +6416,17 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. @Override protected void onException(Bundle args, Throwable ex) { - Log.unexpectedError(getParentFragmentManager(), ex); + if (ex instanceof IllegalArgumentException) { + Snackbar snackbar = Snackbar.make(view, ex.getMessage(), Snackbar.LENGTH_INDEFINITE); + snackbar.setAction(R.string.title_fix, new View.OnClickListener() { + @Override + public void onClick(View view) { + startActivity(new Intent(getContext(), ActivitySetup.class)); + } + }); + snackbar.show(); + } else + Log.unexpectedError(getParentFragmentManager(), ex); } }.execute(this, args, "message:junk"); } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6ca0e6d373..4917c22fa5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -639,6 +639,7 @@ Password missing Inbox not found No primary account or no drafts folder + There is no spam folder selected for this account Sending emails requires at least one identity and a drafts folder This provider uses a proprietary email protocol and therefore it is not possible to use third party email clients This provider does not support push messages. This will delay reception of new messages and increase battery usage.