Код: Выделить всё
public void signIn_credentialManager() {
String nonce = randomNonce();
GetCredentialRequest request;
googleIdOption = new GetGoogleIdOption.Builder()
.setFilterByAuthorizedAccounts(false)
.setServerClientId("...")
.setAutoSelectEnabled(true)
.setNonce(nonce)
.build();
request = new GetCredentialRequest.Builder()
.addCredentialOption(googleIdOption)
.build();
CancellationSignal cancellationSignal = new CancellationSignal();
cancellationSignal.setOnCancelListener(new CancellationSignal.OnCancelListener() {
@Override
public void onCancel() {
// HERE NEVER TRIGGERED!
log(LOG_TAG, "credentialManager.getCredentialAsync onCancel");
}
});
cancellationSignal.throwIfCanceled();
log(LOG_TAG, "credentialManager.getCredentialAsync");
credentialManager.getCredentialAsync(
context,
request,
cancellationSignal,
executor,
new CredentialManagerCallback() {
@Override
public void onResult(GetCredentialResponse result) {
log(LOG_TAG, "CredentialManagerCallback onResult");
try {
...
}
catch (Exception e) {
log(LOG_TAG, "CredentialManagerCallback Exception!");
e.printStackTrace();
}
}
@Override
public void onError(@NonNull GetCredentialException e) {
log(LOG_TAG, "CredentialManagerCallback Error!");
e.printStackTrace();
}
}
);
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... pt-dismiss