aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/utils/SerialSingleThreadExecutor.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/eu/siacs/conversations/utils/SerialSingleThreadExecutor.java')
-rw-r--r--src/main/java/eu/siacs/conversations/utils/SerialSingleThreadExecutor.java51
1 files changed, 0 insertions, 51 deletions
diff --git a/src/main/java/eu/siacs/conversations/utils/SerialSingleThreadExecutor.java b/src/main/java/eu/siacs/conversations/utils/SerialSingleThreadExecutor.java
deleted file mode 100644
index 55489ee30..000000000
--- a/src/main/java/eu/siacs/conversations/utils/SerialSingleThreadExecutor.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package eu.siacs.conversations.utils;
-
-import android.os.Looper;
-
-import java.util.ArrayDeque;
-import java.util.Queue;
-import java.util.concurrent.Executor;
-import java.util.concurrent.Executors;
-
-public class SerialSingleThreadExecutor implements Executor {
-
- final Executor executor = Executors.newSingleThreadExecutor();
- protected final Queue<Runnable> tasks = new ArrayDeque();
- Runnable active;
-
- public SerialSingleThreadExecutor() {
- this(false);
- }
-
- public SerialSingleThreadExecutor(boolean prepareLooper) {
- if (prepareLooper) {
- execute(new Runnable() {
- @Override
- public void run() {
- Looper.prepare();
- }
- });
- }
- }
-
- public synchronized void execute(final Runnable r) {
- tasks.offer(new Runnable() {
- public void run() {
- try {
- r.run();
- } finally {
- scheduleNext();
- }
- }
- });
- if (active == null) {
- scheduleNext();
- }
- }
-
- protected synchronized void scheduleNext() {
- if ((active = tasks.poll()) != null) {
- executor.execute(active);
- }
- }
-} \ No newline at end of file