mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-09 18:43:23 +02:00
Check message ID on exists
This commit is contained in:
@@ -1534,7 +1534,7 @@ class Core {
|
||||
EntityLog.log(context, "Operation attachment size=" + attachment.size);
|
||||
}
|
||||
|
||||
private static void onExists(Context context, JSONArray jargs, EntityFolder folder, EntityMessage message, EntityOperation op, IMAPFolder ifolder) throws MessagingException {
|
||||
private static void onExists(Context context, JSONArray jargs, EntityFolder folder, EntityMessage message, EntityOperation op, IMAPFolder ifolder) throws MessagingException, IOException {
|
||||
if (message.uid != null)
|
||||
return;
|
||||
|
||||
@@ -1554,8 +1554,20 @@ class Core {
|
||||
}
|
||||
|
||||
if (imessages != null && imessages.length == 1) {
|
||||
long uid = ifolder.getUID(imessages[0]);
|
||||
EntityOperation.queue(context, folder, EntityOperation.FETCH, uid);
|
||||
String msgid;
|
||||
try {
|
||||
MessageHelper helper = new MessageHelper((MimeMessage) imessages[0], context);
|
||||
msgid = helper.getMessageID();
|
||||
} catch (MessagingException ex) {
|
||||
Log.e(ex);
|
||||
msgid = message.msgid;
|
||||
}
|
||||
if (Objects.equals(message.msgid, msgid)) {
|
||||
long uid = ifolder.getUID(imessages[0]);
|
||||
EntityOperation.queue(context, folder, EntityOperation.FETCH, uid);
|
||||
} else {
|
||||
EntityOperation.queue(context, message, EntityOperation.ADD);
|
||||
}
|
||||
} else {
|
||||
if (imessages != null && imessages.length > 1)
|
||||
Log.e(folder.name + " EXISTS messages=" + imessages.length);
|
||||
|
||||
Reference in New Issue
Block a user