Loading app/core/src/main/java/com/fsck/k9/preferences/SettingsImporter.java +34 −37 Original line number Original line Diff line number Diff line Loading @@ -36,6 +36,9 @@ import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserFactory; import org.xmlpull.v1.XmlPullParserFactory; import timber.log.Timber; import timber.log.Timber; import static java.util.Collections.emptyMap; import static java.util.Collections.unmodifiableMap; public class SettingsImporter { public class SettingsImporter { Loading Loading @@ -368,7 +371,7 @@ public class SettingsImporter { } } // Write incoming server settings (storeUri) // Write incoming server settings (storeUri) ServerSettings incoming = new ImportedServerSettings(account.incoming); ServerSettings incoming = createServerSettings(account.incoming); BackendManager backendManager = DI.get(BackendManager.class); BackendManager backendManager = DI.get(BackendManager.class); String storeUri = backendManager.createStoreUri(incoming); String storeUri = backendManager.createStoreUri(incoming); putString(editor, accountKeyPrefix + AccountPreferenceSerializer.STORE_URI_KEY, Base64.encode(storeUri)); putString(editor, accountKeyPrefix + AccountPreferenceSerializer.STORE_URI_KEY, Base64.encode(storeUri)); Loading @@ -387,7 +390,7 @@ public class SettingsImporter { boolean outgoingPasswordNeeded = false; boolean outgoingPasswordNeeded = false; if (account.outgoing != null) { if (account.outgoing != null) { // Write outgoing server settings (transportUri) // Write outgoing server settings (transportUri) ServerSettings outgoing = new ImportedServerSettings(account.outgoing); ServerSettings outgoing = createServerSettings(account.outgoing); String transportUri = backendManager.createTransportUri(outgoing); String transportUri = backendManager.createTransportUri(outgoing); putString(editor, accountKeyPrefix + AccountPreferenceSerializer.TRANSPORT_URI_KEY, Base64.encode(transportUri)); putString(editor, accountKeyPrefix + AccountPreferenceSerializer.TRANSPORT_URI_KEY, Base64.encode(transportUri)); Loading Loading @@ -1053,21 +1056,16 @@ public class SettingsImporter { return name; return name; } } private static class ImportedServerSettings extends ServerSettings { private static ServerSettings createServerSettings(ImportedServer importedServer) { private final ImportedServer importedServer; String type = ServerTypeConverter.toServerSettingsType(importedServer.type); int port = convertPort(importedServer.port); public ImportedServerSettings(ImportedServer server) { ConnectionSecurity connectionSecurity = convertConnectionSecurity(importedServer.connectionSecurity); super(ServerTypeConverter.toServerSettingsType(server.type), server.host, convertPort(server.port), Map<String, String> extra = importedServer.extras != null ? convertConnectionSecurity(server.connectionSecurity), unmodifiableMap(importedServer.extras.settings) : emptyMap(); server.authenticationType, server.username, server.password, server.clientCertificateAlias); importedServer = server; } @Override return new ServerSettings(type, importedServer.host, port, connectionSecurity, public Map<String, String> getExtra() { importedServer.authenticationType, importedServer.username, importedServer.password, return (importedServer.extras != null) ? importedServer.clientCertificateAlias, extra); Collections.unmodifiableMap(importedServer.extras.settings) : null; } } private static int convertPort(String port) { private static int convertPort(String port) { Loading Loading @@ -1095,7 +1093,6 @@ public class SettingsImporter { return ConnectionSecurity.SSL_TLS_REQUIRED; return ConnectionSecurity.SSL_TLS_REQUIRED; } } } } } @VisibleForTesting @VisibleForTesting static class Imported { static class Imported { Loading app/k9mail-jmap/src/main/java/com/fsck/k9/backends/JmapBackendFactory.kt +13 −3 Original line number Original line Diff line number Diff line Loading @@ -24,7 +24,7 @@ class JmapBackendFactory( val serverSettings = decodeStoreUri(account.storeUri) val serverSettings = decodeStoreUri(account.storeUri) val jmapConfig = JmapConfig( val jmapConfig = JmapConfig( username = serverSettings.username, username = serverSettings.username, password = serverSettings.password, password = serverSettings.password!!, baseUrl = serverSettings.host, baseUrl = serverSettings.host, accountId = serverSettings.extra["accountId"]!! accountId = serverSettings.extra["accountId"]!! ) ) Loading @@ -34,7 +34,7 @@ class JmapBackendFactory( override fun decodeStoreUri(storeUri: String): ServerSettings { override fun decodeStoreUri(storeUri: String): ServerSettings { val uri = Uri.parse(storeUri) val uri = Uri.parse(storeUri) val username = uri.getQueryParameter("username") val username = uri.getQueryParameter("username")!! val password = uri.getQueryParameter("password") val password = uri.getQueryParameter("password") val baseUrl = uri.getQueryParameter("baseUrl") val baseUrl = uri.getQueryParameter("baseUrl") val accountId = uri.getQueryParameter("accountId") val accountId = uri.getQueryParameter("accountId") Loading @@ -43,7 +43,17 @@ class JmapBackendFactory( "accountId" to accountId "accountId" to accountId ) ) return ServerSettings("jmap", baseUrl, 433, ConnectionSecurity.SSL_TLS_REQUIRED, AuthType.PLAIN, username, password, null, extra) return ServerSettings( type = "jmap", host = baseUrl, port = 433, connectionSecurity = ConnectionSecurity.SSL_TLS_REQUIRED, authenticationType = AuthType.PLAIN, username = username, password = password, clientCertificateAlias = null, extra = extra ) } } override fun createStoreUri(serverSettings: ServerSettings): String { override fun createStoreUri(serverSettings: ServerSettings): String { Loading app/ui/legacy/src/main/java/com/fsck/k9/activity/setup/AccountSetupIncoming.java +25 −26 Original line number Original line Diff line number Diff line Loading @@ -47,13 +47,15 @@ import com.fsck.k9.ui.R; import com.fsck.k9.view.ClientCertificateSpinner; import com.fsck.k9.view.ClientCertificateSpinner; import com.fsck.k9.view.ClientCertificateSpinner.OnClientCertificateChangedListener; import com.fsck.k9.view.ClientCertificateSpinner.OnClientCertificateChangedListener; import java.util.HashMap; import java.util.Map; import java.util.Map; import com.google.android.material.textfield.TextInputEditText; import com.google.android.material.textfield.TextInputEditText; import com.google.android.material.textfield.TextInputLayout; import com.google.android.material.textfield.TextInputLayout; import timber.log.Timber; import timber.log.Timber; import static java.util.Collections.emptyMap; public class AccountSetupIncoming extends K9Activity implements OnClickListener { public class AccountSetupIncoming extends K9Activity implements OnClickListener { private static final String EXTRA_ACCOUNT = "account"; private static final String EXTRA_ACCOUNT = "account"; private static final String EXTRA_MAKE_DEFAULT = "makeDefault"; private static final String EXTRA_MAKE_DEFAULT = "makeDefault"; Loading Loading @@ -217,11 +219,12 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener } else if (settings.type.equals(Protocols.IMAP)) { } else if (settings.type.equals(Protocols.IMAP)) { serverLayoutView.setHint(getString(R.string.account_setup_incoming_imap_server_label)); serverLayoutView.setHint(getString(R.string.account_setup_incoming_imap_server_label)); ImapStoreSettings imapSettings = (ImapStoreSettings) settings; boolean autoDetectNamespace = ImapStoreSettings.getAutoDetectNamespace(settings); String pathPrefix = ImapStoreSettings.getPathPrefix(settings); mImapAutoDetectNamespaceView.setChecked(imapSettings.autoDetectNamespace); mImapAutoDetectNamespaceView.setChecked(autoDetectNamespace); if (imapSettings.pathPrefix != null) { if (pathPrefix != null) { mImapPathPrefixView.setText(imapSettings.pathPrefix); mImapPathPrefixView.setText(pathPrefix); } } findViewById(R.id.webdav_advanced_header).setVisibility(View.GONE); findViewById(R.id.webdav_advanced_header).setVisibility(View.GONE); Loading @@ -246,18 +249,19 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener findViewById(R.id.compression_label).setVisibility(View.GONE); findViewById(R.id.compression_label).setVisibility(View.GONE); mSubscribedFoldersOnly.setVisibility(View.GONE); mSubscribedFoldersOnly.setVisibility(View.GONE); WebDavStoreSettings webDavSettings = (WebDavStoreSettings) settings; String path = WebDavStoreSettings.getPath(settings); if (path != null) { if (webDavSettings.path != null) { mWebdavPathPrefixView.setText(path); mWebdavPathPrefixView.setText(webDavSettings.path); } } if (webDavSettings.authPath != null) { String authPath = WebDavStoreSettings.getAuthPath(settings); mWebdavAuthPathView.setText(webDavSettings.authPath); if (authPath != null) { mWebdavAuthPathView.setText(authPath); } } if (webDavSettings.mailboxPath != null) { String mailboxPath = WebDavStoreSettings.getMailboxPath(settings); mWebdavMailboxPathView.setText(webDavSettings.mailboxPath); if (mailboxPath != null) { mWebdavMailboxPathView.setText(mailboxPath); } } } else { } else { throw new Exception("Unknown account type: " + mAccount.getStoreUri()); throw new Exception("Unknown account type: " + mAccount.getStoreUri()); Loading Loading @@ -568,21 +572,16 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener String host = mServerView.getText().toString(); String host = mServerView.getText().toString(); int port = Integer.parseInt(mPortView.getText().toString()); int port = Integer.parseInt(mPortView.getText().toString()); Map<String, String> extra = null; Map<String, String> extra = emptyMap(); if (mStoreType.equals(Protocols.IMAP)) { if (mStoreType.equals(Protocols.IMAP)) { extra = new HashMap<>(); boolean autoDetectNamespace = mImapAutoDetectNamespaceView.isChecked(); extra.put(ImapStoreSettings.AUTODETECT_NAMESPACE_KEY, String pathPrefix = mImapPathPrefixView.getText().toString(); Boolean.toString(mImapAutoDetectNamespaceView.isChecked())); extra = ImapStoreSettings.createExtra(autoDetectNamespace, pathPrefix); extra.put(ImapStoreSettings.PATH_PREFIX_KEY, mImapPathPrefixView.getText().toString()); } else if (mStoreType.equals(Protocols.WEBDAV)) { } else if (mStoreType.equals(Protocols.WEBDAV)) { extra = new HashMap<>(); String path = mWebdavPathPrefixView.getText().toString(); extra.put(WebDavStoreSettings.PATH_KEY, String authPath = mWebdavAuthPathView.getText().toString(); mWebdavPathPrefixView.getText().toString()); String mailboxPath = mWebdavMailboxPathView.getText().toString(); extra.put(WebDavStoreSettings.AUTH_PATH_KEY, extra = WebDavStoreSettings.createExtra(null, path, authPath, mailboxPath); mWebdavAuthPathView.getText().toString()); extra.put(WebDavStoreSettings.MAILBOX_PATH_KEY, mWebdavMailboxPathView.getText().toString()); } } DI.get(LocalKeyStoreManager.class).deleteCertificate(mAccount, host, port, MailServerDirection.INCOMING); DI.get(LocalKeyStoreManager.class).deleteCertificate(mAccount, host, port, MailServerDirection.INCOMING); Loading app/ui/legacy/src/main/java/com/fsck/k9/activity/setup/AccountSetupOutgoing.java +2 −1 Original line number Original line Diff line number Diff line Loading @@ -489,7 +489,8 @@ public class AccountSetupOutgoing extends K9Activity implements OnClickListener, String newHost = mServerView.getText().toString(); String newHost = mServerView.getText().toString(); int newPort = Integer.parseInt(mPortView.getText().toString()); int newPort = Integer.parseInt(mPortView.getText().toString()); ServerSettings server = new ServerSettings(Protocols.SMTP, newHost, newPort, securityType, authType, username, password, clientCertificateAlias); ServerSettings server = new ServerSettings(Protocols.SMTP, newHost, newPort, securityType, authType, username, password, clientCertificateAlias); uri = backendManager.createTransportUri(server); uri = backendManager.createTransportUri(server); DI.get(LocalKeyStoreManager.class).deleteCertificate(mAccount, newHost, newPort, MailServerDirection.OUTGOING); DI.get(LocalKeyStoreManager.class).deleteCertificate(mAccount, newHost, newPort, MailServerDirection.OUTGOING); mAccount.setTransportUri(uri); mAccount.setTransportUri(uri); Loading backend/imap/src/main/java/com/fsck/k9/backend/imap/ImapStoreUriCreator.java +2 −4 Original line number Original line Diff line number Diff line Loading @@ -52,10 +52,8 @@ public class ImapStoreUriCreator { Map<String, String> extra = server.getExtra(); Map<String, String> extra = server.getExtra(); String path; String path; if (extra != null) { if (extra != null) { boolean autoDetectNamespace = Boolean.TRUE.toString().equals( boolean autoDetectNamespace = ImapStoreSettings.getAutoDetectNamespace(server); extra.get(ImapStoreSettings.AUTODETECT_NAMESPACE_KEY)); String pathPrefix = (autoDetectNamespace) ? null : ImapStoreSettings.getPathPrefix(server); String pathPrefix = (autoDetectNamespace) ? null : extra.get(ImapStoreSettings.PATH_PREFIX_KEY); path = "/" + (autoDetectNamespace ? "1" : "0") + "|" + path = "/" + (autoDetectNamespace ? "1" : "0") + "|" + ((pathPrefix == null) ? "" : pathPrefix); ((pathPrefix == null) ? "" : pathPrefix); } else { } else { Loading Loading
app/core/src/main/java/com/fsck/k9/preferences/SettingsImporter.java +34 −37 Original line number Original line Diff line number Diff line Loading @@ -36,6 +36,9 @@ import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserFactory; import org.xmlpull.v1.XmlPullParserFactory; import timber.log.Timber; import timber.log.Timber; import static java.util.Collections.emptyMap; import static java.util.Collections.unmodifiableMap; public class SettingsImporter { public class SettingsImporter { Loading Loading @@ -368,7 +371,7 @@ public class SettingsImporter { } } // Write incoming server settings (storeUri) // Write incoming server settings (storeUri) ServerSettings incoming = new ImportedServerSettings(account.incoming); ServerSettings incoming = createServerSettings(account.incoming); BackendManager backendManager = DI.get(BackendManager.class); BackendManager backendManager = DI.get(BackendManager.class); String storeUri = backendManager.createStoreUri(incoming); String storeUri = backendManager.createStoreUri(incoming); putString(editor, accountKeyPrefix + AccountPreferenceSerializer.STORE_URI_KEY, Base64.encode(storeUri)); putString(editor, accountKeyPrefix + AccountPreferenceSerializer.STORE_URI_KEY, Base64.encode(storeUri)); Loading @@ -387,7 +390,7 @@ public class SettingsImporter { boolean outgoingPasswordNeeded = false; boolean outgoingPasswordNeeded = false; if (account.outgoing != null) { if (account.outgoing != null) { // Write outgoing server settings (transportUri) // Write outgoing server settings (transportUri) ServerSettings outgoing = new ImportedServerSettings(account.outgoing); ServerSettings outgoing = createServerSettings(account.outgoing); String transportUri = backendManager.createTransportUri(outgoing); String transportUri = backendManager.createTransportUri(outgoing); putString(editor, accountKeyPrefix + AccountPreferenceSerializer.TRANSPORT_URI_KEY, Base64.encode(transportUri)); putString(editor, accountKeyPrefix + AccountPreferenceSerializer.TRANSPORT_URI_KEY, Base64.encode(transportUri)); Loading Loading @@ -1053,21 +1056,16 @@ public class SettingsImporter { return name; return name; } } private static class ImportedServerSettings extends ServerSettings { private static ServerSettings createServerSettings(ImportedServer importedServer) { private final ImportedServer importedServer; String type = ServerTypeConverter.toServerSettingsType(importedServer.type); int port = convertPort(importedServer.port); public ImportedServerSettings(ImportedServer server) { ConnectionSecurity connectionSecurity = convertConnectionSecurity(importedServer.connectionSecurity); super(ServerTypeConverter.toServerSettingsType(server.type), server.host, convertPort(server.port), Map<String, String> extra = importedServer.extras != null ? convertConnectionSecurity(server.connectionSecurity), unmodifiableMap(importedServer.extras.settings) : emptyMap(); server.authenticationType, server.username, server.password, server.clientCertificateAlias); importedServer = server; } @Override return new ServerSettings(type, importedServer.host, port, connectionSecurity, public Map<String, String> getExtra() { importedServer.authenticationType, importedServer.username, importedServer.password, return (importedServer.extras != null) ? importedServer.clientCertificateAlias, extra); Collections.unmodifiableMap(importedServer.extras.settings) : null; } } private static int convertPort(String port) { private static int convertPort(String port) { Loading Loading @@ -1095,7 +1093,6 @@ public class SettingsImporter { return ConnectionSecurity.SSL_TLS_REQUIRED; return ConnectionSecurity.SSL_TLS_REQUIRED; } } } } } @VisibleForTesting @VisibleForTesting static class Imported { static class Imported { Loading
app/k9mail-jmap/src/main/java/com/fsck/k9/backends/JmapBackendFactory.kt +13 −3 Original line number Original line Diff line number Diff line Loading @@ -24,7 +24,7 @@ class JmapBackendFactory( val serverSettings = decodeStoreUri(account.storeUri) val serverSettings = decodeStoreUri(account.storeUri) val jmapConfig = JmapConfig( val jmapConfig = JmapConfig( username = serverSettings.username, username = serverSettings.username, password = serverSettings.password, password = serverSettings.password!!, baseUrl = serverSettings.host, baseUrl = serverSettings.host, accountId = serverSettings.extra["accountId"]!! accountId = serverSettings.extra["accountId"]!! ) ) Loading @@ -34,7 +34,7 @@ class JmapBackendFactory( override fun decodeStoreUri(storeUri: String): ServerSettings { override fun decodeStoreUri(storeUri: String): ServerSettings { val uri = Uri.parse(storeUri) val uri = Uri.parse(storeUri) val username = uri.getQueryParameter("username") val username = uri.getQueryParameter("username")!! val password = uri.getQueryParameter("password") val password = uri.getQueryParameter("password") val baseUrl = uri.getQueryParameter("baseUrl") val baseUrl = uri.getQueryParameter("baseUrl") val accountId = uri.getQueryParameter("accountId") val accountId = uri.getQueryParameter("accountId") Loading @@ -43,7 +43,17 @@ class JmapBackendFactory( "accountId" to accountId "accountId" to accountId ) ) return ServerSettings("jmap", baseUrl, 433, ConnectionSecurity.SSL_TLS_REQUIRED, AuthType.PLAIN, username, password, null, extra) return ServerSettings( type = "jmap", host = baseUrl, port = 433, connectionSecurity = ConnectionSecurity.SSL_TLS_REQUIRED, authenticationType = AuthType.PLAIN, username = username, password = password, clientCertificateAlias = null, extra = extra ) } } override fun createStoreUri(serverSettings: ServerSettings): String { override fun createStoreUri(serverSettings: ServerSettings): String { Loading
app/ui/legacy/src/main/java/com/fsck/k9/activity/setup/AccountSetupIncoming.java +25 −26 Original line number Original line Diff line number Diff line Loading @@ -47,13 +47,15 @@ import com.fsck.k9.ui.R; import com.fsck.k9.view.ClientCertificateSpinner; import com.fsck.k9.view.ClientCertificateSpinner; import com.fsck.k9.view.ClientCertificateSpinner.OnClientCertificateChangedListener; import com.fsck.k9.view.ClientCertificateSpinner.OnClientCertificateChangedListener; import java.util.HashMap; import java.util.Map; import java.util.Map; import com.google.android.material.textfield.TextInputEditText; import com.google.android.material.textfield.TextInputEditText; import com.google.android.material.textfield.TextInputLayout; import com.google.android.material.textfield.TextInputLayout; import timber.log.Timber; import timber.log.Timber; import static java.util.Collections.emptyMap; public class AccountSetupIncoming extends K9Activity implements OnClickListener { public class AccountSetupIncoming extends K9Activity implements OnClickListener { private static final String EXTRA_ACCOUNT = "account"; private static final String EXTRA_ACCOUNT = "account"; private static final String EXTRA_MAKE_DEFAULT = "makeDefault"; private static final String EXTRA_MAKE_DEFAULT = "makeDefault"; Loading Loading @@ -217,11 +219,12 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener } else if (settings.type.equals(Protocols.IMAP)) { } else if (settings.type.equals(Protocols.IMAP)) { serverLayoutView.setHint(getString(R.string.account_setup_incoming_imap_server_label)); serverLayoutView.setHint(getString(R.string.account_setup_incoming_imap_server_label)); ImapStoreSettings imapSettings = (ImapStoreSettings) settings; boolean autoDetectNamespace = ImapStoreSettings.getAutoDetectNamespace(settings); String pathPrefix = ImapStoreSettings.getPathPrefix(settings); mImapAutoDetectNamespaceView.setChecked(imapSettings.autoDetectNamespace); mImapAutoDetectNamespaceView.setChecked(autoDetectNamespace); if (imapSettings.pathPrefix != null) { if (pathPrefix != null) { mImapPathPrefixView.setText(imapSettings.pathPrefix); mImapPathPrefixView.setText(pathPrefix); } } findViewById(R.id.webdav_advanced_header).setVisibility(View.GONE); findViewById(R.id.webdav_advanced_header).setVisibility(View.GONE); Loading @@ -246,18 +249,19 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener findViewById(R.id.compression_label).setVisibility(View.GONE); findViewById(R.id.compression_label).setVisibility(View.GONE); mSubscribedFoldersOnly.setVisibility(View.GONE); mSubscribedFoldersOnly.setVisibility(View.GONE); WebDavStoreSettings webDavSettings = (WebDavStoreSettings) settings; String path = WebDavStoreSettings.getPath(settings); if (path != null) { if (webDavSettings.path != null) { mWebdavPathPrefixView.setText(path); mWebdavPathPrefixView.setText(webDavSettings.path); } } if (webDavSettings.authPath != null) { String authPath = WebDavStoreSettings.getAuthPath(settings); mWebdavAuthPathView.setText(webDavSettings.authPath); if (authPath != null) { mWebdavAuthPathView.setText(authPath); } } if (webDavSettings.mailboxPath != null) { String mailboxPath = WebDavStoreSettings.getMailboxPath(settings); mWebdavMailboxPathView.setText(webDavSettings.mailboxPath); if (mailboxPath != null) { mWebdavMailboxPathView.setText(mailboxPath); } } } else { } else { throw new Exception("Unknown account type: " + mAccount.getStoreUri()); throw new Exception("Unknown account type: " + mAccount.getStoreUri()); Loading Loading @@ -568,21 +572,16 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener String host = mServerView.getText().toString(); String host = mServerView.getText().toString(); int port = Integer.parseInt(mPortView.getText().toString()); int port = Integer.parseInt(mPortView.getText().toString()); Map<String, String> extra = null; Map<String, String> extra = emptyMap(); if (mStoreType.equals(Protocols.IMAP)) { if (mStoreType.equals(Protocols.IMAP)) { extra = new HashMap<>(); boolean autoDetectNamespace = mImapAutoDetectNamespaceView.isChecked(); extra.put(ImapStoreSettings.AUTODETECT_NAMESPACE_KEY, String pathPrefix = mImapPathPrefixView.getText().toString(); Boolean.toString(mImapAutoDetectNamespaceView.isChecked())); extra = ImapStoreSettings.createExtra(autoDetectNamespace, pathPrefix); extra.put(ImapStoreSettings.PATH_PREFIX_KEY, mImapPathPrefixView.getText().toString()); } else if (mStoreType.equals(Protocols.WEBDAV)) { } else if (mStoreType.equals(Protocols.WEBDAV)) { extra = new HashMap<>(); String path = mWebdavPathPrefixView.getText().toString(); extra.put(WebDavStoreSettings.PATH_KEY, String authPath = mWebdavAuthPathView.getText().toString(); mWebdavPathPrefixView.getText().toString()); String mailboxPath = mWebdavMailboxPathView.getText().toString(); extra.put(WebDavStoreSettings.AUTH_PATH_KEY, extra = WebDavStoreSettings.createExtra(null, path, authPath, mailboxPath); mWebdavAuthPathView.getText().toString()); extra.put(WebDavStoreSettings.MAILBOX_PATH_KEY, mWebdavMailboxPathView.getText().toString()); } } DI.get(LocalKeyStoreManager.class).deleteCertificate(mAccount, host, port, MailServerDirection.INCOMING); DI.get(LocalKeyStoreManager.class).deleteCertificate(mAccount, host, port, MailServerDirection.INCOMING); Loading
app/ui/legacy/src/main/java/com/fsck/k9/activity/setup/AccountSetupOutgoing.java +2 −1 Original line number Original line Diff line number Diff line Loading @@ -489,7 +489,8 @@ public class AccountSetupOutgoing extends K9Activity implements OnClickListener, String newHost = mServerView.getText().toString(); String newHost = mServerView.getText().toString(); int newPort = Integer.parseInt(mPortView.getText().toString()); int newPort = Integer.parseInt(mPortView.getText().toString()); ServerSettings server = new ServerSettings(Protocols.SMTP, newHost, newPort, securityType, authType, username, password, clientCertificateAlias); ServerSettings server = new ServerSettings(Protocols.SMTP, newHost, newPort, securityType, authType, username, password, clientCertificateAlias); uri = backendManager.createTransportUri(server); uri = backendManager.createTransportUri(server); DI.get(LocalKeyStoreManager.class).deleteCertificate(mAccount, newHost, newPort, MailServerDirection.OUTGOING); DI.get(LocalKeyStoreManager.class).deleteCertificate(mAccount, newHost, newPort, MailServerDirection.OUTGOING); mAccount.setTransportUri(uri); mAccount.setTransportUri(uri); Loading
backend/imap/src/main/java/com/fsck/k9/backend/imap/ImapStoreUriCreator.java +2 −4 Original line number Original line Diff line number Diff line Loading @@ -52,10 +52,8 @@ public class ImapStoreUriCreator { Map<String, String> extra = server.getExtra(); Map<String, String> extra = server.getExtra(); String path; String path; if (extra != null) { if (extra != null) { boolean autoDetectNamespace = Boolean.TRUE.toString().equals( boolean autoDetectNamespace = ImapStoreSettings.getAutoDetectNamespace(server); extra.get(ImapStoreSettings.AUTODETECT_NAMESPACE_KEY)); String pathPrefix = (autoDetectNamespace) ? null : ImapStoreSettings.getPathPrefix(server); String pathPrefix = (autoDetectNamespace) ? null : extra.get(ImapStoreSettings.PATH_PREFIX_KEY); path = "/" + (autoDetectNamespace ? "1" : "0") + "|" + path = "/" + (autoDetectNamespace ? "1" : "0") + "|" + ((pathPrefix == null) ? "" : pathPrefix); ((pathPrefix == null) ? "" : pathPrefix); } else { } else { Loading