Repo created

This commit is contained in:
Fr4nz D13trich 2025-11-22 13:56:56 +01:00
parent 75dc487a7a
commit 39c29d175b
6317 changed files with 388324 additions and 2 deletions

View file

@ -0,0 +1,8 @@
plugins {
id(ThunderbirdPlugins.Library.jvm)
alias(libs.plugins.android.lint)
}
dependencies {
api(projects.feature.autodiscovery.api)
}

View file

@ -0,0 +1,46 @@
package app.k9mail.autodiscovery.demo
import app.k9mail.autodiscovery.api.AutoDiscovery
import app.k9mail.autodiscovery.api.AutoDiscoveryResult
import app.k9mail.autodiscovery.api.AutoDiscoveryRunnable
import app.k9mail.autodiscovery.api.IncomingServerSettings
import app.k9mail.autodiscovery.api.OutgoingServerSettings
import com.fsck.k9.mail.AuthType
import com.fsck.k9.mail.ConnectionSecurity
import com.fsck.k9.mail.ServerSettings
import net.thunderbird.core.common.mail.EmailAddress
import net.thunderbird.core.common.mail.toDomain
class DemoAutoDiscovery : AutoDiscovery {
override fun initDiscovery(email: EmailAddress): List<AutoDiscoveryRunnable> {
val domain = email.domain.toDomain()
return listOf(
AutoDiscoveryRunnable {
if (domain.value == "example.com") {
AutoDiscoveryResult.Settings(
incomingServerSettings = DemoServerSettings,
outgoingServerSettings = DemoServerSettings,
isTrusted = true,
source = "DemoAutoDiscovery",
)
} else {
AutoDiscoveryResult.NoUsableSettingsFound
}
},
)
}
}
object DemoServerSettings : IncomingServerSettings, OutgoingServerSettings {
val serverSettings = ServerSettings(
type = "demo",
host = "irrelevant",
port = 23,
connectionSecurity = ConnectionSecurity.SSL_TLS_REQUIRED,
authenticationType = AuthType.PLAIN,
username = "irrelevant",
password = "irrelevant",
clientCertificateAlias = null,
)
}