From 3e290c85a62c1b679b926856d734ddf45cc78ef4 Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 5 Dec 2018 15:26:13 +0100 Subject: [PATCH] Fixed seen/flagged/delete thread --- .../eu/faircode/email/AdapterMessage.java | 23 ++++++------- .../eu/faircode/email/FragmentMessages.java | 32 +++++++++++++------ app/src/main/res/menu/menu_message.xml | 5 --- 3 files changed, 35 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 2d1eead87a..d523b462d2 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -1158,14 +1158,11 @@ public class AdapterMessage extends RecyclerView.Adapter messages = db.message().getMessageByThread( + message.account, message.thread, threading ? null : id, message.ui_found); + for (EntityMessage threaded : messages) + if (threaded.folder.equals(message.folder)) + EntityOperation.queue(db, threaded, EntityOperation.FLAG, flagged); + } else + EntityOperation.queue(db, message, EntityOperation.FLAG, flagged); + return null; } @@ -1371,9 +1378,6 @@ public class AdapterMessage extends RecyclerView.Adapter messages = db.message().getMessageByThread( + message.account, message.thread, threading ? null : id, message.ui_found); + for (EntityMessage threaded : messages) + if (threaded.folder.equals(message.folder)) + EntityOperation.queue(db, threaded, EntityOperation.SEEN, seen); + } } db.setTransactionSuccessful(); @@ -813,8 +817,13 @@ public class FragmentMessages extends FragmentEx { for (long id : ids) { EntityMessage message = db.message().getMessage(id); - if (message.ui_flagged != flagged) - EntityOperation.queue(db, message, EntityOperation.FLAG, flagged); + if (message.ui_flagged != flagged) { + List messages = db.message().getMessageByThread( + message.account, message.thread, threading ? null : id, message.ui_found); + for (EntityMessage threaded : messages) + if (threaded.folder.equals(message.folder)) + EntityOperation.queue(db, threaded, EntityOperation.FLAG, flagged); + } } db.setTransactionSuccessful(); @@ -867,10 +876,15 @@ public class FragmentMessages extends FragmentEx { for (long id : ids) { EntityMessage message = db.message().getMessage(id); - if (message.uid == null && !TextUtils.isEmpty(message.error)) // outbox - db.message().deleteMessage(id); - else - EntityOperation.queue(db, message, EntityOperation.DELETE); + List messages = db.message().getMessageByThread( + message.account, message.thread, threading ? null : id, message.ui_found); + for (EntityMessage threaded : messages) + if (threaded.folder.equals(message.folder)) { + if (threaded.uid == null && !TextUtils.isEmpty(threaded.error)) // outbox + db.message().deleteMessage(threaded.id); + else + EntityOperation.queue(db, threaded, EntityOperation.DELETE); + } } db.setTransactionSuccessful(); diff --git a/app/src/main/res/menu/menu_message.xml b/app/src/main/res/menu/menu_message.xml index 818aaf11db..de2213fd59 100644 --- a/app/src/main/res/menu/menu_message.xml +++ b/app/src/main/res/menu/menu_message.xml @@ -24,11 +24,6 @@ android:id="@+id/menu_unseen" android:title="@string/title_unseen" /> - -