Added workaround for folder list processing error

This commit is contained in:
M66B 2024-02-20 11:28:04 +01:00
parent e5f89e4d90
commit 8f84ccd178
1 changed files with 18 additions and 9 deletions

View File

@ -930,18 +930,27 @@ public class EmailService implements AutoCloseable {
List<EntityFolder> getFolders() throws MessagingException { List<EntityFolder> getFolders() throws MessagingException {
List<EntityFolder> folders = new ArrayList<>(); List<EntityFolder> folders = new ArrayList<>();
for (Folder ifolder : getStore().getDefaultFolder().list("*")) { try {
String fullName = ifolder.getFullName(); for (Folder ifolder : getStore().getDefaultFolder().list("*")) {
String[] attrs = ((IMAPFolder) ifolder).getAttributes(); String fullName = ifolder.getFullName();
String type = EntityFolder.getType(attrs, fullName, true); String[] attrs = ((IMAPFolder) ifolder).getAttributes();
Log.i(fullName + " attrs=" + TextUtils.join(" ", attrs) + " type=" + type); String type = EntityFolder.getType(attrs, fullName, true);
Log.i(fullName + " attrs=" + TextUtils.join(" ", attrs) + " type=" + type);
if (type != null) if (type != null)
folders.add(new EntityFolder(fullName, type)); folders.add(new EntityFolder(fullName, type));
}
EntityFolder.guessTypes(folders);
} catch (MessagingException ex) {
if (ex.getMessage() != null &&
ex.getMessage().contains("LIST processing failed")) {
Log.w(ex);
folders.add(new EntityFolder("Inbox", EntityFolder.INBOX));
} else
throw ex;
} }
EntityFolder.guessTypes(folders);
return folders; return folders;
} }