From 555a0038057efc16ac6f8e70eaf67beddb18f9bf Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 2 Jul 2020 13:52:42 +0200 Subject: [PATCH] Wizards: set max message size --- app/src/main/java/eu/faircode/email/FragmentGmail.java | 3 +++ app/src/main/java/eu/faircode/email/FragmentOAuth.java | 3 +++ app/src/main/java/eu/faircode/email/FragmentQuickSetup.java | 3 +++ 3 files changed, 9 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/FragmentGmail.java b/app/src/main/java/eu/faircode/email/FragmentGmail.java index 2065605df9..aa9a7f6a1e 100644 --- a/app/src/main/java/eu/faircode/email/FragmentGmail.java +++ b/app/src/main/java/eu/faircode/email/FragmentGmail.java @@ -360,6 +360,7 @@ public class FragmentGmail extends FragmentBase { throw new IllegalArgumentException(context.getString(R.string.title_setup_no_system_folders)); } + Long max_size; String iprotocol = provider.smtp.starttls ? "smtp" : "smtps"; try (EmailService iservice = new EmailService( context, iprotocol, null, false, EmailService.PURPOSE_CHECK, true)) { @@ -368,6 +369,7 @@ public class FragmentGmail extends FragmentBase { EmailService.AUTH_TYPE_GMAIL, null, user, password, null, null); + max_size = iservice.getMaxSize(); } DB db = DB.getInstance(context); @@ -436,6 +438,7 @@ public class FragmentGmail extends FragmentBase { identity.password = password; identity.synchronize = true; identity.primary = true; + identity.max_size = max_size; identity.id = db.identity().insertIdentity(identity); EntityLog.log(context, "Gmail identity=" + identity.name + " email=" + identity.email); diff --git a/app/src/main/java/eu/faircode/email/FragmentOAuth.java b/app/src/main/java/eu/faircode/email/FragmentOAuth.java index f82fb6c89c..d82fa2278b 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOAuth.java +++ b/app/src/main/java/eu/faircode/email/FragmentOAuth.java @@ -467,6 +467,7 @@ public class FragmentOAuth extends FragmentBase { } Log.i("OAuth checking SMTP provider=" + provider.id); + Long max_size; String iprotocol = (provider.smtp.starttls ? "smtp" : "smtps"); try (EmailService iservice = new EmailService( context, iprotocol, null, false, EmailService.PURPOSE_CHECK, true)) { @@ -475,6 +476,7 @@ public class FragmentOAuth extends FragmentBase { EmailService.AUTH_TYPE_OAUTH, provider.id, primaryEmail, state, null, null); + max_size = iservice.getMaxSize(); } Log.i("OAuth passed provider=" + provider.id); @@ -550,6 +552,7 @@ public class FragmentOAuth extends FragmentBase { ident.password = state; ident.synchronize = true; ident.primary = ident.user.equals(ident.email); + ident.max_size = max_size; ident.id = db.identity().insertIdentity(ident); EntityLog.log(context, "OAuth identity=" + ident.name + " email=" + ident.email); diff --git a/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java b/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java index c34c164bfd..3264c77e57 100644 --- a/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java +++ b/app/src/main/java/eu/faircode/email/FragmentQuickSetup.java @@ -331,6 +331,7 @@ public class FragmentQuickSetup extends FragmentBase { throw new IllegalArgumentException(context.getString(R.string.title_setup_no_system_folders)); } + Long max_size = null; String iprotocol = provider.smtp.starttls ? "smtp" : "smtps"; try (EmailService iservice = new EmailService( context, iprotocol, null, false, EmailService.PURPOSE_CHECK, true)) { @@ -340,6 +341,7 @@ public class FragmentQuickSetup extends FragmentBase { EmailService.AUTH_TYPE_PASSWORD, null, user, password, null, smtp_fingerprint); + max_size = iservice.getMaxSize(); } catch (EmailService.UntrustedException ex) { if (check) smtp_fingerprint = ex.getFingerprint(); @@ -422,6 +424,7 @@ public class FragmentQuickSetup extends FragmentBase { identity.use_ip = provider.useip; identity.synchronize = true; identity.primary = true; + identity.max_size = max_size; identity.id = db.identity().insertIdentity(identity); EntityLog.log(context, "Quick added identity=" + identity.name + " email=" + identity.email);