diff --git a/app/src/main/java/eu/faircode/email/SimpleTask.java b/app/src/main/java/eu/faircode/email/SimpleTask.java index 150a3761fd..335cfe1a0d 100644 --- a/app/src/main/java/eu/faircode/email/SimpleTask.java +++ b/app/src/main/java/eu/faircode/email/SimpleTask.java @@ -131,7 +131,11 @@ public abstract class SimpleTask implements LifecycleObserver { onPreExecute(args); } catch (Throwable ex) { Log.e(ex); - onException(args, ex); + try { + onException(args, ex); + } catch (Throwable exex) { + Log.e(exex); + } } future = getExecutor(context).submit(new Runnable() { @@ -196,7 +200,11 @@ public abstract class SimpleTask implements LifecycleObserver { onPostExecute(args); } catch (Throwable ex) { Log.e(ex); - onException(args, ex); + try { + onException(args, ex); + } catch (Throwable exex) { + Log.e(exex); + } } finally { try { if (ex == null) { @@ -209,10 +217,18 @@ public abstract class SimpleTask implements LifecycleObserver { onExecuted(args, (T) data); } else - onException(args, ex); + try { + onException(args, ex); + } catch (Throwable exex) { + Log.e(exex); + } } catch (Throwable ex) { Log.e(ex); - onException(args, ex); + try { + onException(args, ex); + } catch (Throwable exex) { + Log.e(exex); + } } } }