From 8d7334236340c74aae5df0e9dc21cd4c644a6ea8 Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 27 Jan 2020 13:12:57 +0100 Subject: [PATCH] Fixed partitioning --- .../eu/faircode/email/ServiceSynchronize.java | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index a2daac517e..32f30cddad 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -64,7 +64,6 @@ import java.util.Hashtable; import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.TreeMap; import java.util.concurrent.ExecutorService; import javax.mail.AuthenticationFailedException; @@ -1122,16 +1121,7 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences db.operation().liveOperations(folder.id).observe(cowner, new Observer>() { private List handling = new ArrayList<>(); - - private final Map> partitions = - new TreeMap<>(new Comparator() { - @Override - public int compare(TupleOperationEx.PartitionKey k1, TupleOperationEx.PartitionKey k2) { - Integer p1 = k1.getPriority(); - Integer p2 = k2.getPriority(); - return p1.compareTo(p2); - } - }); + private final Map> partitions = new HashMap<>(); private final PowerManager.WakeLock wlFolder = pm.newWakeLock( PowerManager.PARTIAL_WAKE_LOCK, BuildConfig.APPLICATION_ID + ":folder." + folder.id); @@ -1168,6 +1158,15 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences } } + Collections.sort(keys, new Comparator() { + @Override + public int compare(TupleOperationEx.PartitionKey k1, TupleOperationEx.PartitionKey k2) { + Integer p1 = k1.getPriority(); + Integer p2 = k2.getPriority(); + return p1.compareTo(p2); + } + }); + for (TupleOperationEx.PartitionKey key : keys) { synchronized (partitions) { Log.i(folder.name +