reactormonk
09/11/2023, 9:36 AMval gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestScopes(Scope("<https://www.googleapis.com/auth/photoslibrary.readonly>"))
.build()
val client = GoogleSignIn.getClient(this, gso)
suspend fun silentSignIn(): GoogleSignInAccount {
val silent = client.silentSignIn()
return GoogleSignIn.getLastSignedInAccount(this) ?: silent.asDeferred().await()
}
suspend fun loudSignIn(): GoogleSignInAccount {
val contract = ActivityResultContracts.StartActivityForResult()
return suspendCoroutine { cont ->
registerForActivityResult(contract, contract.createIntent(this, client.signInIntent)) { activityResult ->
cont.resume(GoogleSignIn.getSignedInAccountFromIntent(activityResult.data).asDeferred())
}.launch()
}.await()
}
czuckie
09/11/2023, 12:15 PMczuckie
09/11/2023, 12:15 PMczuckie
09/11/2023, 12:15 PMreactormonk
09/11/2023, 12:15 PMczuckie
09/11/2023, 12:16 PMczuckie
09/11/2023, 12:16 PMreactormonk
09/11/2023, 12:16 PMreactormonk
09/11/2023, 12:16 PMczuckie
09/11/2023, 12:17 PMczuckie
09/11/2023, 12:18 PMczuckie
09/11/2023, 12:18 PMczuckie
09/11/2023, 12:18 PM