diff --git a/app/src/main/java/eu/faircode/email/DaoMessage.java b/app/src/main/java/eu/faircode/email/DaoMessage.java index 85bd867881..151773fa19 100644 --- a/app/src/main/java/eu/faircode/email/DaoMessage.java +++ b/app/src/main/java/eu/faircode/email/DaoMessage.java @@ -266,6 +266,7 @@ public interface DaoMessage { String widget = "SELECT message.*, account.name AS accountName" + ", SUM(1 - message.ui_seen) AS unseen" + + ", COUNT(message.id) - SUM(message.ui_flagged) AS unflagged" + ", MAX(message.received) AS dummy" + " FROM message" + " JOIN account ON account.id = message.account" + diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index f4a16bfd14..d4033420f8 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -202,6 +202,7 @@ public class ServiceSynchronize extends ServiceBase { !m1.received.equals(m2.received) || !Objects.equals(m1.subject, m2.subject) || !(m1.unseen == m2.unseen) || + !(m1.unflagged == m2.unflagged) || !Objects.equals(m1.accountName, m2.accountName)) { changed = true; break; diff --git a/app/src/main/java/eu/faircode/email/TupleMessageWidget.java b/app/src/main/java/eu/faircode/email/TupleMessageWidget.java index a053f27be2..df09ac2897 100644 --- a/app/src/main/java/eu/faircode/email/TupleMessageWidget.java +++ b/app/src/main/java/eu/faircode/email/TupleMessageWidget.java @@ -24,6 +24,7 @@ import java.util.Objects; public class TupleMessageWidget extends EntityMessage { public String accountName; public int unseen; + public int unflagged; @Override public boolean equals(Object obj) { @@ -31,7 +32,8 @@ public class TupleMessageWidget extends EntityMessage { TupleMessageEx other = (TupleMessageEx) obj; return (super.equals(obj) && Objects.equals(this.accountName, other.accountName) && - this.unseen == other.unseen); + this.unseen == other.unseen && + this.unflagged == other.unflagged); } return false; }