From c2c4683d12e852165cd7223b5ed600279279febe Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 13 Jan 2023 18:24:21 +0100 Subject: [PATCH] Added sail-safe --- app/src/main/java/eu/faircode/email/SimpleTask.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/SimpleTask.java b/app/src/main/java/eu/faircode/email/SimpleTask.java index cded64d90c..531a77cd36 100644 --- a/app/src/main/java/eu/faircode/email/SimpleTask.java +++ b/app/src/main/java/eu/faircode/email/SimpleTask.java @@ -359,11 +359,16 @@ public abstract class SimpleTask implements LifecycleObserver { } void cancel(Context context) { - ExecutorService executor = getExecutor(context); - if (executor instanceof ThreadPoolExecutor && future instanceof Runnable) { - boolean removed = ((ThreadPoolExecutor) executor).remove((Runnable) future); - Log.i("Remove task=" + name + " removed=" + removed); + try { + ExecutorService executor = getExecutor(context); + if (executor instanceof ThreadPoolExecutor && future instanceof Runnable) { + boolean removed = ((ThreadPoolExecutor) executor).remove((Runnable) future); + Log.i("Remove task=" + name + " removed=" + removed); + } + } catch (Throwable ex) { + Log.e(ex); } + if (future != null && future.cancel(false)) { Log.i("Cancelled task=" + name); cleanup(context);