From ff305ddd930226074591c8364e75326ee4b1ca0d Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 9 Jan 2025 10:55:10 +0100 Subject: [PATCH] Report spam similar --- app/src/main/java/eu/faircode/email/DaoMessage.java | 5 +++++ .../main/java/eu/faircode/email/FragmentMessages.java | 11 ++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/DaoMessage.java b/app/src/main/java/eu/faircode/email/DaoMessage.java index c505974d4c..f8931ec044 100644 --- a/app/src/main/java/eu/faircode/email/DaoMessage.java +++ b/app/src/main/java/eu/faircode/email/DaoMessage.java @@ -468,6 +468,11 @@ public interface DaoMessage { " AND (:to IS NULL OR received IS NULL OR received < :to)") List getThreadInfo(long account, List msgids, Long from, Long to); + @Query("SELECT * FROM message" + + " WHERE folder = :folder" + + " AND sender = :sender") + List getMessagesBySender(long folder, String sender); + @Query("SELECT * FROM message" + " WHERE account = :account" + " AND sender = :sender" + diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index e12382d57e..090f5a11a0 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -10956,9 +10956,18 @@ public class FragmentMessages extends FragmentBase if (junk == null) throw new IllegalArgumentException(context.getString(R.string.title_no_junk_folder)); - if (!message.folder.equals(junk.id)) + if (!message.folder.equals(junk.id)) { EntityOperation.queue(context, message, EntityOperation.MOVE, junk.id, null, null, true); + if (!Helper.isPlayStoreInstall()) { + List similar = db.message().getMessagesBySender(message.folder, message.sender); + if (similar != null) + for (EntityMessage m : similar) + if (!message.id.equals(m.id)) + EntityOperation.queue(context, m, EntityOperation.MOVE, junk.id, null, null, true); + } + } + if (block_domain) { List rules = EntityRule.blockSender(context, message, junk, block_domain); for (EntityRule rule : rules) {