diff --git a/shared/build.gradle.kts b/shared/build.gradle.kts index 4809026f8..ee4778018 100644 --- a/shared/build.gradle.kts +++ b/shared/build.gradle.kts @@ -152,6 +152,7 @@ kotlin { api(libs.androidx.datastore.preferences) api(libs.multiplatform.settings.datastore) implementation(libs.googleid) + implementation(libs.androidx.credentials) } } diff --git a/shared/src/androidMain/kotlin/dev/johnoreilly/confetti/account/SignInProcess.kt b/shared/src/androidMain/kotlin/dev/johnoreilly/confetti/account/SignInProcess.kt index b9fe77b85..7183acddd 100644 --- a/shared/src/androidMain/kotlin/dev/johnoreilly/confetti/account/SignInProcess.kt +++ b/shared/src/androidMain/kotlin/dev/johnoreilly/confetti/account/SignInProcess.kt @@ -5,6 +5,7 @@ import androidx.credentials.ClearCredentialStateRequest import androidx.credentials.CredentialManager import androidx.credentials.CustomCredential import androidx.credentials.GetCredentialRequest +import androidx.credentials.exceptions.ClearCredentialException import androidx.credentials.exceptions.GetCredentialCancellationException import androidx.credentials.exceptions.GetCredentialException import androidx.credentials.exceptions.NoCredentialException @@ -34,13 +35,9 @@ class SignInProcess( */ suspend fun signIn(activityContext: Context) { val googleAuthOption = if (useSignInWithGoogle) { - GetSignInWithGoogleOption.Builder(webClientId) - .build() + GetSignInWithGoogleOption(serverClientId = webClientId) } else { - GetGoogleIdOption.Builder() - .setFilterByAuthorizedAccounts(true) - .setServerClientId(webClientId) - .build() + GetGoogleIdOption(serverClientId = webClientId, filterByAuthorizedAccounts = true) } val request: GetCredentialRequest = GetCredentialRequest.Builder() @@ -89,7 +86,11 @@ class SignInProcess( * 2. Signs the user out via [Authentication]. */ suspend fun signOut() { - credentialManager.clearCredentialState(ClearCredentialStateRequest()) + try { + credentialManager.clearCredentialState(ClearCredentialStateRequest()) + } catch (e: ClearCredentialException) { + println(e) + } authentication.signOut() }