From b661e1fc1cc699cd9f9d75e49704aa86531713b4 Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 10 Dec 2019 14:26:20 +0100 Subject: [PATCH] Apply account color to nav folders --- .../eu/faircode/email/AdapterNavFolder.java | 17 +++-------------- .../java/eu/faircode/email/DaoFolder.java | 2 +- .../java/eu/faircode/email/TupleFolderEx.java | 1 + .../eu/faircode/email/TupleFolderNav.java | 19 +++++++++++++++++++ 4 files changed, 24 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterNavFolder.java b/app/src/main/java/eu/faircode/email/AdapterNavFolder.java index 6cc5fc4327..edc7f77c4b 100644 --- a/app/src/main/java/eu/faircode/email/AdapterNavFolder.java +++ b/app/src/main/java/eu/faircode/email/AdapterNavFolder.java @@ -43,7 +43,6 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; import java.util.List; -import java.util.Objects; public class AdapterNavFolder extends RecyclerView.Adapter { private Context context; @@ -106,10 +105,10 @@ public class AdapterNavFolder extends RecyclerView.Adapter> liveUnified(String type); @Query("SELECT folder.*" + - ", account.`order` AS accountOrder, account.name AS accountName" + + ", account.`order` AS accountOrder, account.name AS accountName, COALESCE(folder.color, account.color) AS accountColor" + ", COUNT(message.id) AS messages" + ", SUM(CASE WHEN NOT message.ui_seen THEN 1 ELSE 0 END) AS unseen" + ", SUM(CASE WHEN message.ui_snoozed IS NULL THEN 0 ELSE 1 END) AS snoozed" + diff --git a/app/src/main/java/eu/faircode/email/TupleFolderEx.java b/app/src/main/java/eu/faircode/email/TupleFolderEx.java index 616afc8b46..70d4a5bb63 100644 --- a/app/src/main/java/eu/faircode/email/TupleFolderEx.java +++ b/app/src/main/java/eu/faircode/email/TupleFolderEx.java @@ -66,6 +66,7 @@ public class TupleFolderEx extends EntityFolder implements Serializable { TupleFolderEx other = (TupleFolderEx) obj; return (super.equals(obj) && Objects.equals(this.accountId, other.accountId) && + Objects.equals(this.accountOrder, other.accountOrder) && Objects.equals(this.accountProtocol, other.accountProtocol) && Objects.equals(this.accountName, other.accountName) && Objects.equals(this.accountState, other.accountState) && diff --git a/app/src/main/java/eu/faircode/email/TupleFolderNav.java b/app/src/main/java/eu/faircode/email/TupleFolderNav.java index 9dc3283e78..33ad16b4b4 100644 --- a/app/src/main/java/eu/faircode/email/TupleFolderNav.java +++ b/app/src/main/java/eu/faircode/email/TupleFolderNav.java @@ -25,10 +25,12 @@ import java.io.Serializable; import java.text.Collator; import java.util.Comparator; import java.util.Locale; +import java.util.Objects; public class TupleFolderNav extends EntityFolder implements Serializable { public Integer accountOrder; public String accountName; + public Integer accountColor; public int messages; public int unseen; public int snoozed; @@ -76,4 +78,21 @@ public class TupleFolderNav extends EntityFolder implements Serializable { } }; } + + @Override + public boolean equals(Object obj) { + if (obj instanceof TupleFolderNav) { + TupleFolderNav other = (TupleFolderNav) obj; + return (super.equals(other) && + Objects.equals(this.accountOrder, other.accountOrder) && + Objects.equals(this.accountName, other.accountName) && + Objects.equals(this.accountColor, other.accountColor) && + this.messages == other.messages && + this.unseen == other.unseen && + this.snoozed == other.snoozed && + this.operations == other.operations && + this.executing == other.executing); + } else + return false; + } }