From a2b8feb8365bbb3d9062f465885f7e1c8c258056 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 19 Apr 2020 08:08:36 +0200 Subject: [PATCH] Improved error reporting --- .../java/eu/faircode/email/FragmentRule.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentRule.java b/app/src/main/java/eu/faircode/email/FragmentRule.java index 54f29828be..5bd9bd8c24 100644 --- a/app/src/main/java/eu/faircode/email/FragmentRule.java +++ b/app/src/main/java/eu/faircode/email/FragmentRule.java @@ -1132,7 +1132,6 @@ public class FragmentRule extends FragmentBase { tvNoMessages.setVisibility(View.GONE); rvMessage.setVisibility(View.GONE); btnExecute.setVisibility(View.GONE); - pbWait.setVisibility(View.VISIBLE); final Bundle args = new Bundle(); args.putLong("folder", folder); @@ -1197,6 +1196,16 @@ public class FragmentRule extends FragmentBase { }); new SimpleTask>() { + @Override + protected void onPreExecute(Bundle args) { + pbWait.setVisibility(View.VISIBLE); + } + + @Override + protected void onPostExecute(Bundle args) { + pbWait.setVisibility(View.GONE); + } + @Override protected List onExecute(Context context, Bundle args) throws Throwable { EntityRule rule = new EntityRule(); @@ -1228,7 +1237,6 @@ public class FragmentRule extends FragmentBase { protected void onExecuted(Bundle args, List messages) { adapter.set(messages); - pbWait.setVisibility(View.GONE); if (messages.size() > 0) { rvMessage.setVisibility(View.VISIBLE); btnExecute.setVisibility(View.VISIBLE); @@ -1238,7 +1246,11 @@ public class FragmentRule extends FragmentBase { @Override protected void onException(Bundle args, Throwable ex) { - Log.unexpectedError(getParentFragmentManager(), ex); + if (ex instanceof IllegalArgumentException) { + tvNoMessages.setText(ex.getMessage()); + tvNoMessages.setVisibility(View.VISIBLE); + } else + Log.unexpectedError(getParentFragmentManager(), ex); } }.execute(this, args, "rule:check");