diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index c896931079..bd26004426 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -2992,7 +2992,15 @@ class Core { try { db.beginTransaction(); - folder = db.folder().getFolderByName(account.id, fullName); + 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 + folder = db.folder().getFolderByName(account.id, fullName); if (folder == null) { EntityFolder parent = null; char separator = ifolder.first.getSeparator(); diff --git a/app/src/main/java/eu/faircode/email/DaoFolder.java b/app/src/main/java/eu/faircode/email/DaoFolder.java index eff2fb4e24..f0c1b93e4e 100644 --- a/app/src/main/java/eu/faircode/email/DaoFolder.java +++ b/app/src/main/java/eu/faircode/email/DaoFolder.java @@ -232,6 +232,9 @@ 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 folder.* FROM folder" + " WHERE account = :account AND type = :type") EntityFolder getFolderByType(long account, String type);