Get the one and only inbox

master 1.2286
M66B 3 months ago
parent 41ac05d777
commit 0b7a495cc9

@ -2992,15 +2992,10 @@ class Core {
try { try {
db.beginTransaction(); db.beginTransaction();
if (EntityFolder.INBOX.equalsIgnoreCase(fullName)) { if (EntityFolder.INBOX.equals(type)) // Case insensitive
List<EntityFolder> inboxes = db.folder().getFoldersByName(account.id, fullName); folder = db.folder().getFolderByNameAndType(account.id, fullName, type);
Log.i(account.name + ":" + fullName + " count=" + (inboxes == null ? -1 : inboxes.size()));
if (inboxes != null && inboxes.size() == 1)
folder = inboxes.get(0);
else else
folder = db.folder().getFolderByName(account.id, fullName); folder = db.folder().getFolderByName(account.id, fullName);
} else
folder = db.folder().getFolderByName(account.id, fullName);
if (folder == null) { if (folder == null) {
EntityFolder parent = null; EntityFolder parent = null;
char separator = ifolder.first.getSeparator(); char separator = ifolder.first.getSeparator();

@ -232,8 +232,11 @@ public interface DaoFolder {
@Query("SELECT * FROM folder WHERE account = :account AND name = :name") @Query("SELECT * FROM folder WHERE account = :account AND name = :name")
EntityFolder getFolderByName(Long account, String name); EntityFolder getFolderByName(Long account, String name);
@Query("SELECT * FROM folder WHERE account = :account AND name = :name COLLATE NOCASE") @Query("SELECT * FROM folder" +
List<EntityFolder> getFoldersByName(Long account, String name); " WHERE account = :account" +
" AND name = :name COLLATE NOCASE" +
" AND type = :type")
EntityFolder getFolderByNameAndType(Long account, String name, String type);
@Query("SELECT folder.* FROM folder" + @Query("SELECT folder.* FROM folder" +
" WHERE account = :account AND type = :type") " WHERE account = :account AND type = :type")

Loading…
Cancel
Save