diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index 00da41e38d..c9b33de18c 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -1718,19 +1718,18 @@ class Core { folder = db.folder().getFolderByName(account.id, fullName); if (folder == null) { - boolean synchronize = "Unbekannt".equals(fullName); - folder = new EntityFolder(); folder.account = account.id; folder.name = fullName; folder.type = (EntityFolder.SYSTEM.equals(type) ? type : EntityFolder.USER); - folder.synchronize = (synchronize || (subscribed && subscriptions && sync_subscribed)); + folder.synchronize = (subscribed && subscriptions && sync_subscribed); folder.subscribed = subscribed; folder.poll = true; folder.sync_days = EntityFolder.DEFAULT_SYNC; folder.keep_days = EntityFolder.DEFAULT_KEEP; folder.selectable = selectable; folder.inferiors = inferiors; + folder.setSpecials(account); folder.id = db.folder().insertFolder(folder); Log.i(folder.name + " added type=" + folder.type); } else { diff --git a/app/src/main/java/eu/faircode/email/EntityFolder.java b/app/src/main/java/eu/faircode/email/EntityFolder.java index d6863aea8f..6cb2b6c727 100644 --- a/app/src/main/java/eu/faircode/email/EntityFolder.java +++ b/app/src/main/java/eu/faircode/email/EntityFolder.java @@ -260,6 +260,11 @@ public class EntityFolder extends EntityOrder implements Serializable { } } + void setSpecials(EntityAccount account) { + if ("imap.web.de".equals(account.host) && "Unbekannt".equals(name)) + synchronize = true; + } + static boolean shouldPoll(String type) { int sync = EntityFolder.SYSTEM_FOLDER_SYNC.indexOf(type); return (sync < 0 || EntityFolder.SYSTEM_FOLDER_POLL.get(sync)); diff --git a/app/src/main/java/eu/faircode/email/FragmentAccount.java b/app/src/main/java/eu/faircode/email/FragmentAccount.java index a2a41c54ae..62bec19de8 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAccount.java +++ b/app/src/main/java/eu/faircode/email/FragmentAccount.java @@ -1223,8 +1223,9 @@ public class FragmentAccount extends FragmentBase { EntityFolder existing = db.folder().getFolderByName(account.id, folder.name); if (existing == null) { folder.account = account.id; - EntityLog.log(context, "Added folder=" + folder.name + " type=" + folder.type); + folder.setSpecials(account); folder.id = db.folder().insertFolder(folder); + EntityLog.log(context, "Added folder=" + folder.name + " type=" + folder.type); if (folder.synchronize) EntityOperation.sync(context, folder.id, false); } else { diff --git a/app/src/main/java/eu/faircode/email/FragmentGmail.java b/app/src/main/java/eu/faircode/email/FragmentGmail.java index 461b8fefda..f410283730 100644 --- a/app/src/main/java/eu/faircode/email/FragmentGmail.java +++ b/app/src/main/java/eu/faircode/email/FragmentGmail.java @@ -436,6 +436,7 @@ public class FragmentGmail extends FragmentBase { EntityFolder existing = db.folder().getFolderByName(account.id, folder.name); if (existing == null) { folder.account = account.id; + folder.setSpecials(account); folder.id = db.folder().insertFolder(folder); EntityLog.log(context, "Gmail folder=" + folder.name + " type=" + folder.type); if (folder.synchronize) diff --git a/app/src/main/java/eu/faircode/email/FragmentOAuth.java b/app/src/main/java/eu/faircode/email/FragmentOAuth.java index 008e770572..18c4707435 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOAuth.java +++ b/app/src/main/java/eu/faircode/email/FragmentOAuth.java @@ -560,6 +560,7 @@ public class FragmentOAuth extends FragmentBase { EntityFolder existing = db.folder().getFolderByName(account.id, folder.name); if (existing == null) { folder.account = account.id; + folder.setSpecials(account); folder.id = db.folder().insertFolder(folder); EntityLog.log(context, "OAuth folder=" + folder.name + " type=" + folder.type); if (folder.synchronize) diff --git a/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java b/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java index 6b0ad44651..3692dd8947 100644 --- a/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java +++ b/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java @@ -411,6 +411,7 @@ public class FragmentQuickSetup extends FragmentBase { EntityFolder existing = db.folder().getFolderByName(account.id, folder.name); if (existing == null) { folder.account = account.id; + folder.setSpecials(account); folder.id = db.folder().insertFolder(folder); EntityLog.log(context, "Quick added folder=" + folder.name + " type=" + folder.type); }