2016-05-31 17:20:21 +02:00
|
|
|
package eu.siacs.conversations.utils;
|
|
|
|
|
|
|
|
public class ReplacingSerialSingleThreadExecutor extends SerialSingleThreadExecutor {
|
|
|
|
|
2018-04-26 13:22:31 +02:00
|
|
|
public ReplacingSerialSingleThreadExecutor(String name) {
|
2018-10-27 00:32:09 +02:00
|
|
|
super(name);
|
2018-03-18 16:46:50 +01:00
|
|
|
}
|
2016-05-31 17:20:21 +02:00
|
|
|
|
2018-03-18 16:46:50 +01:00
|
|
|
@Override
|
|
|
|
public synchronized void execute(final Runnable r) {
|
|
|
|
tasks.clear();
|
2018-10-27 00:32:09 +02:00
|
|
|
if (active instanceof Cancellable) {
|
2018-04-26 13:22:31 +02:00
|
|
|
((Cancellable) active).cancel();
|
|
|
|
}
|
2018-03-18 16:46:50 +01:00
|
|
|
super.execute(r);
|
|
|
|
}
|
2018-04-26 17:02:31 +02:00
|
|
|
|
|
|
|
public synchronized void cancelRunningTasks() {
|
|
|
|
tasks.clear();
|
2018-10-27 00:32:09 +02:00
|
|
|
if (active instanceof Cancellable) {
|
2018-04-26 17:02:31 +02:00
|
|
|
((Cancellable) active).cancel();
|
|
|
|
}
|
|
|
|
}
|
2016-05-31 17:20:21 +02:00
|
|
|
}
|