Advertisement
Guest User

Untitled

a guest
Oct 20th, 2018
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.74 KB | None | 0 0
  1. package com.example.rumi.bloodbank;
  2.  
  3. import android.app.ProgressDialog;
  4. import android.content.Intent;
  5. import android.support.annotation.NonNull;
  6. import android.support.design.widget.TextInputLayout;
  7. import android.support.v7.app.AppCompatActivity;
  8. import android.os.Bundle;
  9. import android.util.Log;
  10. import android.widget.Toast;
  11.  
  12. import com.google.android.gms.tasks.OnCompleteListener;
  13. import com.google.android.gms.tasks.OnFailureListener;
  14. import com.google.android.gms.tasks.Task;
  15. import com.google.firebase.auth.AuthResult;
  16. import com.google.firebase.auth.FirebaseAuth;
  17. import com.google.firebase.auth.FirebaseUser;
  18. import com.google.firebase.database.DatabaseReference;
  19. import com.google.firebase.database.FirebaseDatabase;
  20.  
  21. import java.util.HashMap;
  22. import java.util.Map;
  23.  
  24. import butterknife.BindView;
  25. import butterknife.ButterKnife;
  26. import butterknife.OnClick;
  27.  
  28. public class RegisterActivity extends AppCompatActivity {
  29.  
  30.     @BindView(R.id.til_name)
  31.     TextInputLayout tilName;
  32.     @BindView(R.id.til_email)
  33.     TextInputLayout tilEmail;
  34.     @BindView(R.id.til_password)
  35.     TextInputLayout tilPassword;
  36.  
  37.     private FirebaseAuth mAuth;
  38.     private FirebaseAuth.AuthStateListener firebaseAuthStateListener;
  39.     ProgressDialog progressDialog;
  40.  
  41.     @Override
  42.     protected void onCreate(Bundle savedInstanceState) {
  43.         super.onCreate(savedInstanceState);
  44.         setContentView(R.layout.activity_register);
  45.         ButterKnife.bind(this);
  46.  
  47.         mAuth = FirebaseAuth.getInstance();
  48.  
  49.         firebaseAuthStateListener = new FirebaseAuth.AuthStateListener() {
  50.             @Override
  51.             public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
  52.                 final FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
  53.                 if (user != null) {
  54.                     Intent intent = new Intent(RegisterActivity.this, MainActivity.class);
  55.                     startActivity(intent);
  56.                     finish();
  57.                 }
  58.             }
  59.         };
  60.         progressDialog = new ProgressDialog(RegisterActivity.this);
  61.         progressDialog.setCancelable(true);
  62.     }
  63.  
  64.     @OnClick(R.id.go_to_login)
  65.     void gotoLogin() {
  66.         startActivity(new Intent(this, LoginActivity.class));
  67.     }
  68.  
  69.     @OnClick(R.id.btnRegister)
  70.     void register() {
  71.         progressDialog.setMessage("Loading...");
  72.         progressDialog.show();
  73.         final String email = tilEmail.getEditText().getText().toString();
  74.         final String password = tilPassword.getEditText().getText().toString();
  75.         final String name = tilName.getEditText().getText().toString();
  76.  
  77.         mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
  78.             @Override
  79.             public void onComplete(@NonNull Task<AuthResult> task) {
  80.                 if (task.isSuccessful()) {
  81.                     progressDialog.dismiss();
  82.                     String userId = mAuth.getCurrentUser().getUid();
  83.                     DatabaseReference currentUserDb = FirebaseDatabase.getInstance().getReference().child("Users").child(userId);
  84.                     Map userInfo = new HashMap<>();
  85.                     userInfo.put("name", name);
  86.                     currentUserDb.updateChildren(userInfo);
  87.                     Toast.makeText(RegisterActivity.this, "Successfully registered", Toast.LENGTH_SHORT).show();
  88.                     startActivity(new Intent(RegisterActivity.this, LoginActivity.class));
  89.                 }
  90.             }
  91.         }).addOnFailureListener(new OnFailureListener() {
  92.             @Override
  93.             public void onFailure(@NonNull Exception e) {
  94.                 Log.e("RegisterActivity", e.getMessage());
  95.             }
  96.         });
  97.     }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement