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

Commit 536f7f24 authored by Fahim Salam Chowdhury's avatar Fahim Salam Chowdhury 👽
Browse files

fix murena openId account auth flow

parent 8cc247bb
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@ import android.accounts.Account
import android.accounts.AccountManager
import android.content.ContentResolver
import android.content.Context
import com.fsck.k9.setup.AccountManagerConstants
import app.k9mail.core.android.common.accountmanager.AccountManagerConstants
import timber.log.Timber

object OsAccountManagerUtil {
+1 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.fsck.k9.setup

import android.content.Context
import app.k9mail.core.android.common.accountmanager.AccountManagerConstants
import com.fsck.k9.Account
import com.fsck.k9.mail.AuthType
import com.fsck.k9.mail.oauth.AuthStateStorage
+1 −1
Original line number Diff line number Diff line
@@ -22,12 +22,12 @@ import android.content.Context
import android.content.Intent
import android.os.Build
import androidx.annotation.RequiresApi
import app.k9mail.core.android.common.accountmanager.AccountManagerConstants
import com.fsck.k9.Account
import com.fsck.k9.Preferences
import com.fsck.k9.activity.setup.accountmanager.EeloAccountCreator
import com.fsck.k9.controller.push.PushController
import com.fsck.k9.job.K9JobManager
import com.fsck.k9.setup.AccountManagerConstants
import java.util.concurrent.Executors
import org.koin.core.component.KoinComponent
import org.koin.core.component.inject
+1 −1
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ import androidx.fragment.app.commitNow
import androidx.lifecycle.lifecycleScope
import app.k9mail.core.android.common.contact.CachingRepository
import app.k9mail.core.android.common.contact.ContactRepository
import app.k9mail.core.android.common.accountmanager.AccountManagerConstants
import app.k9mail.feature.launcher.FeatureLauncherActivity
import com.fsck.k9.Account
import com.fsck.k9.K9
@@ -69,7 +70,6 @@ import com.fsck.k9.search.SearchSpecification
import com.fsck.k9.search.SearchSpecification.SearchCondition
import com.fsck.k9.search.SearchSpecification.SearchField
import com.fsck.k9.search.isUnifiedInbox
import com.fsck.k9.setup.AccountManagerConstants
import com.fsck.k9.ui.BuildConfig
import com.fsck.k9.ui.K9Drawer
import com.fsck.k9.ui.R
+3 −14
Original line number Diff line number Diff line
package com.fsck.k9.activity.setup

import android.accounts.AccountManager
import android.app.Activity
import android.content.Context
import android.content.Intent
@@ -14,12 +13,12 @@ import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope
import app.k9mail.autodiscovery.api.DiscoveredServerSettings
import app.k9mail.autodiscovery.providersxml.ProvidersXmlDiscovery
import app.k9mail.core.android.common.accountmanager.AccountManagerHelper
import com.fsck.k9.Account
import com.fsck.k9.Core
import com.fsck.k9.EmailAddressValidator
import com.fsck.k9.Preferences
import com.fsck.k9.account.AccountCreatorHelper
import com.fsck.k9.activity.MessageList
import com.fsck.k9.activity.setup.AccountSetupCheckSettings.CheckDirection
import com.fsck.k9.activity.setup.accountmanager.MailAutoConfigDiscovery
import com.fsck.k9.helper.SimpleTextWatcher
@@ -27,7 +26,6 @@ import com.fsck.k9.helper.Utility.requiredFieldValid
import com.fsck.k9.mail.AuthType
import com.fsck.k9.mail.ServerSettings
import com.fsck.k9.mailstore.SpecialLocalFoldersCreator
import com.fsck.k9.setup.AccountManagerConstants
import com.fsck.k9.ui.ConnectionSettings
import com.fsck.k9.ui.R
import com.fsck.k9.ui.base.K9Activity
@@ -220,21 +218,12 @@ class AccountSetupBasics : K9Activity() {
    }

    private fun handleOpenIdAuthFlow(hostname: String): Boolean {
        val accountType = AccountManagerConstants.getOpenIdAccountTypeByHostName(hostname) ?: return false
        val accountType = AccountManagerHelper.getOpenIdAccountTypeByHostName(hostname) ?: return false

        startOpenIdOAuthFlow(accountType)
        AccountManagerHelper.startOpenIdOAuthFlow(this, accountType, emailView.text?.toString())
        return true
    }

    private fun startOpenIdOAuthFlow(accountType: String) {
        val osAccountManager = AccountManager.get(this)
        val options = Bundle()
        options.putString(AccountManagerConstants.OPEN_APP_PACKAGE_AFTER_AUTH, packageName)
        options.putString(AccountManagerConstants.OPEN_APP_ACTIVITY_AFTER_AUTH, MessageList::class.java.name)
        options.putString(AccountManagerConstants.USERNAME_HINT, emailView.text?.toString())
        osAccountManager.addAccount(accountType, null, null, options, this, null, null)
    }

    private fun startPasswordFlow() {
        uiState = UiState.PASSWORD_FLOW

Loading