diff --git a/app/src/main/kotlin/at/bitfire/davdroid/Constants.kt b/app/src/main/kotlin/at/bitfire/davdroid/Constants.kt index b231268dec4dd0504bb157455b0461b1be0d7bd5..40f23a5a35317e72cdf0e83223c04ce280a489ea 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/Constants.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/Constants.kt @@ -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" } diff --git a/app/src/main/kotlin/at/bitfire/davdroid/ui/setup/OpenIdAuthenticationViewModel.kt b/app/src/main/kotlin/at/bitfire/davdroid/ui/setup/OpenIdAuthenticationViewModel.kt index bb2d794e4ae02e4558d75732ce61ce04740462eb..fc4eb66a90b0f5bd2b0e2333e53e01e892e144d2 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/ui/setup/OpenIdAuthenticationViewModel.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/ui/setup/OpenIdAuthenticationViewModel.kt @@ -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() diff --git a/app/src/main/kotlin/at/bitfire/davdroid/ui/signout/OpenIdEndSessionActivity.kt b/app/src/main/kotlin/at/bitfire/davdroid/ui/signout/OpenIdEndSessionActivity.kt index 5fd4f71ed3e1ed7ace7846ce7b631458c0120b40..a3b5cfe94276e1cf35c8966aff2735bc5943197d 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/ui/signout/OpenIdEndSessionActivity.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/ui/signout/OpenIdEndSessionActivity.kt @@ -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