From 8149036b96b34eb2867039c966282fa520b53957 Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 23 Jun 2020 13:35:04 +0200 Subject: [PATCH] Auto junk experiment --- app/src/main/java/eu/faircode/email/Core.java | 12 ++++++++++++ app/src/main/java/eu/faircode/email/DaoMessage.java | 6 ++++++ 2 files changed, 18 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index 6e220343d3..ee4e4adc75 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -2693,6 +2693,18 @@ class Core { Log.e(ex); db.message().setMessageError(message.id, Log.formatThrowable(ex)); } + + if (BuildConfig.DEBUG && + message.sender != null && EntityFolder.INBOX.equals(folder.type)) { + EntityFolder junk = db.folder().getFolderByType(message.account, EntityFolder.JUNK); + if (junk != null) { + int senders = db.message().countSender(junk.id, message.sender); + if (senders > 0) { + EntityLog.log(context, "JUNK sender=" + message.sender + " count=" + senders); + EntityOperation.queue(context, message, EntityOperation.KEYWORD, "$MoreJunk", true); + } + } + } } private static void reportNewMessage(Context context, EntityAccount account, EntityFolder folder, EntityMessage message) { diff --git a/app/src/main/java/eu/faircode/email/DaoMessage.java b/app/src/main/java/eu/faircode/email/DaoMessage.java index d9f7add2f0..46c0159ce6 100644 --- a/app/src/main/java/eu/faircode/email/DaoMessage.java +++ b/app/src/main/java/eu/faircode/email/DaoMessage.java @@ -409,6 +409,12 @@ public interface DaoMessage { " AND (NOT :filter_snoozed OR message.ui_snoozed IS NULL OR " + is_drafts + ")") int countVisible(long id, boolean filter_seen, boolean filter_unflagged, boolean filter_snoozed); + @Query("SELECT COUNT(id)" + + " FROM message" + + " WHERE folder = :folder" + + " AND sender = :sender") + int countSender(long folder, String sender); + @Query("SELECT message.*" + ", account.pop AS accountProtocol, account.name AS accountName, identity.color AS accountColor" + ", account.notify AS accountNotify, account.auto_seen AS accountAutoSeen" +