Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.stephanie.instagramclone.Login;
- import android.content.Context;
- import android.content.Intent;
- import android.os.Bundle;
- import android.support.annotation.NonNull;
- import android.support.annotation.Nullable;
- import android.support.v7.app.AppCompatActivity;
- import android.text.TextUtils;
- import android.util.Log;
- import android.view.View;
- import android.widget.EditText;
- 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.stephanie.instagramclone.R;
- public class LoginActivity extends AppCompatActivity implements View.OnClickListener {
- private static final String TAG = "LoginActivity";
- private FirebaseAuth mAuth;
- private Context mContext;
- private ProgressBar mProgressBar;
- private EditText mEmail, mPassword;
- private TextView mPleaseWait;
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_login);
- mProgressBar = (ProgressBar) findViewById(R.id.progressBar);
- mPleaseWait = (TextView) findViewById(R.id.pleaseWait);
- mEmail = (EditText) findViewById(R.id.input_email);
- mPassword = (EditText) findViewById(R.id.input_password);
- mContext = LoginActivity.this;
- Log.d(TAG, "onCreate: started");
- mPleaseWait.setVisibility(View.GONE);
- mProgressBar.setVisibility(View.GONE);
- //Firebase Auth
- findViewById(R.id.btn_login).setOnClickListener(this);
- findViewById(R.id.link_signup).setOnClickListener(this);
- mAuth = FirebaseAuth.getInstance();
- }
- @Override
- public void onStart() {
- super.onStart();
- // Check if user is signed in (non-null) and update UI accordingly.
- FirebaseUser currentUser = mAuth.getCurrentUser();
- updateUI(currentUser);
- }
- @Override
- public void onClick(View view) {
- int i = view.getId();
- if (i == R.id.link_signup) {
- createAccount(mEmail.getText().toString(), mPassword.getText().toString());
- } else if (i == R.id.btn_login) {
- signIn(mEmail.getText().toString(), mPassword.getText().toString());
- }
- }
- private void updateUI(FirebaseUser user) {
- if (user != null) {
- //authenticated user
- } else {
- //returns to login
- startActivity(new Intent(this, LoginActivity.class));
- }
- }
- private void createAccount(String email, String password) {
- Log.e(TAG, "createAccount:" + email);
- if (!validateForm(email, password)) {
- return;
- } else {
- mProgressBar.setVisibility(View.VISIBLE);
- mPleaseWait.setVisibility(View.VISIBLE);
- }
- mAuth.createUserWithEmailAndPassword(email, password)
- .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- if (task.isSuccessful()) {
- Log.e(TAG, "createAccount: Success!");
- // update UI with the signed-in user's information
- FirebaseUser user = mAuth.getCurrentUser();
- updateUI(user);
- } else {
- Log.e(TAG, "createAccount: Fail!", task.getException());
- Toast.makeText(getApplicationContext(), "Authentication failed!", Toast.LENGTH_SHORT).show();
- updateUI(null);
- }
- }
- });
- }
- private void signIn(String email, String password) {
- Log.e(TAG, "signIn:" + email);
- if (!validateForm(email, password)) {
- return;
- } else {
- mProgressBar.setVisibility(View.VISIBLE);
- mPleaseWait.setVisibility(View.VISIBLE);
- }
- mAuth.signInWithEmailAndPassword(email, password)
- .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- if (task.isSuccessful()) {
- Log.e(TAG, "signIn: Success!");
- // update UI with the signed-in user's information
- FirebaseUser user = mAuth.getCurrentUser();
- updateUI(user);
- } else {
- Log.e(TAG, "signIn: Fail!", task.getException());
- Toast.makeText(getApplicationContext(), "Authentication failed!", Toast.LENGTH_SHORT).show();
- updateUI(null);
- }
- if (!task.isSuccessful()) {
- mPleaseWait.setText("Authentication failed!");
- }
- }
- });
- }
- private boolean validateForm(String email, String password) {
- if (TextUtils.isEmpty(email)) {
- Toast.makeText(getApplicationContext(), "Enter email address!", Toast.LENGTH_SHORT).show();
- return false;
- }
- if (TextUtils.isEmpty(password)) {
- Toast.makeText(getApplicationContext(), "Enter password!", Toast.LENGTH_SHORT).show();
- return false;
- }
- if (password.length() < 6) {
- Toast.makeText(getApplicationContext(), "Password too short, enter minimum 6 characters!", Toast.LENGTH_SHORT).show();
- return false;
- }
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement