From 09d89303038cb5d9707a31eb883392aa96d4c4c7 Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 25 Oct 2021 08:01:53 +0200 Subject: [PATCH] Refactoring --- app/src/main/java/eu/faircode/email/Core.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index 2b0b275b53..d001473955 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -742,17 +742,20 @@ class Core { Message[] imessages; // https://stackoverflow.com/questions/18891509/how-to-get-message-from-messageidterm-for-yahoo-imap-profile - if (account.isYahooJp()) - imessages = ifolder.search(new ReceivedDateTerm(ComparisonTerm.GE, new Date())); - else + if (account.isYahooJp()) { + Message[] itemps = ifolder.search(new ReceivedDateTerm(ComparisonTerm.GE, new Date())); + List tmp = new ArrayList<>(); + for (Message itemp : itemps) { + MessageHelper helper = new MessageHelper((MimeMessage) itemp, context); + if (msgid.equals(helper.getMessageID())) + tmp.add(itemp); + } + imessages = tmp.toArray(new Message[0]); + } else imessages = ifolder.search(new MessageIDTerm(msgid)); + if (imessages != null) { for (Message iexisting : imessages) { - if (account.isYahooJp()) { - MessageHelper helper = new MessageHelper((MimeMessage) iexisting, context); - if (!msgid.equals(helper.getMessageID())) - continue; - } long muid = ifolder.getUID(iexisting); if (muid < 0) continue;