From 9b0c4e572efcb9ae0bc83cda311d46d419ff2acd Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 21 Nov 2020 07:48:34 +0100 Subject: [PATCH] Prevent crash --- .../java/eu/faircode/email/SimpleTask.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/SimpleTask.java b/app/src/main/java/eu/faircode/email/SimpleTask.java index 150a3761fd..662646af6e 100644 --- a/app/src/main/java/eu/faircode/email/SimpleTask.java +++ b/app/src/main/java/eu/faircode/email/SimpleTask.java @@ -130,8 +130,7 @@ public abstract class SimpleTask implements LifecycleObserver { try { onPreExecute(args); } catch (Throwable ex) { - Log.e(ex); - onException(args, ex); + error(args, ex); } future = getExecutor(context).submit(new Runnable() { @@ -195,8 +194,7 @@ public abstract class SimpleTask implements LifecycleObserver { try { onPostExecute(args); } catch (Throwable ex) { - Log.e(ex); - onException(args, ex); + error(args, ex); } finally { try { if (ex == null) { @@ -209,10 +207,9 @@ public abstract class SimpleTask implements LifecycleObserver { onExecuted(args, (T) data); } else - onException(args, ex); + error(args, ex); } catch (Throwable ex) { - Log.e(ex); - onException(args, ex); + error(args, ex); } } } @@ -221,6 +218,15 @@ public abstract class SimpleTask implements LifecycleObserver { }); } + void error(Bundle args, Throwable ex) { + try { + Log.e(ex); + onException(args, ex); + } catch (Throwable exex) { + Log.e(exex); + } + } + void cancel(Context context) { if (future != null) if (future.cancel(false)) {