Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.test.gymfit.Activites;
- import android.content.Intent;
- import androidx.annotation.NonNull;
- import androidx.appcompat.app.AppCompatActivity;
- import android.content.SharedPreferences;
- import android.os.Bundle;
- import android.preference.PreferenceManager;
- import android.view.View;
- import android.widget.Button;
- import android.widget.CheckBox;
- import android.widget.CompoundButton;
- import android.widget.EditText;
- import android.widget.ImageView;
- import android.widget.ProgressBar;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.google.android.gms.tasks.OnCompleteListener;
- import com.google.android.gms.tasks.Task;
- import com.google.firebase.auth.AuthResult;
- import com.google.firebase.auth.FirebaseAuth;
- import com.google.firebase.auth.FirebaseUser;
- import com.test.gymfit.R;
- public class LoginActivity extends AppCompatActivity {
- private SharedPreferences mPreferences;
- private SharedPreferences.Editor mEditor;
- private CheckBox mCheckBox;
- private EditText userEmail, userPassword;
- private Button logBtn;
- private ProgressBar loginProgress;
- private FirebaseAuth mAuth;
- private Intent HomeActivity;
- private ImageView loginPhoto;
- private TextView tvRegister;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_login);
- tvRegister = findViewById(R.id.tv_register);
- userEmail = findViewById(R.id.logEmail);
- userPassword = findViewById(R.id.logPassword);
- logBtn = findViewById(R.id.btnLogin);
- mCheckBox = findViewById(R.id.rememberMe);
- mPreferences = PreferenceManager.getDefaultSharedPreferences(this);
- mEditor = mPreferences.edit();
- checkSharedPreferences();
- logBtn.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- loginProgress.setVisibility(View.VISIBLE);
- logBtn.setVisibility(View.INVISIBLE);
- final String email = userEmail.getText().toString();
- final String password = userPassword.getText().toString();
- if (email.isEmpty() || password.isEmpty()) {
- showMessage("Please verify all fields");
- logBtn.setVisibility(View.VISIBLE);
- loginProgress.setVisibility(View.INVISIBLE);
- {
- if (mCheckBox.isChecked()) {
- mEditor.putString(getString(R.string.checkbox), "true");
- mEditor.commit();
- mEditor.putString(getString(R.string.email), email);
- mEditor.commit();
- mEditor.putString(getString(R.string.password), password);
- mEditor.commit();
- } else {
- mEditor.putString(getString(R.string.checkbox), "true");
- mEditor.commit();
- mEditor.putString(getString(R.string.email), email);
- mEditor.commit();
- mEditor.putString(getString(R.string.password), password);
- mEditor.commit();
- signIn(email, password);
- }
- }
- }
- });
- loginProgress = findViewById(R.id.loginProgressBar);
- mAuth = FirebaseAuth.getInstance();
- HomeActivity = new Intent(this, com.test.gymfit.Activites.Home.class);
- loginPhoto = findViewById(R.id.logUserImage);
- loginPhoto.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Intent registerActivity = new Intent(getApplicationContext(), RegisterActivity.class);
- startActivity(registerActivity);
- finish();
- }
- });
- tvRegister.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- openRegisterActivity();
- }
- });
- loginProgress.setVisibility(View.INVISIBLE);
- }
- private void checkSharedPreferences() {
- String checkbox = mPreferences.getString(getString(R.string.checkbox), "false");
- String email = mPreferences.getString(getString(R.string.email), "");
- String password = mPreferences.getString(getString(R.string.password), "");
- userEmail.setText(email);
- userPassword.setText(password);
- if (checkbox.equals("true")) {
- mCheckBox.setChecked(true);
- } else {
- mCheckBox.setChecked(false);
- }
- }
- private void openRegisterActivity() {
- Intent intent = new Intent(this, RegisterActivity.class);
- startActivity(intent);
- }
- private void signIn(String email, String password) {
- mAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- if (task.isSuccessful()) {
- loginProgress.setVisibility(View.INVISIBLE);
- logBtn.setVisibility(View.VISIBLE);
- updateUI();
- } else
- showMessage(task.getException().getMessage());
- logBtn.setVisibility(View.VISIBLE);
- loginProgress.setVisibility(View.INVISIBLE);
- }
- });
- }
- private void updateUI() {
- startActivity(HomeActivity);
- finish();
- }
- private void showMessage(String text) {
- Toast.makeText(getApplicationContext(), text, Toast.LENGTH_LONG).show();
- }
- @Override
- protected void onStart() {
- super.onStart();
- FirebaseUser user = mAuth.getCurrentUser();
- if (user != null) {
- //user is already connected, so we need to redirect him to the homepage
- updateUI();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement