diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index a32e0ab11b..51f7be94d3 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -2114,7 +2114,7 @@ public class ServiceSynchronize extends ServiceBase implements SharedPreferences List keys = new ArrayList<>(); synchronized (partitions) { for (TupleOperationEx op : added.get(folder.id)) { - TupleOperationEx.PartitionKey key = op.getPartitionKey(offline); + TupleOperationEx.PartitionKey key = op.getPartitionKey(offline, folder.type); if (!partitions.containsKey(key)) { partitions.put(key, new ArrayList<>()); diff --git a/app/src/main/java/eu/faircode/email/TupleOperationEx.java b/app/src/main/java/eu/faircode/email/TupleOperationEx.java index 141968f97e..08ace4da29 100644 --- a/app/src/main/java/eu/faircode/email/TupleOperationEx.java +++ b/app/src/main/java/eu/faircode/email/TupleOperationEx.java @@ -45,7 +45,7 @@ public class TupleOperationEx extends EntityOperation { return false; } - PartitionKey getPartitionKey(boolean offline) { + PartitionKey getPartitionKey(boolean offline, String folderType) { PartitionKey key = new PartitionKey(); key.folder = this.folder; @@ -53,11 +53,13 @@ public class TupleOperationEx extends EntityOperation { if (offline) { // open/close folder is expensive - key.priority = this.priority + 10; + key.priority = this.priority + 20; return key; } key.priority = this.priority; + if (!EntityFolder.INBOX.equals(folderType)) + key.priority += 10; if (ADD.equals(name) || DELETE.equals(name))