From 9f4e0e1e607aa6e6588a34fd742c5160d3ee380a Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 28 Aug 2021 19:16:13 +0200 Subject: [PATCH] Optimized unmodified download --- app/src/main/java/eu/faircode/email/Core.java | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index 9608598f23..6d3c667953 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -3145,26 +3145,26 @@ class Core { Log.i(folder.name + " deleted orphans=" + orphans); } } else { - List _imessages = new ArrayList<>(); List _ids = new ArrayList<>(); - - List messages = db.message().getMessagesWithoutContent( - folder.id, sync_kept || force ? null : sync_time); - if (messages != null) { - Log.i(folder.name + " needs content=" + messages.size()); - for (EntityMessage message : messages) { - Message imessage = ifolder.getMessageByUID(message.uid); - if (imessage != null) { - _imessages.add(imessage); + List _uids = new ArrayList<>(); + + if (download && initialize == 0) { + List messages = db.message().getMessagesWithoutContent( + folder.id, sync_kept || force ? null : sync_time); + if (messages != null) { + Log.i(folder.name + " needs content=" + messages.size()); + for (EntityMessage message : messages) { _ids.add(message.id); + _uids.add(message.uid); } } } - search = SystemClock.elapsedRealtime(); - - imessages = _imessages.toArray(new Message[0]); + // This will result in message changed events + imessages = ifolder.getMessagesByUID(Helper.toLongArray(_uids)); ids = _ids.toArray(new Long[0]); + + search = SystemClock.elapsedRealtime(); } // Update modseq