From c8c8125fd3cdc5ab6ff86354cf0d7bf5993835aa Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 21 Mar 2025 20:49:09 +0100 Subject: [PATCH] Pick first auto config server --- .../java/eu/faircode/email/EmailProvider.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/EmailProvider.java b/app/src/main/java/eu/faircode/email/EmailProvider.java index 03eec79c4c..430943d73b 100644 --- a/app/src/main/java/eu/faircode/email/EmailProvider.java +++ b/app/src/main/java/eu/faircode/email/EmailProvider.java @@ -736,8 +736,8 @@ public class EmailProvider implements Parcelable { EntityLog.log(context, "Parsing " + url); - boolean imap = false; - boolean smtp = false; + boolean imap = false, hasImap = false; + boolean smtp = false, hasSmtp = false; String href = null; String title = null; int eventType = xml.getEventType(); @@ -763,7 +763,7 @@ public class EmailProvider implements Parcelable { // OAuth2 // password-cleartext // - imap = "imap".equals(xml.getAttributeValue(null, "type")); + imap = !hasImap && "imap".equals(xml.getAttributeValue(null, "type")); } else if ("outgoingServer".equals(name)) { // @@ -774,7 +774,7 @@ public class EmailProvider implements Parcelable { // OAuth2 // password-cleartext // - smtp = "smtp".equals(xml.getAttributeValue(null, "type")); + smtp = !hasSmtp && "smtp".equals(xml.getAttributeValue(null, "type")); } else if ("hostname".equals(name)) { eventType = xml.next(); @@ -874,13 +874,13 @@ public class EmailProvider implements Parcelable { } else if (eventType == XmlPullParser.END_TAG) { String name = xml.getName(); - if ("incomingServer".equals(name)) + if ("incomingServer".equals(name)) { + hasImap = true; imap = false; - - else if ("outgoingServer".equals(name)) + } else if ("outgoingServer".equals(name)) { + hasSmtp = true; smtp = false; - - else if ("enable".equals(name) || "documentation".equals(name)) { + } else if ("enable".equals(name) || "documentation".equals(name)) { if (href != null) { if (title == null) title = href;