diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index bd26004426..5fa9cb08af 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -2992,14 +2992,9 @@ class Core { try { db.beginTransaction(); - if (EntityFolder.INBOX.equalsIgnoreCase(fullName)) { - List inboxes = db.folder().getFoldersByName(account.id, fullName); - Log.i(account.name + ":" + fullName + " count=" + (inboxes == null ? -1 : inboxes.size())); - if (inboxes != null && inboxes.size() == 1) - folder = inboxes.get(0); - else - folder = db.folder().getFolderByName(account.id, fullName); - } else + if (EntityFolder.INBOX.equals(type)) // Case insensitive + folder = db.folder().getFolderByNameAndType(account.id, fullName, type); + else folder = db.folder().getFolderByName(account.id, fullName); if (folder == null) { EntityFolder parent = null; diff --git a/app/src/main/java/eu/faircode/email/DaoFolder.java b/app/src/main/java/eu/faircode/email/DaoFolder.java index f0c1b93e4e..6dcd636f9a 100644 --- a/app/src/main/java/eu/faircode/email/DaoFolder.java +++ b/app/src/main/java/eu/faircode/email/DaoFolder.java @@ -232,8 +232,11 @@ public interface DaoFolder { @Query("SELECT * FROM folder WHERE account = :account AND name = :name") EntityFolder getFolderByName(Long account, String name); - @Query("SELECT * FROM folder WHERE account = :account AND name = :name COLLATE NOCASE") - List getFoldersByName(Long account, String name); + @Query("SELECT * FROM folder" + + " WHERE account = :account" + + " AND name = :name COLLATE NOCASE" + + " AND type = :type") + EntityFolder getFolderByNameAndType(Long account, String name, String type); @Query("SELECT folder.* FROM folder" + " WHERE account = :account AND type = :type")