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

Commit 7bdc8381 authored by Nishith  Khanna's avatar Nishith Khanna
Browse files

Merge branch '3501-main-browser_issue' into 'main'

fix: use our browser for login and logout irrespective of default

See merge request !163
parents 778a3ad8 7a3b1ede
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -34,4 +34,6 @@ object Constants {
    const val E_SYNC_URL = "e.email"

    const val MURENA_DAV_URL = "https://murena.io/remote.php/dav"

    const val E_BROWSER_PACKAGE_NAME = "foundation.e.browser"
}
+2 −1
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.content.Intent
import android.os.Build
import androidx.annotation.WorkerThread
import androidx.lifecycle.AndroidViewModel
import at.bitfire.davdroid.Constants
import at.bitfire.davdroid.OpenIdUtils
import at.bitfire.davdroid.authorization.IdentityProvider
import at.bitfire.davdroid.log.Logger
@@ -54,7 +55,7 @@ class OpenIdAuthenticationViewModel(application: Application) : AndroidViewModel
    init {
        val appAuthConfig = AppAuthConfiguration.Builder()
            .setBrowserMatcher {
                it.useCustomTab
                it.packageName == Constants.E_BROWSER_PACKAGE_NAME
            }
            .build()

+8 −1
Original line number Diff line number Diff line
@@ -19,9 +19,11 @@ package at.bitfire.davdroid.ui.signout
import android.accounts.AccountManager
import android.app.Activity
import android.os.Bundle
import at.bitfire.davdroid.Constants
import at.bitfire.davdroid.authorization.IdentityProvider
import at.bitfire.davdroid.log.Logger
import at.bitfire.davdroid.settings.AccountSettings
import net.openid.appauth.AppAuthConfiguration
import net.openid.appauth.AuthState
import net.openid.appauth.AuthorizationService
import net.openid.appauth.AuthorizationServiceConfiguration
@@ -65,7 +67,12 @@ class OpenIdEndSessionActivity : Activity() {
        configuration: AuthorizationServiceConfiguration,
        authState: AuthState
    ) {
        authorizationService = AuthorizationService(applicationContext)
        val appAuthConfig = AppAuthConfiguration.Builder()
            .setBrowserMatcher {
                it.packageName == Constants.E_BROWSER_PACKAGE_NAME
            }
            .build()
        authorizationService = AuthorizationService(applicationContext, appAuthConfig)

        val identityProvider = IdentityProvider.retrieveByAccountType(this, accountType) ?: return
        val redirectUri = identityProvider.logoutRedirectUri