From 6bbab650726230efcc6468606dbc6f5ef9f2bffe Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 27 Oct 2021 07:45:00 +0200 Subject: [PATCH] Add local contacts for POP3 send --- app/src/main/java/eu/faircode/email/Core.java | 10 +++++++++- .../main/java/eu/faircode/email/EntityContact.java | 12 +++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index 048f416585..facdd1d84e 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -340,10 +340,13 @@ class Core { case EntityOperation.ANSWERED: case EntityOperation.ADD: - case EntityOperation.EXISTS: // Do nothing break; + case EntityOperation.EXISTS: + onExists(context, jargs, account, folder, message); + break; + case EntityOperation.MOVE: onMove(context, jargs, folder, message); break; @@ -1857,6 +1860,11 @@ class Core { EntityLog.log(context, "Operation attachment size=" + attachment.size); } + private static void onExists(Context context, JSONArray jargs, EntityAccount account, EntityFolder folder, EntityMessage message) { + // POP3 + EntityContact.received(context, account, folder, message); + } + private static void onExists(Context context, JSONArray jargs, EntityAccount account, EntityFolder folder, EntityMessage message, EntityOperation op, IMAPFolder ifolder) throws MessagingException, IOException { DB db = DB.getInstance(context); diff --git a/app/src/main/java/eu/faircode/email/EntityContact.java b/app/src/main/java/eu/faircode/email/EntityContact.java index 3d4cb1e0df..3801b88875 100644 --- a/app/src/main/java/eu/faircode/email/EntityContact.java +++ b/app/src/main/java/eu/faircode/email/EntityContact.java @@ -100,11 +100,13 @@ public class EntityContact implements Serializable { @NonNull EntityAccount account, @NonNull EntityFolder folder, @NonNull EntityMessage message) { - int days = (folder.isOutgoing() ? folder.keep_days : folder.sync_days); - if (days == Integer.MAX_VALUE) - days = EntityFolder.DEFAULT_KEEP; - if (message.received < account.created - days * 24 * 3600 * 1000L) - return; + if (account.protocol == EntityAccount.TYPE_IMAP) { + int days = (folder.isOutgoing() ? folder.keep_days : folder.sync_days); + if (days == Integer.MAX_VALUE) + days = EntityFolder.DEFAULT_KEEP; + if (message.received < account.created - days * 24 * 3600 * 1000L) + return; + } if (EntityFolder.DRAFTS.equals(folder.type) || EntityFolder.ARCHIVE.equals(folder.type) ||