Advertisement
KristianTimmy

Untitled

Nov 14th, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.24 KB | None | 0 0
  1. package com.test.gymfit.Activites;
  2.  
  3. import android.content.Intent;
  4.  
  5. import androidx.annotation.NonNull;
  6. import androidx.appcompat.app.AppCompatActivity;
  7.  
  8. import android.content.SharedPreferences;
  9. import android.os.Bundle;
  10. import android.preference.PreferenceManager;
  11. import android.view.View;
  12. import android.widget.Button;
  13. import android.widget.CheckBox;
  14. import android.widget.CompoundButton;
  15. import android.widget.EditText;
  16. import android.widget.ImageView;
  17. import android.widget.ProgressBar;
  18. import android.widget.TextView;
  19. import android.widget.Toast;
  20.  
  21. import com.google.android.gms.tasks.OnCompleteListener;
  22. import com.google.android.gms.tasks.Task;
  23. import com.google.firebase.auth.AuthResult;
  24. import com.google.firebase.auth.FirebaseAuth;
  25. import com.google.firebase.auth.FirebaseUser;
  26. import com.test.gymfit.R;
  27.  
  28. public class LoginActivity extends AppCompatActivity {
  29.  
  30. private SharedPreferences mPreferences;
  31. private SharedPreferences.Editor mEditor;
  32. private CheckBox mCheckBox;
  33.  
  34. private EditText userEmail, userPassword;
  35. private Button logBtn;
  36. private ProgressBar loginProgress;
  37. private FirebaseAuth mAuth;
  38. private Intent HomeActivity;
  39. private ImageView loginPhoto;
  40. private TextView tvRegister;
  41.  
  42. @Override
  43. protected void onCreate(Bundle savedInstanceState) {
  44. super.onCreate(savedInstanceState);
  45. setContentView(R.layout.activity_login);
  46.  
  47. tvRegister = findViewById(R.id.tv_register);
  48. userEmail = findViewById(R.id.logEmail);
  49. userPassword = findViewById(R.id.logPassword);
  50. logBtn = findViewById(R.id.btnLogin);
  51. mCheckBox = findViewById(R.id.rememberMe);
  52. mPreferences = PreferenceManager.getDefaultSharedPreferences(this);
  53. mEditor = mPreferences.edit();
  54.  
  55. checkSharedPreferences();
  56.  
  57. logBtn.setOnClickListener(new View.OnClickListener() {
  58. @Override
  59. public void onClick(View view) {
  60. loginProgress.setVisibility(View.VISIBLE);
  61. logBtn.setVisibility(View.INVISIBLE);
  62.  
  63. final String email = userEmail.getText().toString();
  64. final String password = userPassword.getText().toString();
  65.  
  66. if (email.isEmpty() || password.isEmpty()) {
  67. showMessage("Please verify all fields");
  68. logBtn.setVisibility(View.VISIBLE);
  69. loginProgress.setVisibility(View.INVISIBLE);
  70. {
  71. if (mCheckBox.isChecked()) {
  72. mEditor.putString(getString(R.string.checkbox), "true");
  73. mEditor.commit();
  74.  
  75. mEditor.putString(getString(R.string.email), email);
  76. mEditor.commit();
  77.  
  78. mEditor.putString(getString(R.string.password), password);
  79. mEditor.commit();
  80.  
  81. } else {
  82. mEditor.putString(getString(R.string.checkbox), "true");
  83. mEditor.commit();
  84.  
  85. mEditor.putString(getString(R.string.email), email);
  86. mEditor.commit();
  87.  
  88. mEditor.putString(getString(R.string.password), password);
  89. mEditor.commit();
  90. signIn(email, password);
  91. }
  92. }
  93. }
  94. });
  95.  
  96.  
  97. loginProgress = findViewById(R.id.loginProgressBar);
  98. mAuth = FirebaseAuth.getInstance();
  99. HomeActivity = new Intent(this, com.test.gymfit.Activites.Home.class);
  100. loginPhoto = findViewById(R.id.logUserImage);
  101. loginPhoto.setOnClickListener(new View.OnClickListener() {
  102. @Override
  103. public void onClick(View view) {
  104. Intent registerActivity = new Intent(getApplicationContext(), RegisterActivity.class);
  105. startActivity(registerActivity);
  106. finish();
  107. }
  108. });
  109.  
  110. tvRegister.setOnClickListener(new View.OnClickListener() {
  111. @Override
  112. public void onClick(View view) {
  113. openRegisterActivity();
  114. }
  115. });
  116.  
  117. loginProgress.setVisibility(View.INVISIBLE);
  118.  
  119. }
  120.  
  121. private void checkSharedPreferences() {
  122. String checkbox = mPreferences.getString(getString(R.string.checkbox), "false");
  123. String email = mPreferences.getString(getString(R.string.email), "");
  124. String password = mPreferences.getString(getString(R.string.password), "");
  125.  
  126. userEmail.setText(email);
  127. userPassword.setText(password);
  128.  
  129. if (checkbox.equals("true")) {
  130. mCheckBox.setChecked(true);
  131. } else {
  132. mCheckBox.setChecked(false);
  133. }
  134. }
  135.  
  136. private void openRegisterActivity() {
  137. Intent intent = new Intent(this, RegisterActivity.class);
  138. startActivity(intent);
  139. }
  140.  
  141. private void signIn(String email, String password) {
  142.  
  143. mAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
  144. @Override
  145. public void onComplete(@NonNull Task<AuthResult> task) {
  146.  
  147. if (task.isSuccessful()) {
  148.  
  149. loginProgress.setVisibility(View.INVISIBLE);
  150. logBtn.setVisibility(View.VISIBLE);
  151. updateUI();
  152.  
  153. } else
  154. showMessage(task.getException().getMessage());
  155. logBtn.setVisibility(View.VISIBLE);
  156. loginProgress.setVisibility(View.INVISIBLE);
  157.  
  158.  
  159. }
  160. });
  161.  
  162.  
  163. }
  164.  
  165. private void updateUI() {
  166.  
  167. startActivity(HomeActivity);
  168. finish();
  169. }
  170.  
  171. private void showMessage(String text) {
  172.  
  173. Toast.makeText(getApplicationContext(), text, Toast.LENGTH_LONG).show();
  174. }
  175.  
  176.  
  177. @Override
  178. protected void onStart() {
  179. super.onStart();
  180.  
  181. FirebaseUser user = mAuth.getCurrentUser();
  182.  
  183. if (user != null) {
  184. //user is already connected, so we need to redirect him to the homepage
  185. updateUI();
  186.  
  187.  
  188. }
  189.  
  190. }
  191. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement