Waliul

Code

May 6th, 2021
854
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package com.reddredd.backrest;
  2.  
  3. import androidx.annotation.NonNull;
  4. import androidx.appcompat.app.AppCompatActivity;
  5.  
  6. import android.app.Dialog;
  7. import android.app.ProgressDialog;
  8. import android.content.Intent;
  9. import android.content.SharedPreferences;
  10. import android.os.Build;
  11. import android.os.Bundle;
  12. import android.text.TextUtils;
  13. import android.util.Patterns;
  14. import android.view.View;
  15. import android.view.ViewGroup;
  16. import android.widget.Button;
  17. import android.widget.CompoundButton;
  18. import android.widget.EditText;
  19. import android.widget.ProgressBar;
  20. import android.widget.RadioButton;
  21. import android.widget.TextView;
  22. import android.widget.Toast;
  23.  
  24. import com.google.android.gms.tasks.OnFailureListener;
  25. import com.google.android.gms.tasks.OnSuccessListener;
  26. import com.google.firebase.auth.AuthResult;
  27. import com.google.firebase.auth.FirebaseAuth;
  28. import com.google.firebase.auth.FirebaseUser;
  29. import com.google.firebase.database.DataSnapshot;
  30. import com.google.firebase.database.DatabaseError;
  31. import com.google.firebase.database.DatabaseReference;
  32. import com.google.firebase.database.FirebaseDatabase;
  33. import com.google.firebase.database.ValueEventListener;
  34.  
  35. import org.w3c.dom.Text;
  36.  
  37. public class signup_form extends AppCompatActivity {
  38.     EditText fullName, email, password, confirmPassword;
  39.     Button createAcBtn;
  40.     String txtEmail, txtFullName, txtPassword, txtConfirmPassword;
  41.     ProgressDialog progressDialog;
  42.     Dialog dialog, dialog_failed;
  43.     private FirebaseAuth firebaseAuth;
  44.     FirebaseDatabase firebaseDatabase;
  45.     DatabaseReference databaseReference;
  46.  
  47.     @Override
  48.     protected void onCreate(Bundle savedInstanceState) {
  49.         super.onCreate(savedInstanceState);
  50.         setContentView(R.layout.activity_signup_form);
  51.  
  52.         getSupportActionBar().setTitle("Sign Up");
  53.         getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  54.  
  55.         fullName = (EditText)findViewById(R.id.fullName);
  56.         email = (EditText)findViewById(R.id.email);
  57.         password = (EditText)findViewById(R.id.password);
  58.         confirmPassword = (EditText)findViewById(R.id.confirmPassword);
  59.         createAcBtn = findViewById(R.id.createAccountBtn);
  60.  
  61.         firebaseAuth = FirebaseAuth.getInstance();
  62.         firebaseDatabase = FirebaseDatabase.getInstance();
  63.         databaseReference = firebaseDatabase.getReference();
  64.         databaseReference.setValue("Testing");
  65.         databaseReference.child("Again").setValue("Testing");
  66.         databaseReference.child("Test");
  67.  
  68.         progressDialog = new ProgressDialog(signup_form.this);
  69.         progressDialog.setTitle("Please Wait");
  70.         progressDialog.setMessage("Creating Your Account...");
  71.         progressDialog.setCanceledOnTouchOutside(false);
  72.  
  73.         //DIALOG
  74.  
  75.         dialog = new Dialog(this);
  76.         dialog.setContentView(R.layout.dialog_signup);
  77.         if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
  78.         {
  79.             dialog.getWindow().setBackgroundDrawable(getDrawable(R.drawable.dialog_bg));
  80.         }
  81.         dialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
  82.         dialog.setCancelable(false);
  83.         dialog.getWindow().getAttributes().windowAnimations = R.style.dialog_animation;
  84.         Button okay = dialog.findViewById(R.id.okayBtn);
  85.         okay.setOnClickListener(new View.OnClickListener() {
  86.             @Override
  87.             public void onClick(View v) {
  88.                 dialog.dismiss();
  89.                 finish();
  90.  
  91.             }
  92.         });
  93.  
  94.         dialog_failed = new Dialog(this);
  95.         dialog_failed.setContentView(R.layout.dialog_signup_failed);
  96.         if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
  97.         {
  98.             dialog_failed.getWindow().setBackgroundDrawable(getDrawable(R.drawable.dialog_bg));
  99.         }
  100.         dialog_failed.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
  101.         dialog_failed.getWindow().getAttributes().windowAnimations = R.style.dialog_animation;
  102.         Button f_okay = dialog_failed.findViewById(R.id.f_okayBtn);
  103.         f_okay.setOnClickListener(new View.OnClickListener() {
  104.             @Override
  105.             public void onClick(View v) {
  106.                 dialog_failed.dismiss();
  107.             }
  108.         });
  109.  
  110.         //DIALOG FINISHED
  111.  
  112.         createAcBtn.setOnClickListener(new View.OnClickListener() {
  113.             @Override
  114.             public void onClick(View v) {
  115.  
  116.                 txtEmail = email.getText().toString().trim();
  117.                 txtFullName = fullName.getText().toString().trim();
  118.                 txtPassword = password.getText().toString().trim();
  119.                 txtConfirmPassword = confirmPassword.getText().toString().trim();
  120.  
  121.                 if(TextUtils.isEmpty(txtFullName))
  122.                 {
  123.                     fullName.setError("Please Enter Full Name");
  124.                 }
  125.                 else if(TextUtils.isEmpty(txtEmail))
  126.                 {
  127.                     email.setError("Please Enter Email");
  128.                 }
  129.                 else if(!Patterns.EMAIL_ADDRESS.matcher(txtEmail).matches())
  130.                 {
  131.                     email.setError("Invalid Email Format");
  132.                 }
  133.                 else if(TextUtils.isEmpty(txtPassword))
  134.                 {
  135.                     password.setError("Please Enter Password");
  136.                 }
  137.                 else if(txtPassword.length() < 6)
  138.                 {
  139.                     password.setError("Password has to be at least 6 characters long");
  140.                 }
  141.                 else if(TextUtils.isEmpty(txtConfirmPassword))
  142.                 {
  143.                     confirmPassword.setError("Please Confirm Password");
  144.                 }
  145.                 else if(!txtPassword.equals(txtConfirmPassword))
  146.                 {
  147.                     confirmPassword.setError("Please Enter The Same Password");
  148.                 }
  149.                 else
  150.                 {
  151.                     firebaseSignUp();
  152.                 }
  153.             }
  154.  
  155.             private void firebaseSignUp() {
  156.                 progressDialog.show();
  157.                 firebaseAuth.createUserWithEmailAndPassword(txtEmail, txtPassword)
  158.                         .addOnSuccessListener(signup_form.this, new OnSuccessListener<AuthResult>() {
  159.                             @Override
  160.                             public void onSuccess(AuthResult authResult) {
  161.                                 databaseReference.child("Name").child(firebaseAuth.getCurrentUser().getUid()).setValue(txtFullName)
  162.                                         .addOnSuccessListener(new OnSuccessListener<Void>() {
  163.                                             @Override
  164.                                             public void onSuccess(Void aVoid) {
  165.                                                 Toast.makeText(signup_form.this, "Data written successfully", Toast.LENGTH_LONG).show();
  166.                                             }
  167.                                         })
  168.                                         .addOnFailureListener(new OnFailureListener() {
  169.                                             @Override
  170.                                             public void onFailure(@NonNull Exception e) {
  171.                                                 Toast.makeText(signup_form.this, "Failed to write", Toast.LENGTH_LONG).show();
  172.                                             }
  173.                                         });
  174.                                 firebaseAuth.getCurrentUser().sendEmailVerification()
  175.                                         .addOnSuccessListener(new OnSuccessListener<Void>() {
  176.                                             @Override
  177.                                             public void onSuccess(Void aVoid) {
  178.                                                 progressDialog.dismiss();
  179.                                                 dialog.show();
  180.                                             }
  181.                                         })
  182.                                         .addOnFailureListener(new OnFailureListener() {
  183.                                             @Override
  184.                                             public void onFailure(@NonNull Exception e) {
  185.                                                 progressDialog.dismiss();
  186.                                                 TextView msg = dialog_failed.findViewById(R.id.message);
  187.                                                 msg.setText(""+e.getMessage());
  188.                                                 dialog_failed.show();
  189.                                             }
  190.                                         });
  191.                             }
  192.                         })
  193.                         .addOnFailureListener(new OnFailureListener() {
  194.                             @Override
  195.                             public void onFailure(@NonNull Exception e) {
  196.                                 progressDialog.dismiss();
  197.                                 TextView msg = dialog_failed.findViewById(R.id.message);
  198.                                 msg.setText(""+e.getMessage());
  199.                                 dialog_failed.show();
  200.                             }
  201.                         });
  202.  
  203.             }
  204.         });
  205.  
  206.     }
  207.  
  208.  
  209. }
RAW Paste Data