Flag messages in same folder only

pull/174/head
M66B 6 years ago
parent 0482ff081f
commit 4dcfdf0a9e

@ -2623,7 +2623,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
EntityOperation.queue(context, message, EntityOperation.FLAG, flagged); EntityOperation.queue(context, message, EntityOperation.FLAG, flagged);
else { else {
List<EntityMessage> messages = db.message().getMessagesByThread( List<EntityMessage> 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) for (EntityMessage threaded : messages)
EntityOperation.queue(context, threaded, EntityOperation.FLAG, flagged); EntityOperation.queue(context, threaded, EntityOperation.FLAG, flagged);
} }

@ -2387,7 +2387,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
continue; continue;
List<EntityMessage> messages = db.message().getMessagesByThread( List<EntityMessage> 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) for (EntityMessage threaded : messages)
if (threaded.ui_flagged != flagged || !Objects.equals(threaded.color, color)) if (threaded.ui_flagged != flagged || !Objects.equals(threaded.color, color))
EntityOperation.queue(context, threaded, EntityOperation.FLAG, flagged, color); EntityOperation.queue(context, threaded, EntityOperation.FLAG, flagged, color);
@ -5650,12 +5650,16 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
try { try {
db.beginTransaction(); db.beginTransaction();
EntityMessage message = db.message().getMessage(id);
if (message == null)
return wakeup;
List<EntityMessage> messages = db.message().getMessagesByThread( List<EntityMessage> messages = db.message().getMessagesByThread(
account, thread, threading ? null : id, null); account, thread, threading ? null : id, null);
for (EntityMessage threaded : messages) { for (EntityMessage threaded : messages) {
db.message().setMessageSnoozed(threaded.id, wakeup); db.message().setMessageSnoozed(threaded.id, wakeup);
db.message().setMessageUiIgnored(threaded.id, true); db.message().setMessageUiIgnored(threaded.id, true);
if (flag_snoozed) if (flag_snoozed && threaded.folder.equals(message.folder))
EntityOperation.queue(context, threaded, EntityOperation.FLAG, true); EntityOperation.queue(context, threaded, EntityOperation.FLAG, true);
EntityMessage.snooze(context, threaded.id, wakeup); EntityMessage.snooze(context, threaded.id, wakeup);
} }
@ -5719,7 +5723,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
for (EntityMessage threaded : messages) { for (EntityMessage threaded : messages) {
db.message().setMessageSnoozed(threaded.id, wakeup); db.message().setMessageSnoozed(threaded.id, wakeup);
db.message().setMessageUiIgnored(message.id, true); db.message().setMessageUiIgnored(message.id, true);
if (flag_snoozed) if (flag_snoozed && threaded.folder.equals(message.folder))
EntityOperation.queue(context, threaded, EntityOperation.FLAG, true); EntityOperation.queue(context, threaded, EntityOperation.FLAG, true);
EntityMessage.snooze(context, threaded.id, wakeup); EntityMessage.snooze(context, threaded.id, wakeup);
} }

Loading…
Cancel
Save