Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit eec10526 authored by Wolf-Martell Montwé's avatar Wolf-Martell Montwé Committed by GitHub
Browse files

Merge pull request #7171 from thundernest/move_email_validation_to_account_setup

Move email validation to account setup
parents 04e629e7 80194857
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -6,10 +6,6 @@ interface ServerSettingsDomainContract {

    interface UseCase {

        fun interface ValidateEmailAddress {
            fun execute(emailAddress: String): ValidationResult
        }

        fun interface ValidatePassword {
            fun execute(password: String): ValidationResult
        }
+0 −14
Original line number Diff line number Diff line
@@ -3,7 +3,6 @@ package app.k9mail.feature.account.server.settings.ui.common.mapper
import android.content.res.Resources
import app.k9mail.core.common.domain.usecase.validation.ValidationError
import app.k9mail.feature.account.server.settings.R
import app.k9mail.feature.account.server.settings.domain.usecase.ValidateEmailAddress.ValidateEmailAddressError
import app.k9mail.feature.account.server.settings.domain.usecase.ValidateImapPrefix.ValidateImapPrefixError
import app.k9mail.feature.account.server.settings.domain.usecase.ValidatePassword.ValidatePasswordError
import app.k9mail.feature.account.server.settings.domain.usecase.ValidatePort.ValidatePortError
@@ -12,7 +11,6 @@ import app.k9mail.feature.account.server.settings.domain.usecase.ValidateUsernam

fun ValidationError.toResourceString(resources: Resources): String {
    return when (this) {
        is ValidateEmailAddressError -> toEmailAddressErrorString(resources)
        is ValidateServerError -> toServerErrorString(resources)
        is ValidatePortError -> toPortErrorString(resources)
        is ValidateUsernameError -> toUsernameErrorString(resources)
@@ -22,18 +20,6 @@ fun ValidationError.toResourceString(resources: Resources): String {
    }
}

private fun ValidateEmailAddressError.toEmailAddressErrorString(resources: Resources): String {
    return when (this) {
        is ValidateEmailAddressError.EmptyEmailAddress -> resources.getString(
            R.string.account_server_settings_validation_error_email_address_required,
        )

        is ValidateEmailAddressError.InvalidEmailAddress -> resources.getString(
            R.string.account_server_settings_validation_error_email_address_invalid,
        )
    }
}

private fun ValidateServerError.toServerErrorString(resources: Resources): String {
    return when (this) {
        is ValidateServerError.EmptyServer -> resources.getString(
+0 −2
Original line number Diff line number Diff line
@@ -29,8 +29,6 @@

    <string name="account_server_settings_outgoing_top_bar_title">Outgoing server settings</string>

    <string name="account_server_settings_validation_error_email_address_required">Email address is required.</string>
    <string name="account_server_settings_validation_error_email_address_invalid">Email address is invalid.</string>
    <string name="account_server_settings_validation_error_server_required">Server name is required.</string>
    <string name="account_server_settings_validation_error_port_required">Port is required.</string>
    <string name="account_server_settings_validation_error_port_invalid">Port is invalid (must be 1–65535).</string>
+4 −0
Original line number Diff line number Diff line
@@ -22,6 +22,10 @@ interface DomainContract {
            ): String
        }

        fun interface ValidateEmailAddress {
            fun execute(emailAddress: String): ValidationResult
        }

        fun interface ValidateConfigurationApproval {
            fun execute(isApproved: Boolean?, isAutoDiscoveryTrusted: Boolean?): ValidationResult
        }
+2 −2
Original line number Diff line number Diff line
package app.k9mail.feature.account.server.settings.domain.usecase
package app.k9mail.feature.account.setup.domain.usecase

import app.k9mail.core.common.domain.usecase.validation.ValidationError
import app.k9mail.core.common.domain.usecase.validation.ValidationResult
import app.k9mail.feature.account.server.settings.domain.ServerSettingsDomainContract.UseCase
import app.k9mail.feature.account.setup.domain.DomainContract.UseCase

class ValidateEmailAddress : UseCase.ValidateEmailAddress {

Loading