1package eu.siacs.conversations.utils;
2
3public class ReplacingSerialSingleThreadExecutor extends SerialSingleThreadExecutor {
4
5 public ReplacingSerialSingleThreadExecutor(String name) {
6 super(name);
7 }
8
9 @Override
10 public synchronized void execute(final Runnable r) {
11 tasks.clear();
12 if (active instanceof Cancellable) {
13 ((Cancellable) active).cancel();
14 }
15 super.execute(r);
16 }
17
18 public synchronized void cancelRunningTasks() {
19 tasks.clear();
20 if (active instanceof Cancellable) {
21 ((Cancellable) active).cancel();
22 }
23 }
24}