diff options
author | marcinzelent <zelent.marcin@gmail.com> | 2018-04-25 13:34:54 +0200 |
---|---|---|
committer | marcinzelent <zelent.marcin@gmail.com> | 2018-04-25 13:34:54 +0200 |
commit | 4de306375a33b2abd067e65658a46d45cba5e56e (patch) | |
tree | 00a734df4dcd1d94d0916eee6a6cc1cd98aafa7d /app/src/main/java/org/marcinzelent/liberavem/SignupActivity.java | |
parent | 3812f6ccf9d5796f25f81aeea942c25b58296d01 (diff) |
Added Firebase authentication
Diffstat (limited to 'app/src/main/java/org/marcinzelent/liberavem/SignupActivity.java')
-rw-r--r-- | app/src/main/java/org/marcinzelent/liberavem/SignupActivity.java | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/app/src/main/java/org/marcinzelent/liberavem/SignupActivity.java b/app/src/main/java/org/marcinzelent/liberavem/SignupActivity.java new file mode 100644 index 0000000..280072a --- /dev/null +++ b/app/src/main/java/org/marcinzelent/liberavem/SignupActivity.java @@ -0,0 +1,107 @@ +package org.marcinzelent.liberavem; + +import android.content.Intent; +import android.os.Bundle; +import android.support.annotation.NonNull; +import android.support.v7.app.AppCompatActivity; +import android.text.TextUtils; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ProgressBar; +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; + +public class SignupActivity extends AppCompatActivity { + + private EditText inputEmail, inputPassword; + private Button btnSignIn, btnSignUp, btnResetPassword; + private ProgressBar progressBar; + private FirebaseAuth auth; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_signup); + + //Get Firebase auth instance + auth = FirebaseAuth.getInstance(); + + btnSignIn = (Button) findViewById(R.id.sign_in_button); + btnSignUp = (Button) findViewById(R.id.sign_up_button); + inputEmail = (EditText) findViewById(R.id.email); + inputPassword = (EditText) findViewById(R.id.password); + progressBar = (ProgressBar) findViewById(R.id.progressBar); + btnResetPassword = (Button) findViewById(R.id.btn_reset_password); + + btnResetPassword.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + startActivity(new Intent(SignupActivity.this, ResetPasswordActivity.class)); + } + }); + + btnSignIn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + + btnSignUp.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + String email = inputEmail.getText().toString().trim(); + String password = inputPassword.getText().toString().trim(); + + if (TextUtils.isEmpty(email)) { + Toast.makeText(getApplicationContext(), "Enter email address!", Toast.LENGTH_SHORT).show(); + return; + } + + if (TextUtils.isEmpty(password)) { + Toast.makeText(getApplicationContext(), "Enter password!", Toast.LENGTH_SHORT).show(); + return; + } + + if (password.length() < 6) { + Toast.makeText(getApplicationContext(), "Password too short, enter minimum 6 characters!", Toast.LENGTH_SHORT).show(); + return; + } + + progressBar.setVisibility(View.VISIBLE); + //create user + auth.createUserWithEmailAndPassword(email, password) + .addOnCompleteListener(SignupActivity.this, new OnCompleteListener<AuthResult>() { + @Override + public void onComplete(@NonNull Task<AuthResult> task) { + Toast.makeText(SignupActivity.this, "createUserWithEmail:onComplete:" + task.isSuccessful(), Toast.LENGTH_SHORT).show(); + progressBar.setVisibility(View.GONE); + // If sign in fails, display a message to the user. If sign in succeeds + // the auth state listener will be notified and logic to handle the + // signed in user can be handled in the listener. + if (!task.isSuccessful()) { + Toast.makeText(SignupActivity.this, "Authentication failed." + task.getException(), + Toast.LENGTH_SHORT).show(); + } else { + startActivity(new Intent(SignupActivity.this, MainActivity.class)); + finish(); + } + } + }); + + } + }); + } + + @Override + protected void onResume() { + super.onResume(); + progressBar.setVisibility(View.GONE); + } +} |