diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index d0fe98b8a7..b6c97bc40f 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -1237,7 +1237,7 @@ class Core { int count = ifolder.getMessageCount(); db.folder().setFolderTotal(folder.id, count < 0 ? null : count); - if (download) { + if (download && folder.initialize == 0) { db.folder().setFolderSyncState(folder.id, "downloading"); // Download messages/attachments @@ -1274,9 +1274,21 @@ class Core { } } - if (state.running) { + if (state.running && folder.initialize != 0) { folder.initialize = 0; db.folder().setFolderInitialize(folder.id, 0); + + // Schedule download + if (download) { + EntityOperation operation = new EntityOperation(); + operation.account = folder.account; + operation.folder = folder.id; + operation.message = null; + operation.name = EntityOperation.SYNC; + operation.args = jargs.toString(); + operation.created = new Date().getTime(); + operation.id = db.operation().insertOperation(operation); + } } db.folder().setFolderSync(folder.id, new Date().getTime()); diff --git a/app/src/main/java/eu/faircode/email/EntityFolder.java b/app/src/main/java/eu/faircode/email/EntityFolder.java index 6a10dc7610..cfe7c94d54 100644 --- a/app/src/main/java/eu/faircode/email/EntityFolder.java +++ b/app/src/main/java/eu/faircode/email/EntityFolder.java @@ -191,7 +191,7 @@ public class EntityFolder extends EntityOrder implements Serializable { } JSONArray jargs = new JSONArray(); - jargs.put(initialize == 0 ? days : Math.max(keep_days, initialize)); + jargs.put(initialize == 0 ? days : Math.min(keep_days, initialize)); jargs.put(keep_days); jargs.put(download); jargs.put(auto_delete);