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

Commit b7e8200f authored by cketti's avatar cketti
Browse files

Use 'AccountCreator' instances instead of object

parent 89f60435
Loading
Loading
Loading
Loading
+2 −10
Original line number Diff line number Diff line
package com.fsck.k9.account

import android.content.Context
import android.graphics.Color
import com.fsck.k9.Account.DeletePolicy
import com.fsck.k9.Preferences
@@ -12,7 +11,7 @@ import com.fsck.k9.preferences.Protocols
 *
 * TODO Move much of the code from com.fsck.k9.activity.setup.* into here
 */
object AccountCreator {
class AccountCreator(private val preferences: Preferences) {
    /*
     * https://developer.android.com/design/style/color.html
     * Note: Order does matter, it's the order in which they will be picked.
@@ -25,7 +24,6 @@ object AccountCreator {
        Color.parseColor("#9933CC") // purple
    )

    @JvmStatic
    fun getDefaultDeletePolicy(type: String): DeletePolicy {
        return when (type) {
            Protocols.IMAP -> DeletePolicy.ON_DELETE
@@ -35,7 +33,6 @@ object AccountCreator {
        }
    }

    @JvmStatic
    fun getDefaultPort(securityType: ConnectionSecurity, serverType: String): Int {
        return when (serverType) {
            Protocols.IMAP -> getImapDefaultPort(securityType)
@@ -62,12 +59,7 @@ object AccountCreator {
        return if (connectionSecurity == ConnectionSecurity.SSL_TLS_REQUIRED) 465 else 587
    }

    /*
     * Pick a nice Android guidelines color if we haven't used them all yet.
     */
    @JvmStatic
    fun pickColor(context: Context): Int {
        val preferences = Preferences.getPreferences(context)
    fun pickColor(): Int {
        val accounts = preferences.accounts

        val usedAccountColors = accounts.map { it.chipColor }
+1 −0
Original line number Diff line number Diff line
@@ -5,4 +5,5 @@ import org.koin.dsl.module
val accountModule = module {
    factory { AccountRemover(get(), get(), get()) }
    factory { BackgroundAccountRemover(get()) }
    factory { AccountCreator(get()) }
}
+4 −3
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ public class AccountSetupBasics extends K9Activity

    private final BackendManager backendManager = DI.get(BackendManager.class);
    private final ProvidersXmlDiscovery providersXmlDiscovery = DI.get(ProvidersXmlDiscovery.class);
    private final AccountCreator accountCreator = DI.get(AccountCreator.class);

    private EditText mEmailView;
    private EditText mPasswordView;
@@ -241,7 +242,7 @@ public class AccountSetupBasics extends K9Activity

        if (mAccount == null) {
            mAccount = Preferences.getPreferences(this).newAccount();
            mAccount.setChipColor(AccountCreator.pickColor(this));
            mAccount.setChipColor(accountCreator.pickColor());
        }

        mAccount.setName(getOwnerName());
@@ -255,7 +256,7 @@ public class AccountSetupBasics extends K9Activity
        String transportUri = backendManager.createTransportUri(outgoingServerSettings);
        mAccount.setTransportUri(transportUri);

        mAccount.setDeletePolicy(AccountCreator.getDefaultDeletePolicy(incomingServerSettings.type));
        mAccount.setDeletePolicy(accountCreator.getDefaultDeletePolicy(incomingServerSettings.type));

        // Check incoming here.  Then check outgoing in onActivityResult()
        AccountSetupCheckSettings.actionCheckSettings(this, mAccount, CheckDirection.INCOMING);
@@ -315,7 +316,7 @@ public class AccountSetupBasics extends K9Activity

        if (mAccount == null) {
            mAccount = Preferences.getPreferences(this).newAccount();
            mAccount.setChipColor(AccountCreator.pickColor(this));
            mAccount.setChipColor(accountCreator.pickColor());
        }
        mAccount.setName(getOwnerName());
        mAccount.setEmail(email);
+3 −2
Original line number Diff line number Diff line
@@ -62,6 +62,7 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener
    private final MessagingController messagingController = DI.get(MessagingController.class);
    private final BackendManager backendManager = DI.get(BackendManager.class);
    private final K9JobManager jobManager = DI.get(K9JobManager.class);
    private final AccountCreator accountCreator = DI.get(AccountCreator.class);

    private String mStoreType;
    private EditText mUsernameView;
@@ -265,7 +266,7 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener
            }

            if (!editSettings) {
                mAccount.setDeletePolicy(AccountCreator.getDefaultDeletePolicy(settings.type));
                mAccount.setDeletePolicy(accountCreator.getDefaultDeletePolicy(settings.type));
            }

            // Note that mConnectionSecurityChoices is configured above based on server type
@@ -502,7 +503,7 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener
        // Remove listener so as not to trigger validateFields() which is called
        // elsewhere as a result of user interaction.
        mPortView.removeTextChangedListener(validationTextWatcher);
        mPortView.setText(String.valueOf(AccountCreator.getDefaultPort(securityType, mStoreType)));
        mPortView.setText(String.valueOf(accountCreator.getDefaultPort(securityType, mStoreType)));
        mPortView.addTextChangedListener(validationTextWatcher);
    }

+2 −1
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ public class AccountSetupOutgoing extends K9Activity implements OnClickListener,


    private final BackendManager backendManager = DI.get(BackendManager.class);
    private final AccountCreator accountCreator = DI.get(AccountCreator.class);

    private EditText mUsernameView;
    private EditText mPasswordView;
@@ -448,7 +449,7 @@ public class AccountSetupOutgoing extends K9Activity implements OnClickListener,
        // Remove listener so as not to trigger validateFields() which is called
        // elsewhere as a result of user interaction.
        mPortView.removeTextChangedListener(validationTextWatcher);
        mPortView.setText(String.valueOf(AccountCreator.getDefaultPort(securityType, Protocols.SMTP)));
        mPortView.setText(String.valueOf(accountCreator.getDefaultPort(securityType, Protocols.SMTP)));
        mPortView.addTextChangedListener(validationTextWatcher);
    }

Loading