Synchronize selectable folders only

pull/145/head
M66B 7 years ago
parent b16c6b7f56
commit 51a7433dfd

@ -1436,6 +1436,14 @@ public class ServiceSynchronize extends LifecycleService {
Log.i(Helper.TAG, "Remote folder count=" + ifolders.length); Log.i(Helper.TAG, "Remote folder count=" + ifolders.length);
for (Folder ifolder : ifolders) { for (Folder ifolder : ifolders) {
boolean selectable = true;
String[] attrs = ((IMAPFolder) ifolder).getAttributes();
for (String attr : attrs) {
if ("\\Noselect".equals(attr))
selectable = false;
}
if (selectable) {
EntityFolder folder = db.folder().getFolderByName(account.id, ifolder.getFullName()); EntityFolder folder = db.folder().getFolderByName(account.id, ifolder.getFullName());
if (folder == null) { if (folder == null) {
folder = new EntityFolder(); folder = new EntityFolder();
@ -1451,10 +1459,13 @@ public class ServiceSynchronize extends LifecycleService {
Log.i(Helper.TAG, folder.name + " exists"); Log.i(Helper.TAG, folder.name + " exists");
} }
} }
}
Log.i(Helper.TAG, "Delete local folder=" + names.size()); Log.i(Helper.TAG, "Delete local folder=" + names.size());
for (String name : names) for (String name : names) {
db.folder().deleteFolder(account.id, name); db.folder().deleteFolder(account.id, name);
Log.i(Helper.TAG, name + " deleted");
}
db.setTransactionSuccessful(); db.setTransactionSuccessful();
} finally { } finally {

Loading…
Cancel
Save