Loading app/k9mail-jmap/src/main/java/com/fsck/k9/backends/WebDavBackendFactory.kt +8 −5 Original line number Diff line number Diff line Loading @@ -8,8 +8,8 @@ import com.fsck.k9.backend.webdav.WebDavStoreUriCreator import com.fsck.k9.backend.webdav.WebDavStoreUriDecoder import com.fsck.k9.mail.ServerSettings import com.fsck.k9.mail.ssl.TrustManagerFactory import com.fsck.k9.mail.store.webdav.DraftsFolderProvider import com.fsck.k9.mail.store.webdav.WebDavStore import com.fsck.k9.mail.store.webdav.WebDavStoreSettings import com.fsck.k9.mail.transport.WebDavTransport import com.fsck.k9.mailstore.K9BackendStorageFactory Loading @@ -23,13 +23,16 @@ class WebDavBackendFactory( val accountName = account.displayName val backendStorage = backendStorageFactory.createBackendStorage(account) val serverSettings = WebDavStoreUriDecoder.decode(account.storeUri) val webDavStore = createWebDavStore(serverSettings, account) val webDavTransport = WebDavTransport(trustManagerFactory, serverSettings, account) val draftsFolderProvider = createDraftsFolderProvider(account) val webDavStore = WebDavStore(trustManagerFactory, serverSettings, draftsFolderProvider) val webDavTransport = WebDavTransport(trustManagerFactory, serverSettings, draftsFolderProvider) return WebDavBackend(accountName, backendStorage, webDavStore, webDavTransport) } private fun createWebDavStore(serverSettings: WebDavStoreSettings, account: Account): WebDavStore { return WebDavStore(trustManagerFactory, serverSettings, account) private fun createDraftsFolderProvider(account: Account): DraftsFolderProvider { return DraftsFolderProvider { account.draftsFolder ?: error("No Drafts folder configured") } } override fun decodeStoreUri(storeUri: String): ServerSettings { Loading app/k9mail/src/main/java/com/fsck/k9/backends/WebDavBackendFactory.kt +8 −5 Original line number Diff line number Diff line Loading @@ -8,8 +8,8 @@ import com.fsck.k9.backend.webdav.WebDavStoreUriCreator import com.fsck.k9.backend.webdav.WebDavStoreUriDecoder import com.fsck.k9.mail.ServerSettings import com.fsck.k9.mail.ssl.TrustManagerFactory import com.fsck.k9.mail.store.webdav.DraftsFolderProvider import com.fsck.k9.mail.store.webdav.WebDavStore import com.fsck.k9.mail.store.webdav.WebDavStoreSettings import com.fsck.k9.mail.transport.WebDavTransport import com.fsck.k9.mailstore.K9BackendStorageFactory Loading @@ -23,13 +23,16 @@ class WebDavBackendFactory( val accountName = account.displayName val backendStorage = backendStorageFactory.createBackendStorage(account) val serverSettings = WebDavStoreUriDecoder.decode(account.storeUri) val webDavStore = createWebDavStore(serverSettings, account) val webDavTransport = WebDavTransport(trustManagerFactory, serverSettings, account) val draftsFolderProvider = createDraftsFolderProvider(account) val webDavStore = WebDavStore(trustManagerFactory, serverSettings, draftsFolderProvider) val webDavTransport = WebDavTransport(trustManagerFactory, serverSettings, draftsFolderProvider) return WebDavBackend(accountName, backendStorage, webDavStore, webDavTransport) } private fun createWebDavStore(serverSettings: WebDavStoreSettings, account: Account): WebDavStore { return WebDavStore(trustManagerFactory, serverSettings, account) private fun createDraftsFolderProvider(account: Account): DraftsFolderProvider { return DraftsFolderProvider { account.draftsFolder ?: error("No Drafts folder configured") } } override fun decodeStoreUri(storeUri: String): ServerSettings { Loading mail/protocols/webdav/src/main/java/com/fsck/k9/mail/store/webdav/DraftsFolderProvider.java 0 → 100644 +5 −0 Original line number Diff line number Diff line package com.fsck.k9.mail.store.webdav; public interface DraftsFolderProvider { String getDraftsFolder(); } mail/protocols/webdav/src/main/java/com/fsck/k9/mail/store/webdav/WebDavStore.java +8 −12 Original line number Diff line number Diff line Loading @@ -24,7 +24,6 @@ import com.fsck.k9.mail.Message; import com.fsck.k9.mail.MessagingException; import com.fsck.k9.mail.filter.Base64; import com.fsck.k9.mail.ssl.TrustManagerFactory; import com.fsck.k9.mail.store.StoreConfig; import com.fsck.k9.mail.store.webdav.WebDavHttpClient.WebDavHttpClientFactory; import javax.net.ssl.SSLException; import javax.xml.parsers.ParserConfigurationException; Loading Loading @@ -60,7 +59,7 @@ import static com.fsck.k9.mail.helper.UrlEncodingHelper.decodeUtf8; */ @SuppressWarnings("deprecation") public class WebDavStore { private final StoreConfig storeConfig; private final DraftsFolderProvider draftsFolderProvider; private ConnectionSecurity mConnectionSecurity; private String username; private String alias; Loading @@ -84,13 +83,14 @@ public class WebDavStore { private WebDavFolder sendFolder = null; private Map<String, WebDavFolder> folderList = new HashMap<>(); public WebDavStore(TrustManagerFactory trustManagerFactory, WebDavStoreSettings serverSettings, StoreConfig storeConfig) { this(trustManagerFactory, serverSettings, storeConfig, new WebDavHttpClient.WebDavHttpClientFactory()); public WebDavStore(TrustManagerFactory trustManagerFactory, WebDavStoreSettings serverSettings, DraftsFolderProvider draftsFolderProvider) { this(trustManagerFactory, serverSettings, draftsFolderProvider, new WebDavHttpClient.WebDavHttpClientFactory()); } public WebDavStore(TrustManagerFactory trustManagerFactory, WebDavStoreSettings serverSettings, StoreConfig storeConfig, WebDavHttpClientFactory clientFactory) { this.storeConfig = storeConfig; public WebDavStore(TrustManagerFactory trustManagerFactory, WebDavStoreSettings serverSettings, DraftsFolderProvider draftsFolderProvider, WebDavHttpClientFactory clientFactory) { this.draftsFolderProvider = draftsFolderProvider; httpClientFactory = clientFactory; this.trustManagerFactory = trustManagerFactory; Loading Loading @@ -152,10 +152,6 @@ public class WebDavStore { return authenticationType; } StoreConfig getStoreConfig() { return storeConfig; } public void checkSettings() throws MessagingException { authenticate(); } Loading Loading @@ -935,7 +931,7 @@ public class WebDavStore { } public void sendMessages(List<Message> messages) throws MessagingException { WebDavFolder tmpFolder = getFolder(storeConfig.getDraftsFolder()); WebDavFolder tmpFolder = getFolder(draftsFolderProvider.getDraftsFolder()); try { tmpFolder.open(); List<WebDavMessage> retMessages = tmpFolder.appendWebDavMessages(messages); Loading mail/protocols/webdav/src/main/java/com/fsck/k9/mail/transport/WebDavTransport.java +4 −3 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ import com.fsck.k9.mail.Message; import com.fsck.k9.mail.MessagingException; import com.fsck.k9.mail.Transport; import com.fsck.k9.mail.ssl.TrustManagerFactory; import com.fsck.k9.mail.store.StoreConfig; import com.fsck.k9.mail.store.webdav.DraftsFolderProvider; import com.fsck.k9.mail.store.webdav.WebDavStore; import com.fsck.k9.mail.store.webdav.WebDavStoreSettings; import timber.log.Timber; Loading @@ -16,8 +16,9 @@ import timber.log.Timber; public class WebDavTransport extends Transport { private WebDavStore store; public WebDavTransport(TrustManagerFactory trustManagerFactory, WebDavStoreSettings serverSettings, StoreConfig storeConfig) { store = new WebDavStore(trustManagerFactory, serverSettings, storeConfig); public WebDavTransport(TrustManagerFactory trustManagerFactory, WebDavStoreSettings serverSettings, DraftsFolderProvider draftsFolderProvider) { store = new WebDavStore(trustManagerFactory, serverSettings, draftsFolderProvider); if (K9MailLib.isDebug()) Timber.d(">>> New WebDavTransport creation complete"); Loading Loading
app/k9mail-jmap/src/main/java/com/fsck/k9/backends/WebDavBackendFactory.kt +8 −5 Original line number Diff line number Diff line Loading @@ -8,8 +8,8 @@ import com.fsck.k9.backend.webdav.WebDavStoreUriCreator import com.fsck.k9.backend.webdav.WebDavStoreUriDecoder import com.fsck.k9.mail.ServerSettings import com.fsck.k9.mail.ssl.TrustManagerFactory import com.fsck.k9.mail.store.webdav.DraftsFolderProvider import com.fsck.k9.mail.store.webdav.WebDavStore import com.fsck.k9.mail.store.webdav.WebDavStoreSettings import com.fsck.k9.mail.transport.WebDavTransport import com.fsck.k9.mailstore.K9BackendStorageFactory Loading @@ -23,13 +23,16 @@ class WebDavBackendFactory( val accountName = account.displayName val backendStorage = backendStorageFactory.createBackendStorage(account) val serverSettings = WebDavStoreUriDecoder.decode(account.storeUri) val webDavStore = createWebDavStore(serverSettings, account) val webDavTransport = WebDavTransport(trustManagerFactory, serverSettings, account) val draftsFolderProvider = createDraftsFolderProvider(account) val webDavStore = WebDavStore(trustManagerFactory, serverSettings, draftsFolderProvider) val webDavTransport = WebDavTransport(trustManagerFactory, serverSettings, draftsFolderProvider) return WebDavBackend(accountName, backendStorage, webDavStore, webDavTransport) } private fun createWebDavStore(serverSettings: WebDavStoreSettings, account: Account): WebDavStore { return WebDavStore(trustManagerFactory, serverSettings, account) private fun createDraftsFolderProvider(account: Account): DraftsFolderProvider { return DraftsFolderProvider { account.draftsFolder ?: error("No Drafts folder configured") } } override fun decodeStoreUri(storeUri: String): ServerSettings { Loading
app/k9mail/src/main/java/com/fsck/k9/backends/WebDavBackendFactory.kt +8 −5 Original line number Diff line number Diff line Loading @@ -8,8 +8,8 @@ import com.fsck.k9.backend.webdav.WebDavStoreUriCreator import com.fsck.k9.backend.webdav.WebDavStoreUriDecoder import com.fsck.k9.mail.ServerSettings import com.fsck.k9.mail.ssl.TrustManagerFactory import com.fsck.k9.mail.store.webdav.DraftsFolderProvider import com.fsck.k9.mail.store.webdav.WebDavStore import com.fsck.k9.mail.store.webdav.WebDavStoreSettings import com.fsck.k9.mail.transport.WebDavTransport import com.fsck.k9.mailstore.K9BackendStorageFactory Loading @@ -23,13 +23,16 @@ class WebDavBackendFactory( val accountName = account.displayName val backendStorage = backendStorageFactory.createBackendStorage(account) val serverSettings = WebDavStoreUriDecoder.decode(account.storeUri) val webDavStore = createWebDavStore(serverSettings, account) val webDavTransport = WebDavTransport(trustManagerFactory, serverSettings, account) val draftsFolderProvider = createDraftsFolderProvider(account) val webDavStore = WebDavStore(trustManagerFactory, serverSettings, draftsFolderProvider) val webDavTransport = WebDavTransport(trustManagerFactory, serverSettings, draftsFolderProvider) return WebDavBackend(accountName, backendStorage, webDavStore, webDavTransport) } private fun createWebDavStore(serverSettings: WebDavStoreSettings, account: Account): WebDavStore { return WebDavStore(trustManagerFactory, serverSettings, account) private fun createDraftsFolderProvider(account: Account): DraftsFolderProvider { return DraftsFolderProvider { account.draftsFolder ?: error("No Drafts folder configured") } } override fun decodeStoreUri(storeUri: String): ServerSettings { Loading
mail/protocols/webdav/src/main/java/com/fsck/k9/mail/store/webdav/DraftsFolderProvider.java 0 → 100644 +5 −0 Original line number Diff line number Diff line package com.fsck.k9.mail.store.webdav; public interface DraftsFolderProvider { String getDraftsFolder(); }
mail/protocols/webdav/src/main/java/com/fsck/k9/mail/store/webdav/WebDavStore.java +8 −12 Original line number Diff line number Diff line Loading @@ -24,7 +24,6 @@ import com.fsck.k9.mail.Message; import com.fsck.k9.mail.MessagingException; import com.fsck.k9.mail.filter.Base64; import com.fsck.k9.mail.ssl.TrustManagerFactory; import com.fsck.k9.mail.store.StoreConfig; import com.fsck.k9.mail.store.webdav.WebDavHttpClient.WebDavHttpClientFactory; import javax.net.ssl.SSLException; import javax.xml.parsers.ParserConfigurationException; Loading Loading @@ -60,7 +59,7 @@ import static com.fsck.k9.mail.helper.UrlEncodingHelper.decodeUtf8; */ @SuppressWarnings("deprecation") public class WebDavStore { private final StoreConfig storeConfig; private final DraftsFolderProvider draftsFolderProvider; private ConnectionSecurity mConnectionSecurity; private String username; private String alias; Loading @@ -84,13 +83,14 @@ public class WebDavStore { private WebDavFolder sendFolder = null; private Map<String, WebDavFolder> folderList = new HashMap<>(); public WebDavStore(TrustManagerFactory trustManagerFactory, WebDavStoreSettings serverSettings, StoreConfig storeConfig) { this(trustManagerFactory, serverSettings, storeConfig, new WebDavHttpClient.WebDavHttpClientFactory()); public WebDavStore(TrustManagerFactory trustManagerFactory, WebDavStoreSettings serverSettings, DraftsFolderProvider draftsFolderProvider) { this(trustManagerFactory, serverSettings, draftsFolderProvider, new WebDavHttpClient.WebDavHttpClientFactory()); } public WebDavStore(TrustManagerFactory trustManagerFactory, WebDavStoreSettings serverSettings, StoreConfig storeConfig, WebDavHttpClientFactory clientFactory) { this.storeConfig = storeConfig; public WebDavStore(TrustManagerFactory trustManagerFactory, WebDavStoreSettings serverSettings, DraftsFolderProvider draftsFolderProvider, WebDavHttpClientFactory clientFactory) { this.draftsFolderProvider = draftsFolderProvider; httpClientFactory = clientFactory; this.trustManagerFactory = trustManagerFactory; Loading Loading @@ -152,10 +152,6 @@ public class WebDavStore { return authenticationType; } StoreConfig getStoreConfig() { return storeConfig; } public void checkSettings() throws MessagingException { authenticate(); } Loading Loading @@ -935,7 +931,7 @@ public class WebDavStore { } public void sendMessages(List<Message> messages) throws MessagingException { WebDavFolder tmpFolder = getFolder(storeConfig.getDraftsFolder()); WebDavFolder tmpFolder = getFolder(draftsFolderProvider.getDraftsFolder()); try { tmpFolder.open(); List<WebDavMessage> retMessages = tmpFolder.appendWebDavMessages(messages); Loading
mail/protocols/webdav/src/main/java/com/fsck/k9/mail/transport/WebDavTransport.java +4 −3 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ import com.fsck.k9.mail.Message; import com.fsck.k9.mail.MessagingException; import com.fsck.k9.mail.Transport; import com.fsck.k9.mail.ssl.TrustManagerFactory; import com.fsck.k9.mail.store.StoreConfig; import com.fsck.k9.mail.store.webdav.DraftsFolderProvider; import com.fsck.k9.mail.store.webdav.WebDavStore; import com.fsck.k9.mail.store.webdav.WebDavStoreSettings; import timber.log.Timber; Loading @@ -16,8 +16,9 @@ import timber.log.Timber; public class WebDavTransport extends Transport { private WebDavStore store; public WebDavTransport(TrustManagerFactory trustManagerFactory, WebDavStoreSettings serverSettings, StoreConfig storeConfig) { store = new WebDavStore(trustManagerFactory, serverSettings, storeConfig); public WebDavTransport(TrustManagerFactory trustManagerFactory, WebDavStoreSettings serverSettings, DraftsFolderProvider draftsFolderProvider) { store = new WebDavStore(trustManagerFactory, serverSettings, draftsFolderProvider); if (K9MailLib.isDebug()) Timber.d(">>> New WebDavTransport creation complete"); Loading