Advertisement
Guest User

1

a guest
Dec 14th, 2019
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.28 KB | None | 0 0
  1. import androidx.annotation.NonNull;
  2. import androidx.appcompat.app.AppCompatActivity;
  3.  
  4. import android.app.ProgressDialog;
  5. import android.content.Intent;
  6. import android.os.Bundle;
  7. import android.util.Patterns;
  8. import android.view.View;
  9. import android.widget.Button;
  10. import android.widget.EditText;
  11. import android.widget.TextView;
  12. import android.widget.Toast;
  13.  
  14. import com.google.android.gms.tasks.OnCompleteListener;
  15. import com.google.android.gms.tasks.Task;
  16. import com.google.firebase.auth.AuthResult;
  17. import com.google.firebase.auth.FirebaseAuth;
  18. import com.google.firebase.auth.FirebaseUser;
  19.  
  20. public class MainActivity extends AppCompatActivity {
  21.  
  22. private EditText Name;
  23. private EditText Password;
  24. private TextView Info, tvTitle;
  25. private Button Login,etRegister;
  26. private int counter = 5;
  27. private TextView ForgotPassword;
  28.  
  29. private FirebaseAuth firebaseAuth;
  30. private ProgressDialog progressDialog;
  31.  
  32.  
  33. @Override
  34. protected void onCreate(Bundle savedInstanceState) {
  35. super.onCreate(savedInstanceState);
  36. setContentView(R.layout.activity_main);
  37. setUpView();
  38.  
  39.  
  40.  
  41. Info.setText("No of attempts remaning : 5");
  42.  
  43. firebaseAuth = FirebaseAuth.getInstance();
  44. progressDialog = new ProgressDialog(this);
  45.  
  46. FirebaseUser user = firebaseAuth.getCurrentUser();
  47.  
  48.  
  49. if (user != null){
  50.  
  51. startActivity(new Intent(MainActivity.this, ThirdActivity.class));
  52. finish();
  53. }
  54.  
  55. Login.setOnClickListener(new View.OnClickListener() {
  56. @Override
  57. public void onClick(View v) {
  58.  
  59. if (userLogin())
  60. validate(Name.getText().toString().trim(), Password.getText().toString().trim());
  61. }
  62. });
  63.  
  64.  
  65. ForgotPassword.setOnClickListener(new View.OnClickListener() {
  66. @Override
  67. public void onClick(View v) {
  68. finish();
  69. startActivity(new Intent(MainActivity.this, PasswordActivity.class));
  70. }
  71. });
  72.  
  73.  
  74. etRegister.setOnClickListener(new View.OnClickListener() {
  75. @Override
  76. public void onClick(View v) {
  77. finish();
  78. startActivity(new Intent(MainActivity.this, RegistrationActivity.class));
  79.  
  80. }
  81. });
  82.  
  83. }
  84.  
  85. /*private void validate(String userName, String userPassword){
  86.  
  87. if (userName.equals("Admin") && userPassword.equals("123")){
  88. Intent intent = new Intent(MainActivity.this, SecondActivity.class );
  89. startActivity(intent);
  90. }else{
  91. counter--;
  92.  
  93. Info.setText("No of attempts remaining : "+ String.valueOf(counter));
  94.  
  95. if (counter == 0){
  96. Login.setEnabled(false);
  97. }
  98. }
  99. }
  100. */
  101.  
  102.  
  103. private void validate(String userName, String userPassword){
  104.  
  105. progressDialog.setMessage("Verifing");
  106. progressDialog.show();
  107.  
  108. firebaseAuth.signInWithEmailAndPassword(userName, userPassword).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
  109. @Override
  110. public void onComplete(@NonNull Task<AuthResult> task) {
  111.  
  112. if (task.isSuccessful()){
  113. progressDialog.dismiss();
  114.  
  115. /* Mail verification use na kore eita use korbo
  116.  
  117. Toast.makeText(MainActivity.this, "Login Successfull", Toast.LENGTH_SHORT).show();
  118. startActivity(new Intent(MainActivity.this, SecondActivity.class));*/
  119.  
  120. EmailVerification();
  121.  
  122. }else {
  123. Toast.makeText(getApplicationContext(), task.getException().getMessage(), Toast.LENGTH_SHORT).show();
  124. // Toast.makeText(MainActivity.this, "Login Failed", Toast.LENGTH_SHORT).show();
  125. counter--;
  126.  
  127.  
  128. Info.setText("No of attempts remaining : "+ String.valueOf(counter));
  129.  
  130. progressDialog.dismiss();
  131.  
  132. if (counter == 0){
  133. Login.setEnabled(false);
  134. }
  135.  
  136. }
  137. }
  138. });
  139. }
  140.  
  141.  
  142. private void EmailVerification(){
  143. FirebaseUser firebaseUser = firebaseAuth.getInstance().getCurrentUser();
  144. Boolean emailflag = firebaseUser.isEmailVerified();
  145.  
  146. //startActivity(new Intent(MainActivity.this, SecondActivity.class));
  147.  
  148. if (emailflag){
  149. finish();
  150. startActivity(new Intent(MainActivity.this, SecondActivity.class));
  151. }else {
  152. Toast.makeText(MainActivity.this, "Plese verify Email", Toast.LENGTH_SHORT).show();
  153. firebaseAuth.signOut();
  154. }
  155. }
  156.  
  157.  
  158. private void setUpView(){
  159.  
  160. tvTitle = findViewById(R.id.tvTitle);
  161. Name = findViewById(R.id.etName);
  162. Password = findViewById(R.id.etPassword);
  163. Info = findViewById(R.id.info);
  164. Login = findViewById(R.id.btnLogin);
  165. etRegister = findViewById(R.id.tvRegister);
  166. ForgotPassword = findViewById(R.id.tvForgotPassword);
  167. }
  168.  
  169.  
  170.  
  171. private Boolean userLogin() {
  172.  
  173. setUpView();
  174.  
  175. Boolean result = false;
  176.  
  177. String email = Name.getText().toString().trim();
  178. String password = Password.getText().toString().trim();
  179.  
  180. if (email.isEmpty()) {
  181. Name.setError("Email is required");
  182. Name.requestFocus();
  183. progressDialog.dismiss();
  184. return false;
  185.  
  186. }
  187.  
  188. else if (!Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
  189. Name.setError("Please enter a valid email");
  190. Name.requestFocus();
  191. progressDialog.dismiss();
  192. return false;
  193. }
  194.  
  195. else if (password.isEmpty()) {
  196. Password.setError("Password is required");
  197. Password.requestFocus();
  198. progressDialog.dismiss();
  199. return false;
  200.  
  201. }
  202.  
  203. else if (password.length() < 6) {
  204. Password.setError("password is too short");
  205. Password.requestFocus();
  206. progressDialog.dismiss();
  207. return false;
  208.  
  209. }else {
  210. result = true;
  211. }
  212. return result;
  213.  
  214. }
  215. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement