Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.content.Intent;
- import android.os.Bundle;
- import android.app.Activity;
- import android.support.annotation.NonNull;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- 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;
- public class GetStartedActivity extends Activity {
- private EditText mEmailEditText;
- private EditText mPasswordEditText;
- private Button mLoginButton;
- private String mEmail;
- private String mPassword;
- private FirebaseAuth mAuth;
- private FirebaseAuth.AuthStateListener mAuthListener;
- private TextView mCreateTextView;
- /*LIFE CYCLE methods */
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_get_started);
- initializeViews();
- mAuth = FirebaseAuth.getInstance();
- setFirebaseAuthListener();
- setLoginButtonListener();
- setCreateTextViewListener();
- }
- @Override
- public void onStart() {
- super.onStart();
- mAuth.addAuthStateListener(mAuthListener);
- }
- @Override
- public void onStop() {
- super.onStop();
- if (mAuthListener != null) {
- mAuth.removeAuthStateListener(mAuthListener);
- }
- }
- //initialize all the views
- public void initializeViews(){
- mEmailEditText = (EditText)findViewById(R.id.get_started_email);
- mPasswordEditText = (EditText)findViewById(R.id.get_started_password);
- mLoginButton = (Button)findViewById(R.id.get_started_login);
- mCreateTextView = (TextView)findViewById(R.id.get_started_create);
- }
- //get text from edit text views
- public User getTextFromViews(){
- mEmail = mEmailEditText.getText().toString();
- mPassword = mPasswordEditText.getText().toString();
- User user = new User();
- user.setEmail(mEmail);
- user.setPassword(mPassword);
- return user;
- }
- //listener for login button
- public void setLoginButtonListener(){
- mLoginButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- User user = getTextFromViews();
- //check for active network before attempting to authenticate user
- if(NetworkUtil.activeNetworkCheck(getApplication()) == true){
- loginUserWithFirebase(user, mAuth);
- Log.i("Network Status: ", "Active");
- }
- else{
- Toast.makeText(getApplicationContext(), "No Active Network, This app requires a network connection"
- , Toast.LENGTH_SHORT).show();
- Log.i("Network Status: ", "Inactive");
- }
- }
- });
- }
- //firebase authentication listener
- public void setFirebaseAuthListener(){
- mAuthListener = new FirebaseAuth.AuthStateListener() {
- @Override
- public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
- }
- };
- }
- //login an existing user using firebase authentication
- public void loginUserWithFirebase(User user, FirebaseAuth auth){
- auth.signInWithEmailAndPassword(user.getEmail(), user.getPassword())
- .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- if(task.isSuccessful()){
- Log.i("Authentication", task.isSuccessful() + "");
- Toast.makeText(getApplicationContext(),
- getResources().getString(R.string.authentication_success),
- Toast.LENGTH_LONG).show();
- }
- if(!task.isSuccessful()){
- Log.i("Authentication", task.isSuccessful() + "");
- Toast.makeText(getApplicationContext(),
- getResources().getString(R.string.authentication_failed),
- Toast.LENGTH_LONG).show();
- }
- }
- });
- }
- public void setCreateTextViewListener(){
- mCreateTextView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement