Double check found messages

pull/217/head
M66B 8 months ago
parent c465445fde
commit 0778af503c

@ -896,8 +896,20 @@ class Core {
" from=" + new Date(from) + " to=" + new Date(to) +
" found=" + tmp.size());
return tmp.toArray(new Message[0]);
} else
return ifolder.search(new MessageIDTerm(msgid));
} else {
Message[] messages = ifolder.search(new MessageIDTerm(msgid));
if (messages == null || messages.length <= 1)
return messages;
List<Message> tmp = new ArrayList<>();
for (Message m : messages) {
MessageHelper helper = new MessageHelper((MimeMessage) m, context);
if (msgid.equals(helper.getMessageID()))
tmp.add(m);
else
Log.w("findMsgId msgid=" + msgid + " <> " + helper.getMessageID() + " !!!");
}
return tmp.toArray(new Message[0]);
}
}
private static Map<EntityMessage, Message> findMessages(Context context, EntityFolder folder, List<EntityMessage> messages, POP3Store istore, POP3Folder ifolder) throws MessagingException, IOException {
@ -1302,6 +1314,7 @@ class Core {
db.message().setMessageUid(message.id, null);
// Some providers do not list the new message yet
if (EntityFolder.DRAFTS.equals(folder.type))
try {
List<Message> delete = new ArrayList<>();

Loading…
Cancel
Save