Search in sources :

Example 1 with OnVerificationStateChangedCallbacks

use of com.google.firebase.auth.PhoneAuthProvider.OnVerificationStateChangedCallbacks in project quickstart-android by firebase.

the class MultiFactorEnrollFragment method onClickVerifyPhoneNumber.

private void onClickVerifyPhoneNumber() {
    String phoneNumber = mBinding.fieldPhoneNumber.getText().toString();
    OnVerificationStateChangedCallbacks callbacks = new OnVerificationStateChangedCallbacks() {

        @Override
        public void onVerificationCompleted(PhoneAuthCredential credential) {
            // This should never be triggered.
            throw new RuntimeException("onVerificationCompleted() triggered with instant-validation and auto-retrieval disabled.");
        }

        @Override
        public void onCodeSent(final String verificationId, PhoneAuthProvider.ForceResendingToken token) {
            Log.d(TAG, "onCodeSent:" + verificationId);
            Toast.makeText(getContext(), "SMS code has been sent", Toast.LENGTH_SHORT).show();
            mCodeVerificationId = verificationId;
        }

        @Override
        public void onVerificationFailed(FirebaseException e) {
            Log.w(TAG, "onVerificationFailed ", e);
            Toast.makeText(getContext(), "Verification failed: " + e.getMessage(), Toast.LENGTH_SHORT).show();
        }
    };
    FirebaseAuth.getInstance().getCurrentUser().getMultiFactor().getSession().addOnCompleteListener(new OnCompleteListener<MultiFactorSession>() {

        @Override
        public void onComplete(@NonNull Task<MultiFactorSession> task) {
            if (task.isSuccessful()) {
                PhoneAuthOptions phoneAuthOptions = PhoneAuthOptions.newBuilder().setPhoneNumber(phoneNumber).setTimeout(0L, TimeUnit.SECONDS).setMultiFactorSession(task.getResult()).setCallbacks(callbacks).requireSmsValidation(true).build();
                PhoneAuthProvider.verifyPhoneNumber(phoneAuthOptions);
            } else {
                Toast.makeText(getContext(), "Failed to get session: " + task.getException(), Toast.LENGTH_SHORT).show();
            }
        }
    });
}
Also used : FirebaseException(com.google.firebase.FirebaseException) OnVerificationStateChangedCallbacks(com.google.firebase.auth.PhoneAuthProvider.OnVerificationStateChangedCallbacks) MultiFactorSession(com.google.firebase.auth.MultiFactorSession) PhoneAuthCredential(com.google.firebase.auth.PhoneAuthCredential) PhoneAuthOptions(com.google.firebase.auth.PhoneAuthOptions)

Aggregations

FirebaseException (com.google.firebase.FirebaseException)1 MultiFactorSession (com.google.firebase.auth.MultiFactorSession)1 PhoneAuthCredential (com.google.firebase.auth.PhoneAuthCredential)1 PhoneAuthOptions (com.google.firebase.auth.PhoneAuthOptions)1 OnVerificationStateChangedCallbacks (com.google.firebase.auth.PhoneAuthProvider.OnVerificationStateChangedCallbacks)1