diff --git a/app/src/main/java/com/sun/mail/imap/IMAPFolder.java b/app/src/main/java/com/sun/mail/imap/IMAPFolder.java index db5cd48999..7e1c345421 100644 --- a/app/src/main/java/com/sun/mail/imap/IMAPFolder.java +++ b/app/src/main/java/com/sun/mail/imap/IMAPFolder.java @@ -1413,7 +1413,8 @@ public class IMAPFolder extends Folder implements UIDFolder, ResponseHandler { try { IMAPProtocol p = getProtocol(); if (p.hasCapability("X-UIDONLY") || - (eu.faircode.email.BuildConfig.DEBUG && p.hasCapability("UIDPLUS"))) { + (p.hasCapability("UIDPLUS") && + Boolean.parseBoolean(System.getProperty("fairemail.uid_command")))) { // Verizon FetchProfile fp = new FetchProfile(); fp.add(UIDFolder.FetchProfileItem.UID); @@ -2107,7 +2108,8 @@ public class IMAPFolder extends Folder implements UIDFolder, ResponseHandler { try { IMAPProtocol p = getProtocol(); if (p.hasCapability("X-UIDONLY") || - (eu.faircode.email.BuildConfig.DEBUG && p.hasCapability("UIDPLUS"))) { + (p.hasCapability("UIDPLUS") && + Boolean.parseBoolean(System.getProperty("fairemail.uid_command")))) { // Verizon FetchProfile fp = new FetchProfile(); fp.add(UIDFolder.FetchProfileItem.UID); diff --git a/app/src/main/java/com/sun/mail/imap/IMAPMessage.java b/app/src/main/java/com/sun/mail/imap/IMAPMessage.java index f01ec71fde..c6004f3067 100644 --- a/app/src/main/java/com/sun/mail/imap/IMAPMessage.java +++ b/app/src/main/java/com/sun/mail/imap/IMAPMessage.java @@ -1113,7 +1113,8 @@ public class IMAPMessage extends MimeMessage implements ReadableMime { checkExpunged(); // Insure that this message is not expunged if (p.hasCapability("X-UIDONLY") || "imap.mail.yahoo.co.jp".equals(p.getInetAddress().getHostName()) || - (eu.faircode.email.BuildConfig.DEBUG && p.hasCapability("UIDPLUS"))) { + (p.hasCapability("UIDPLUS") && + Boolean.parseBoolean(System.getProperty("fairemail.uid_command")))) { // Verizon // Yahoo: NO [CANNOT] STORE It's not possible to perform specified operation long uid = getUID(); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java index b551b40c48..964bb7400f 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java @@ -897,6 +897,8 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { prefs.edit().putBoolean("uid_command", checked).apply(); + System.setProperty("fairemail.uid_command", Boolean.toString(checked)); + ServiceSynchronize.reload(compoundButton.getContext(), null, true, "uid_command"); } }); @@ -913,7 +915,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { prefs.edit().putBoolean("uid_expunge", checked).apply(); - ServiceSynchronize.reload(compoundButton.getContext(), null, true, "perform_expunge"); + ServiceSynchronize.reload(compoundButton.getContext(), null, true, "uid_expunge"); } }); diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index 6914e13b26..da0d043d57 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -236,6 +236,10 @@ public class MessageHelper { System.setProperty("mail.mime.contentdisposition.strict", "false"); // default true //System.setProperty("mail.imap.parse.debug", "true"); + + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + boolean uid_command = prefs.getBoolean("uid_command", false); + System.setProperty("fairemail.uid_command", Boolean.toString(uid_command)); } static Properties getSessionProperties() {