diff --git a/app/src/main/java/eu/faircode/email/FragmentGmail.java b/app/src/main/java/eu/faircode/email/FragmentGmail.java index aa9a7f6a1e..d49e84f8f1 100644 --- a/app/src/main/java/eu/faircode/email/FragmentGmail.java +++ b/app/src/main/java/eu/faircode/email/FragmentGmail.java @@ -341,6 +341,9 @@ public class FragmentGmail extends FragmentBase { if (TextUtils.isEmpty(password)) throw new IllegalArgumentException(context.getString(R.string.title_no_password)); + int at = user.indexOf('@'); + String username = user.substring(0, at); + EmailProvider provider = EmailProvider.fromDomain(context, "gmail.com", EmailProvider.Discover.ALL); List folders; @@ -388,7 +391,7 @@ public class FragmentGmail extends FragmentBase { account.user = user; account.password = password; - account.name = provider.name; + account.name = provider.name + "/" + username; account.synchronize = true; account.primary = (primary == null); diff --git a/app/src/main/java/eu/faircode/email/FragmentOAuth.java b/app/src/main/java/eu/faircode/email/FragmentOAuth.java index 257df2ce45..2f9d49b118 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOAuth.java +++ b/app/src/main/java/eu/faircode/email/FragmentOAuth.java @@ -446,10 +446,16 @@ public class FragmentOAuth extends FragmentBase { if (TextUtils.isEmpty(primaryEmail) || identities.size() == 0) throw new IllegalArgumentException("Primary email address not found"); + if (!Helper.EMAIL_ADDRESS.matcher(primaryEmail).matches()) + throw new IllegalArgumentException(context.getString(R.string.title_email_invalid, primaryEmail)); + Log.i("OAuth email=" + primaryEmail); for (Pair identity : identities) Log.i("OAuth identity=" + identity.first + "/" + identity.second); + int at = primaryEmail.indexOf('@'); + String username = primaryEmail.substring(0, at); + List folders; Log.i("OAuth checking IMAP provider=" + provider.id); @@ -499,7 +505,7 @@ public class FragmentOAuth extends FragmentBase { account.user = primaryEmail; account.password = state; - account.name = provider.name; + account.name = provider.name + "/" + username; account.synchronize = true; account.primary = (primary == null); diff --git a/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java b/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java index 3264c77e57..be9274a371 100644 --- a/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java +++ b/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java @@ -372,7 +372,7 @@ public class FragmentQuickSetup extends FragmentBase { account.password = password; account.fingerprint = imap_fingerprint; - account.name = provider.name; + account.name = provider.name + "/" + username; account.synchronize = true; account.primary = (primary == null);