Mark single message seen/unseen on snooze

pull/196/head
M66B 4 years ago
parent b247df8feb
commit 7e37572ebb

@ -7396,12 +7396,13 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
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) {
if (threaded.ui_unsnoozed && wakeup == null)
db.message().setMessageUnsnoozed(threaded.id, false); db.message().setMessageUnsnoozed(threaded.id, false);
else {
db.message().setMessageSnoozed(threaded.id, wakeup); db.message().setMessageSnoozed(threaded.id, wakeup);
db.message().setMessageUiIgnored(threaded.id, true); if (threaded.id.equals(id))
EntityOperation.queue(context, threaded, EntityOperation.SEEN, true, false);
else
db.message().setMessageUiIgnored(message.id, true);
if (!hide && flag_snoozed && threaded.folder.equals(message.folder)) if (!hide && flag_snoozed && threaded.folder.equals(message.folder))
EntityOperation.queue(context, threaded, EntityOperation.FLAG, wakeup != null); EntityOperation.queue(context, threaded, EntityOperation.FLAG, wakeup != null);
EntityMessage.snooze(context, threaded.id, wakeup); EntityMessage.snooze(context, threaded.id, wakeup);
@ -7462,12 +7463,13 @@ 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, message.folder); message.account, message.thread, threading ? null : id, null);
for (EntityMessage threaded : messages) for (EntityMessage threaded : messages) {
if (threaded.ui_unsnoozed && wakeup == null)
db.message().setMessageUnsnoozed(threaded.id, false); db.message().setMessageUnsnoozed(threaded.id, false);
else {
db.message().setMessageSnoozed(threaded.id, wakeup); db.message().setMessageSnoozed(threaded.id, wakeup);
if (threaded.id.equals(id))
EntityOperation.queue(context, threaded, EntityOperation.SEEN, true, false);
else
db.message().setMessageUiIgnored(message.id, true); db.message().setMessageUiIgnored(message.id, true);
if (flag_snoozed && threaded.folder.equals(message.folder)) if (flag_snoozed && threaded.folder.equals(message.folder))
EntityOperation.queue(context, threaded, EntityOperation.FLAG, wakeup != null); EntityOperation.queue(context, threaded, EntityOperation.FLAG, wakeup != null);

@ -519,10 +519,13 @@ public class ServiceUI extends IntentService {
} }
} }
} }
db.message().setMessageSnoozed(message.id, null); db.message().setMessageSnoozed(message.id, null);
if (!message.ui_ignored) {
db.message().setMessageUnsnoozed(message.id, true); db.message().setMessageUnsnoozed(message.id, true);
EntityOperation.queue(this, message, EntityOperation.SEEN, false, false); EntityOperation.queue(this, message, EntityOperation.SEEN, false, false);
} }
}
db.setTransactionSuccessful(); db.setTransactionSuccessful();
} finally { } finally {

Loading…
Cancel
Save