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

Commit 99ef9e82 authored by Fahim Salam Chowdhury's avatar Fahim Salam Chowdhury 👽
Browse files

refactor LoginActivity to support hilt injection

parent d143be11
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -125,7 +125,7 @@ class EeloAccountAuthenticatorService : Service(), OnAccountsUpdateListener {
            val intent = Intent(context, LoginActivity::class.java)
            intent.putExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE, response)
            intent.putExtra(
                LoginActivity.SETUP_ACCOUNT_PROVIDER_TYPE,
                LoginActivity.ACCOUNT_TYPE,
                context.getString(R.string.eelo_account_type)
            )
            val bundle = Bundle(1)
+1 −1
Original line number Diff line number Diff line
@@ -127,7 +127,7 @@ class GoogleAccountAuthenticatorService : Service(), OnAccountsUpdateListener {
            val intent = Intent(context, LoginActivity::class.java)
            intent.putExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE, response)
            intent.putExtra(
                LoginActivity.SETUP_ACCOUNT_PROVIDER_TYPE,
                LoginActivity.ACCOUNT_TYPE,
                context.getString(R.string.google_account_type)
            )

+3 −3
Original line number Diff line number Diff line
@@ -142,7 +142,7 @@ class AccountDetailsFragment : Fragment() {
        } else
            v.contactGroupMethod.isEnabled = true

        val providedAccountType = requireActivity().intent.getStringExtra(LoginActivity.SETUP_ACCOUNT_PROVIDER_TYPE)
        val providedAccountType = requireActivity().intent.getStringExtra(LoginActivity.ACCOUNT_TYPE)
        if ((providedAccountType != getString(R.string.account_type)) && (providedAccountType in AccountUtils.getMainAccountTypes(requireContext()))) {

            v.mainDetailLayout.visibility = View.GONE
@@ -176,7 +176,7 @@ class AccountDetailsFragment : Fragment() {
                                    .KEY_ACCOUNT_AUTHENTICATOR_RESPONSE)?.onResult(null)
                        }

                        if (requireActivity().intent.getStringExtra(LoginActivity.SETUP_ACCOUNT_PROVIDER_TYPE) == getString(R.string.eelo_account_type)) {
                        if (requireActivity().intent.getStringExtra(LoginActivity.ACCOUNT_TYPE) == getString(R.string.eelo_account_type)) {
                            val intent = Intent("drive.services.InitializerService")
                            intent.setPackage(getString(R.string.e_drive_package_name))
                            intent.putExtra(AccountManager.KEY_ACCOUNT_NAME, name)
@@ -241,7 +241,7 @@ class AccountDetailsFragment : Fragment() {
                    baseURL = config.calDAV.principal.toString()
                }

                when (activity.intent.getStringExtra(LoginActivity.SETUP_ACCOUNT_PROVIDER_TYPE)) {
                when (activity.intent.getStringExtra(LoginActivity.ACCOUNT_TYPE)) {
                    context.getString(R.string.eelo_account_type) -> {
                        accountType = context.getString(R.string.eelo_account_type)
                        addressBookAccountType = context.getString(R.string.account_type_eelo_address_book)
+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ class DetectConfigurationFragment: Fragment() {
            return
        }

        val accountType = requireActivity().intent.getStringExtra(LoginActivity.SETUP_ACCOUNT_PROVIDER_TYPE)
        val accountType = requireActivity().intent.getStringExtra(LoginActivity.ACCOUNT_TYPE)
        val isMurenaAccountType = (accountType == getString(R.string.eelo_account_type))

        model.detectConfiguration(loginModel, isMurenaAccountType).observe(this, { result ->
+7 −20
Original line number Diff line number Diff line
@@ -8,7 +8,6 @@ import android.os.Bundle
import android.view.MenuItem
import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment
import at.bitfire.davdroid.R
import at.bitfire.davdroid.log.Logger
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
@@ -39,7 +38,7 @@ class LoginActivity: AppCompatActivity() {
         */
        const val EXTRA_PASSWORD = "password"

        const val SETUP_ACCOUNT_PROVIDER_TYPE = "setup_account_provider_type"
        const val ACCOUNT_TYPE = "account_type"
        const val OPENID_AUTH_FLOW_COMPLETE = "openId_authFlow_complete"

        const val OPEN_APP_PACKAGE_AFTER_AUTH = "open_app_package_after_auth"
@@ -68,27 +67,15 @@ class LoginActivity: AppCompatActivity() {
            }

            if (fragment != null) {
                when (intent.getStringExtra(SETUP_ACCOUNT_PROVIDER_TYPE)) {
                    getString(R.string.eelo_account_type) -> {
                        supportFragmentManager.beginTransaction()
                            .replace(android.R.id.content, EeloAuthenticatorFragment())
                            .commit()
                    }
                    getString(R.string.google_account_type) -> {
                        supportFragmentManager.beginTransaction()
                            .replace(android.R.id.content, GoogleAuthFragment())
                            .commit()
                    }
                    else ->
                // first call, add first login fragment
                supportFragmentManager.beginTransaction()
                    .replace(android.R.id.content, fragment)
                    .commit()
                }
            } else
            } else {
                Logger.log.severe("Couldn't create LoginFragment")
            }
        }
    }

    override fun onOptionsItemSelected(item: MenuItem): Boolean {
        if (item.itemId == android.R.id.home) {
Loading