public void onActivityResult()

in Fido/app/src/main/java/com/fido/example/fido2apiexample/Fido2DemoActivity.java [602:659]


    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (RC_SIGN_IN == requestCode) {
            GoogleSignInResult siginInResult = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
            handleSignInResult(siginInResult);
            return;
        }

        switch (resultCode) {
            case RESULT_OK:
                if (data.hasExtra(Fido.FIDO2_KEY_ERROR_EXTRA)) {
                    Log.d(TAG, "Received error response from Google Play Services FIDO2 API");
                    AuthenticatorErrorResponse response =
                            AuthenticatorErrorResponse.deserializeFromBytes(
                                    data.getByteArrayExtra(Fido.FIDO2_KEY_ERROR_EXTRA));
                    Toast.makeText(
                            Fido2DemoActivity.this, "Operation failed\n" + response, Toast.LENGTH_SHORT)
                            .show();
                } else if (requestCode == REQUEST_CODE_REGISTER) {
                    Log.d(TAG, "Received register response from Google Play Services FIDO2 API");
                    AuthenticatorAttestationResponse response =
                            AuthenticatorAttestationResponse.deserializeFromBytes(
                                    data.getByteArrayExtra(Fido.FIDO2_KEY_RESPONSE_EXTRA));
                    Toast.makeText(
                            Fido2DemoActivity.this,
                            "Registration key handle:\n"
                                    + BaseEncoding.base64().encode(response.getKeyHandle()),
                            Toast.LENGTH_SHORT)
                            .show();
                    updateRegisterResponseToServer(response);
                } else if (requestCode == REQUEST_CODE_SIGN) {
                    Log.d(TAG, "Received sign response from Google Play Services FIDO2 API");
                    AuthenticatorAssertionResponse response =
                            AuthenticatorAssertionResponse.deserializeFromBytes(
                                    data.getByteArrayExtra(Fido.FIDO2_KEY_RESPONSE_EXTRA));
                    Toast.makeText(
                            Fido2DemoActivity.this,
                            "Sign key handle:\n" + BaseEncoding.base64().encode(response.getKeyHandle()),
                            Toast.LENGTH_SHORT)
                            .show();
                    updateSignResponseToServer(response);
                }
                break;

            case RESULT_CANCELED:
                Toast.makeText(Fido2DemoActivity.this, "Operation is cancelled", Toast.LENGTH_SHORT).show();
                break;

            default:
                Toast.makeText(
                        Fido2DemoActivity.this,
                        "Operation failed, with resultCode " + resultCode,
                        Toast.LENGTH_SHORT)
                        .show();
                break;
        }
    }