|
|
|
@ -1756,17 +1756,21 @@ class Core {
|
|
|
|
|
List<EntityFolder> folders = db.folder().getFolders(account.id, false, false);
|
|
|
|
|
for (EntityFolder folder : folders)
|
|
|
|
|
if (folder.tbc != null) {
|
|
|
|
|
try {
|
|
|
|
|
Log.i(folder.name + " creating");
|
|
|
|
|
Folder ifolder = istore.getFolder(folder.name);
|
|
|
|
|
if (!ifolder.exists()) {
|
|
|
|
|
ifolder.create(Folder.HOLDS_MESSAGES);
|
|
|
|
|
ifolder.setSubscribed(true);
|
|
|
|
|
}
|
|
|
|
|
db.folder().resetFolderTbc(folder.id);
|
|
|
|
|
local.put(folder.name, folder);
|
|
|
|
|
} finally {
|
|
|
|
|
db.folder().resetFolderTbc(folder.id);
|
|
|
|
|
sync_folders = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else if (folder.rename != null) {
|
|
|
|
|
try {
|
|
|
|
|
Log.i(folder.name + " rename into " + folder.rename);
|
|
|
|
|
Folder ifolder = istore.getFolder(folder.name);
|
|
|
|
|
if (ifolder.exists()) {
|
|
|
|
@ -1790,18 +1794,23 @@ class Core {
|
|
|
|
|
db.folder().renameFolder(folder.account, folder.name, folder.rename);
|
|
|
|
|
folder.name = folder.rename;
|
|
|
|
|
}
|
|
|
|
|
} finally {
|
|
|
|
|
db.folder().resetFolderRename(folder.id);
|
|
|
|
|
sync_folders = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else if (folder.tbd != null && folder.tbd) {
|
|
|
|
|
try {
|
|
|
|
|
Log.i(folder.name + " deleting");
|
|
|
|
|
Folder ifolder = istore.getFolder(folder.name);
|
|
|
|
|
if (ifolder.exists()) {
|
|
|
|
|
ifolder.setSubscribed(false);
|
|
|
|
|
ifolder.delete(false);
|
|
|
|
|
}
|
|
|
|
|
} finally {
|
|
|
|
|
db.folder().deleteFolder(folder.id);
|
|
|
|
|
sync_folders = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
if (EntityFolder.DRAFTS.equals(folder.type))
|
|
|
|
|