From 55d72e1f56fb8a1d075f1392ca8d1fe89f3eb0fc Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 18 Apr 2023 21:00:47 +0200 Subject: [PATCH] Added fail-safe --- app/src/main/java/eu/faircode/email/Core.java | 40 ++++++++++--------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index aa9a42575e..5def9678bf 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -3505,24 +3505,28 @@ class Core { Flags flags = ifolder.getPermanentFlags(); - List f = new ArrayList<>(); - if (flags != null) { - if (flags.contains(Flags.Flag.ANSWERED)) - f.add("\\Answered"); - if (flags.contains(Flags.Flag.DELETED)) - f.add("\\Deleted"); - if (flags.contains(Flags.Flag.DRAFT)) - f.add("\\Draft"); - if (flags.contains(Flags.Flag.FLAGGED)) - f.add("\\Flagged"); - if (flags.contains(Flags.Flag.RECENT)) - f.add("\\Recent"); - if (flags.contains(Flags.Flag.SEEN)) - f.add("\\Seen"); - if (flags.contains(Flags.Flag.USER)) - f.add("\\*"); - } - db.folder().setFolderFlags(folder.id, DB.Converters.fromStringArray(f.toArray(new String[0]))); + try { + List f = new ArrayList<>(); + if (flags != null) { + if (flags.contains(Flags.Flag.ANSWERED)) + f.add("\\Answered"); + if (flags.contains(Flags.Flag.DELETED)) + f.add("\\Deleted"); + if (flags.contains(Flags.Flag.DRAFT)) + f.add("\\Draft"); + if (flags.contains(Flags.Flag.FLAGGED)) + f.add("\\Flagged"); + if (flags.contains(Flags.Flag.RECENT)) + f.add("\\Recent"); + if (flags.contains(Flags.Flag.SEEN)) + f.add("\\Seen"); + if (flags.contains(Flags.Flag.USER)) + f.add("\\*"); + } + db.folder().setFolderFlags(folder.id, DB.Converters.fromStringArray(f.toArray(new String[0]))); + } catch (Throwable ex) { + Log.e(ex); + } String[] userFlags = flags.getUserFlags(); if (userFlags != null && userFlags.length > 0) {