Get the one and only inbox

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

@ -2992,14 +2992,9 @@ class Core {
try {
db.beginTransaction();
if (EntityFolder.INBOX.equalsIgnoreCase(fullName)) {
List<EntityFolder> 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;

@ -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<EntityFolder> 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")

Loading…
Cancel
Save