diff --git a/app/src/main/java/eu/faircode/email/FragmentAccount.java b/app/src/main/java/eu/faircode/email/FragmentAccount.java index 461f26c898..f85920ad9e 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAccount.java +++ b/app/src/main/java/eu/faircode/email/FragmentAccount.java @@ -1449,7 +1449,8 @@ public class FragmentAccount extends FragmentBase { boolean found = false; for (int pos = 2; pos < providers.size(); pos++) { EmailProvider provider = providers.get(pos); - if (provider.imap.host.equals(account.host) && + if ((provider.oauth != null) == (account.auth_type == EmailService.AUTH_TYPE_OAUTH) && + provider.imap.host.equals(account.host) && provider.imap.port == account.port && provider.imap.starttls == (account.encryption == EmailService.ENCRYPTION_STARTTLS)) { found = true; diff --git a/app/src/main/java/eu/faircode/email/FragmentIdentity.java b/app/src/main/java/eu/faircode/email/FragmentIdentity.java index 3bf020d11b..428cc83955 100644 --- a/app/src/main/java/eu/faircode/email/FragmentIdentity.java +++ b/app/src/main/java/eu/faircode/email/FragmentIdentity.java @@ -1195,7 +1195,8 @@ public class FragmentIdentity extends FragmentBase { if (identity != null) for (int pos = 1; pos < providers.size(); pos++) { EmailProvider provider = providers.get(pos); - if (provider.smtp.host.equals(identity.host) && + if ((provider.oauth != null) == (identity.auth_type == EmailService.AUTH_TYPE_OAUTH) && + provider.smtp.host.equals(identity.host) && provider.smtp.port == identity.port && provider.smtp.starttls == (identity.encryption == EmailService.ENCRYPTION_STARTTLS)) { spProvider.setTag(pos); diff --git a/app/src/main/res/xml/providers.xml b/app/src/main/res/xml/providers.xml index 76a6a2de36..312634c65b 100644 --- a/app/src/main/res/xml/providers.xml +++ b/app/src/main/res/xml/providers.xml @@ -37,7 +37,7 @@ name="Live" domain="live\\..*" link="https://github.com/M66B/FairEmail/blob/master/FAQ.md#user-content-faq14" - order="2" + order="3" partial="false">