diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index 7fdd48cdb1..54996b8ea8 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -3311,6 +3311,18 @@ class Core { db.folder().setFolderSyncState(folder.id, "syncing"); + String[] userFlags = ifolder.getPermanentFlags().getUserFlags(); + if (userFlags != null && userFlags.length > 0) { + List keywords = new ArrayList<>(Arrays.asList(userFlags)); + Collections.sort(keywords); + userFlags = keywords.toArray(new String[0]); + if (!Arrays.equals(folder.keywords, userFlags)) { + Log.i(folder.name + " updating flags=" + TextUtils.join(",", userFlags)); + folder.keywords = userFlags; + db.folder().setFolderKeywords(folder.id, DB.Converters.fromStringArray(userFlags)); + } + } + // Check uid validity try { long uidv = ifolder.getUIDValidity();