From 4dcfdf0a9e81c8de5ef77c50742f638f6397d8e2 Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 24 Feb 2020 16:22:45 +0100 Subject: [PATCH] Flag messages in same folder only --- .../main/java/eu/faircode/email/AdapterMessage.java | 2 +- .../main/java/eu/faircode/email/FragmentMessages.java | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index dd4d58efab..88a9d98ed9 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -2623,7 +2623,7 @@ public class AdapterMessage extends RecyclerView.Adapter messages = db.message().getMessagesByThread( - message.account, message.thread, threading && thread ? null : id, null); + message.account, message.thread, threading && thread ? null : id, message.folder); for (EntityMessage threaded : messages) EntityOperation.queue(context, threaded, EntityOperation.FLAG, flagged); } diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index a1d045a455..2b4b3b47f4 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -2387,7 +2387,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. continue; List messages = db.message().getMessagesByThread( - message.account, message.thread, threading ? null : id, null); + message.account, message.thread, threading ? null : id, message.folder); for (EntityMessage threaded : messages) if (threaded.ui_flagged != flagged || !Objects.equals(threaded.color, color)) EntityOperation.queue(context, threaded, EntityOperation.FLAG, flagged, color); @@ -5650,12 +5650,16 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. try { db.beginTransaction(); + EntityMessage message = db.message().getMessage(id); + if (message == null) + return wakeup; + List messages = db.message().getMessagesByThread( account, thread, threading ? null : id, null); for (EntityMessage threaded : messages) { db.message().setMessageSnoozed(threaded.id, wakeup); db.message().setMessageUiIgnored(threaded.id, true); - if (flag_snoozed) + if (flag_snoozed && threaded.folder.equals(message.folder)) EntityOperation.queue(context, threaded, EntityOperation.FLAG, true); EntityMessage.snooze(context, threaded.id, wakeup); } @@ -5719,7 +5723,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. for (EntityMessage threaded : messages) { db.message().setMessageSnoozed(threaded.id, wakeup); db.message().setMessageUiIgnored(message.id, true); - if (flag_snoozed) + if (flag_snoozed && threaded.folder.equals(message.folder)) EntityOperation.queue(context, threaded, EntityOperation.FLAG, true); EntityMessage.snooze(context, threaded.id, wakeup); }