aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/utils/SerialSingleThreadExecutor.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2018-04-12 21:07:36 +0200
committerChristian Schneppe <christian@pix-art.de>2018-04-12 21:07:36 +0200
commit30b2eb185c3271e72d042aded53001aa95e5ccfb (patch)
tree72ee16db2d374b0e7ddcbe993f69d77d70e20f9a /src/main/java/de/pixart/messenger/utils/SerialSingleThreadExecutor.java
parent73f5a097dd4de8291aad7a312c78719f91bbbef5 (diff)
run roster sync in replacing task manager
Diffstat (limited to '')
-rw-r--r--src/main/java/de/pixart/messenger/utils/SerialSingleThreadExecutor.java27
1 files changed, 10 insertions, 17 deletions
diff --git a/src/main/java/de/pixart/messenger/utils/SerialSingleThreadExecutor.java b/src/main/java/de/pixart/messenger/utils/SerialSingleThreadExecutor.java
index ea1fb81f1..1562160fd 100644
--- a/src/main/java/de/pixart/messenger/utils/SerialSingleThreadExecutor.java
+++ b/src/main/java/de/pixart/messenger/utils/SerialSingleThreadExecutor.java
@@ -11,8 +11,8 @@ import de.pixart.messenger.Config;
public class SerialSingleThreadExecutor implements Executor {
- final Executor executor = Executors.newSingleThreadExecutor();
- protected final ArrayDeque<Runnable> tasks = new ArrayDeque<>();
+ private final Executor executor = Executors.newSingleThreadExecutor();
+ final ArrayDeque<Runnable> tasks = new ArrayDeque<>();
private Runnable active;
private final String name;
@@ -20,26 +20,19 @@ public class SerialSingleThreadExecutor implements Executor {
this(name, false);
}
- public SerialSingleThreadExecutor(String name, boolean prepareLooper) {
+ SerialSingleThreadExecutor(String name, boolean prepareLooper) {
if (prepareLooper) {
- execute(new Runnable() {
- @Override
- public void run() {
- Looper.prepare();
- }
- });
+ execute(Looper::prepare);
}
this.name = name;
}
public synchronized void execute(final Runnable r) {
- tasks.offer(new Runnable() {
- public void run() {
- try {
- r.run();
- } finally {
- scheduleNext();
- }
+ tasks.offer(() -> {
+ try {
+ r.run();
+ } finally {
+ scheduleNext();
}
});
if (active == null) {
@@ -47,7 +40,7 @@ public class SerialSingleThreadExecutor implements Executor {
}
}
- protected synchronized void scheduleNext() {
+ private synchronized void scheduleNext() {
if ((active = tasks.poll()) != null) {
executor.execute(active);
int remaining = tasks.size();