in auth/src/main/java/com/firebase/ui/auth/data/remote/SignInKickstarter.java [189:218]
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
switch (requestCode) {
case RequestCodes.CRED_HINT:
if (resultCode == Activity.RESULT_OK) {
handleCredential((Credential) data.getParcelableExtra(Credential.EXTRA_KEY));
} else {
startAuthMethodChoice();
}
break;
case RequestCodes.EMAIL_FLOW:
case RequestCodes.AUTH_PICKER_FLOW:
case RequestCodes.PHONE_FLOW:
case RequestCodes.PROVIDER_FLOW:
if (resultCode == RequestCodes.EMAIL_LINK_WRONG_DEVICE_FLOW || resultCode == RequestCodes.EMAIL_LINK_INVALID_LINK_FLOW) {
startAuthMethodChoice();
return;
}
IdpResponse response = IdpResponse.fromResultIntent(data);
if (response == null) {
setResult(Resource.forFailure(new UserCancellationException()));
} else if (response.isSuccessful()) {
setResult(Resource.forSuccess(response));
} else if (response.getError().getErrorCode() ==
ErrorCodes.ANONYMOUS_UPGRADE_MERGE_CONFLICT) {
handleMergeFailure(response);
} else {
setResult(Resource.forFailure(response.getError()));
}
}
}