Get subscriptions for shared folders

This commit is contained in:
M66B 2020-06-10 15:22:29 +02:00
parent da9e34c718
commit 4898f2aceb
1 changed files with 24 additions and 23 deletions

View File

@ -1361,29 +1361,6 @@ class Core {
List<Folder> ifolders = new ArrayList<>();
ifolders.addAll(Arrays.asList(defaultFolder.list("*")));
if (sync_shared_folders) {
Folder[] namespaces = istore.getSharedNamespaces();
Log.i("Namespaces=" + namespaces.length);
for (Folder namespace : namespaces) {
Log.i("Namespace=" + namespace.getFullName());
if (namespace.getSeparator() == separator)
try {
ifolders.addAll(Arrays.asList(namespace.list("*")));
} catch (FolderNotFoundException ex) {
Log.w(ex);
}
else
Log.e("Namespace separator=" + namespace.getSeparator() + " default=" + separator);
}
}
//Log.i("Checking if folders exist");
//for (Folder ifolder : new ArrayList<Folder>(ifolders))
// if (!ifolder.exists()) {
// Log.w("Folder does not exist name=" + ifolder.getFullName());
// ifolders.remove(ifolder);
// }
List<String> subscription = new ArrayList<>();
try {
Folder[] isubscribed = defaultFolder.listSubscribed("*");
@ -1393,6 +1370,30 @@ class Core {
Log.e(account.name, ex);
}
if (sync_shared_folders) {
Folder[] namespaces = istore.getSharedNamespaces();
Log.i("Namespaces=" + namespaces.length);
for (Folder namespace : namespaces) {
Log.i("Namespace=" + namespace.getFullName());
if (namespace.getSeparator() == separator) {
try {
ifolders.addAll(Arrays.asList(namespace.list("*")));
} catch (FolderNotFoundException ex) {
Log.w(ex);
}
try {
Folder[] isubscribed = namespace.listSubscribed("*");
for (Folder ifolder : isubscribed)
subscription.add(ifolder.getFullName());
} catch (MessagingException ex) {
Log.e(account.name, ex);
}
} else
Log.e("Namespace separator=" + namespace.getSeparator() + " default=" + separator);
}
}
long duration = new Date().getTime() - start;
Log.i("Remote folder count=" + ifolders.size() +