Added service holder

This commit is contained in:
M66B
2019-07-28 21:45:29 +02:00
parent 2c63a12e0a
commit ae5cbb3ea5
7 changed files with 164 additions and 156 deletions

View File

@@ -52,8 +52,6 @@ import androidx.constraintlayout.widget.Group;
import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.textfield.TextInputLayout;
import com.sun.mail.imap.IMAPFolder;
import com.sun.mail.imap.IMAPStore;
import com.sun.mail.smtp.SMTPTransport;
import java.net.UnknownHostException;
import java.util.ArrayList;
@@ -256,13 +254,14 @@ public class FragmentQuickSetup extends FragmentBase {
Properties props = MessageHelper.getSessionProperties(null, false);
Session isession = Session.getInstance(props, null);
isession.setDebug(true);
try (IMAPStore istore = (IMAPStore) isession.getStore(provider.imap_starttls ? "imap" : "imaps")) {
ConnectionHelper.connect(context, istore, provider.imap_host, provider.imap_port, user, password);
try (ConnectionHelper.ServiceHolder iservice =
new ConnectionHelper.ServiceHolder(provider.imap_starttls ? "imap" : "imaps", isession)) {
ConnectionHelper.connect(context, iservice, provider.imap_host, provider.imap_port, user, password);
boolean inbox = false;
boolean drafts = false;
EntityFolder altDrafts = null;
for (Folder ifolder : istore.getDefaultFolder().list("*")) {
for (Folder ifolder : iservice.getStore().getDefaultFolder().list("*")) {
String fullName = ifolder.getFullName();
String[] attrs = ((IMAPFolder) ifolder).getAttributes();
String type = EntityFolder.getType(attrs, fullName, true);
@@ -320,8 +319,9 @@ public class FragmentQuickSetup extends FragmentBase {
Properties props = MessageHelper.getSessionProperties(null, false);
Session isession = Session.getInstance(props, null);
isession.setDebug(true);
try (SMTPTransport itransport = (SMTPTransport) isession.getTransport(provider.smtp_starttls ? "smtp" : "smtps")) {
ConnectionHelper.connect(context, itransport, provider.smtp_host, provider.smtp_port, user, password);
try (ConnectionHelper.ServiceHolder iservice
= new ConnectionHelper.ServiceHolder(provider.smtp_starttls ? "smtp" : "smtps", isession)) {
ConnectionHelper.connect(context, iservice, provider.smtp_host, provider.smtp_port, user, password);
}
}