From 4219eda056e39339aa3b36b846073e08b82296a2 Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 3 Jan 2023 16:17:54 +0100 Subject: [PATCH] Prioritize inbox operations --- app/src/main/java/eu/faircode/email/ServiceSynchronize.java | 2 +- app/src/main/java/eu/faircode/email/TupleOperationEx.java | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) 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))