diff --git a/app/src/main/java/eu/faircode/email/DaoFolder.java b/app/src/main/java/eu/faircode/email/DaoFolder.java index 71eea6fa04..4c5adc3a90 100644 --- a/app/src/main/java/eu/faircode/email/DaoFolder.java +++ b/app/src/main/java/eu/faircode/email/DaoFolder.java @@ -69,11 +69,6 @@ public interface DaoFolder { " GROUP BY folder.id") LiveData> liveFolders(Long account); - @Query("SELECT * FROM folder" + - " WHERE (:account < 0 OR folder.account = :account)" + - " AND type <> '" + EntityFolder.USER + "'") - LiveData> liveSystemFolders(long account); - @Query("SELECT folder.*, account.name AS accountName, account.color AS accountColor, account.state AS accountState" + ", COUNT(message.id) AS messages" + ", SUM(CASE WHEN message.content = 1 THEN 1 ELSE 0 END) AS content" + @@ -170,6 +165,7 @@ public interface DaoFolder { @Query("UPDATE folder" + " SET type = '" + EntityFolder.USER + "'" + " WHERE account = :account" + + " AND type <> '" + EntityFolder.INBOX + "'" + " AND type <> '" + EntityFolder.SYSTEM + "'") int setFoldersUser(long account); diff --git a/app/src/main/java/eu/faircode/email/EntityFolder.java b/app/src/main/java/eu/faircode/email/EntityFolder.java index 61c83219e1..19d62503e1 100644 --- a/app/src/main/java/eu/faircode/email/EntityFolder.java +++ b/app/src/main/java/eu/faircode/email/EntityFolder.java @@ -116,14 +116,14 @@ public class EntityFolder implements Serializable { "Flagged" ); private static final List SYSTEM_FOLDER_TYPE = Arrays.asList( - ARCHIVE, + ARCHIVE, // All ARCHIVE, DRAFTS, TRASH, JUNK, SENT, - SYSTEM, - SYSTEM + SYSTEM, // Important + SYSTEM // Flagged ); // MUST match SYSTEM_FOLDER_ATTR static final List FOLDER_SORT_ORDER = Arrays.asList( diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index a12cadb1fe..ec1ac44c53 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -2218,7 +2218,7 @@ public class ServiceSynchronize extends LifecycleService { folder.account = account.id; folder.name = fullName; folder.display = display; - folder.type = EntityFolder.USER; + folder.type = (EntityFolder.SYSTEM.equals(type) ? type : EntityFolder.USER); folder.level = level; folder.synchronize = false; folder.poll = ("imap.gmail.com".equals(account.host));