Retry quick setup with local username only

This commit is contained in:
M66B
2019-09-10 18:15:57 +02:00
parent 2505be0df3
commit 7188719fba
3 changed files with 19 additions and 1 deletions

View File

@@ -57,6 +57,7 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.mail.AuthenticationFailedException;
import javax.mail.Folder;
import static android.app.Activity.RESULT_OK;
@@ -254,6 +255,7 @@ public class FragmentQuickSetup extends FragmentBase {
args.putString("documentation", provider.documentation.toString());
String user = (provider.user == EmailProvider.UserType.EMAIL ? email : dparts[0]);
Log.i("User type=" + provider.user + " name=" + user);
List<EntityFolder> folders = new ArrayList<>();
long now = new Date().getTime();
@@ -261,7 +263,17 @@ public class FragmentQuickSetup extends FragmentBase {
{
String protocol = provider.imap.starttls ? "imap" : "imaps";
try (MailService iservice = new MailService(context, protocol, null, false, true)) {
iservice.connect(provider.imap.host, provider.imap.port, user, password);
try {
iservice.connect(provider.imap.host, provider.imap.port, user, password);
} catch (AuthenticationFailedException ex) {
if (user.contains("@")) {
Log.w(ex);
user = dparts[0];
Log.i("Retry with user=" + user);
iservice.connect(provider.imap.host, provider.imap.port, user, password);
} else
throw ex;
}
boolean inbox = false;
boolean drafts = false;