Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //-------------------- FirebaseAuth ------------------------------
- public void createAuth(User user) {
- mFirebaseAuth = ConfigurationFirebase.getFirebaseAuth();
- mFirebaseAuth.createUserWithEmailAndPassword(user.getEmail(), user.getPassword()).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- //Fazer algo caso a criação do usuário tenha ocorrido com sucesso.
- }
- }).addOnFailureListener(new OnFailureListener() {
- @Override
- public void onFailure(@NonNull Exception e) {
- if (e.getClass().equals(FirebaseAuthWeakPasswordException.class)) {
- try {
- throw new FirebaseAuthWeakPasswordException(e.getCause().toString(), e.getLocalizedMessage().toString(), e.getMessage().toString());
- } catch (FirebaseAuthWeakPasswordException e1) {
- e1.printStackTrace();
- }
- } else if (e.getClass().equals(FirebaseAuthUserCollisionException.class)) {
- try {
- throw new FirebaseAuthUserCollisionException(e.getCause().toString(), e.getLocalizedMessage().toString());
- } catch (FirebaseAuthUserCollisionException e1) {
- e1.printStackTrace();
- }
- }
- }
- });
- }
- public void createAuth(User user) throws FirebaseAuthWeakPasswordException {
- Task<AuthResult> createUserAccountTask = mFirebaseAuth.createUserWithEmailAndPassword(user.getEmail(), user.getPassword());
- try {
- // Nessa linha, a execução da thread atual vai congelar até a tarefa concluir (com sucesso ou erro)
- Tasks.await(createUserAccountTask);
- if (createUserAccountTask.isSuccessful()) {
- //Fazer algo caso a criação do usuário tenha ocorrido com sucesso.
- } else {
- Exception e = createUserAccountTask.getException();
- if (e.getClass().equals(FirebaseAuthWeakPasswordException.class)) {
- throw new FirebaseAuthWeakPasswordException(e.getCause().toString(), e.getLocalizedMessage().toString(), e.getMessage().toString());
- } else if (e.getClass().equals(FirebaseAuthUserCollisionException.class)) {
- throw new FirebaseAuthUserCollisionException(this.e.getCause().toString(), this.e.getLocalizedMessage().toString());
- }
- }
- } catch (ExecutionException e) {
- // faça alguma coisa aqui em caso de ExecutionException
- } catch (InterruptedException e) {
- // faça alguma coisa aqui caso a tarefa seja interrompida no meio
- }
- }
- @FunctionalInterface
- interface UserCreationSuccessfulListener {
- void onUserCreated();
- }
- @FunctionalInterface
- interface UserCreationFailedListener {
- void onFailedToCreateUser(Exception e);
- }
- public void createAuth(User user, final UserCreationSuccessfulListener successListener, final UserCreationFailedListener failureListener) throws FirebaseAuthWeakPasswordException {
- mFirebaseAuth.createUserWithEmailAndPassword(user.getEmail(), user.getPassword())
- .addOnSuccessListener(new OnSuccessListener<AuthResult>() {
- @Override
- public void onSuccess(AuthResult authResult) {
- successListener.onUserCreated();
- }
- }).addOnFailureListener(new OnFailureListener() {
- @Override
- public void onFailure(@NonNull Exception e) {
- if (e.getClass().equals(FirebaseAuthWeakPasswordException.class)) {
- failureListener.onFailedToCreateUser(
- new FirebaseAuthWeakPasswordException(e.getCause().toString(), e.getLocalizedMessage(), e.getMessage())
- );
- } else if (e.getClass().equals(FirebaseAuthUserCollisionException.class)) {
- failureListener.onFailedToCreateUser(new FirebaseAuthUserCollisionException(e.getCause().toString(), e.getLocalizedMessage()));
- } else {
- failureListener.onFailedToCreateUser(e);
- }
- }
- }
- );
- }
- createAuth(user, new UserCreationSuccessfulListener() {
- @Override
- public void onUserCreated() {
- // fazer algo aqui em caso de sucesso
- }
- }, new UserCreationFailedListener() {
- @Override
- public void onFailedToCreateUser(Exception e) {
- // fazer algo aqui em caso de erro
- }
- });
- createAuth(user, () -> {
- // fazer algo aqui em caso de sucesso
- }, (error) -> {
- // fazer algo aqui em caso de erro
- });
Add Comment
Please, Sign In to add comment