package com.learntodroid.firebaseauthloginregistermvvm.view; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProviders; import androidx.navigation.Navigation; import com.google.firebase.auth.FirebaseUser; import com.learntodroid.firebaseauthloginregistermvvm.R; import com.learntodroid.firebaseauthloginregistermvvm.viewmodel.LoginRegisterViewModel; public class LoginRegisterFragment extends Fragment { private EditText emailEditText; private EditText passwordEditText; private Button loginButton; private Button registerButton; private LoginRegisterViewModel loginRegisterViewModel; @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); loginRegisterViewModel = ViewModelProviders.of(this).get(LoginRegisterViewModel.class); loginRegisterViewModel.getUserLiveData().observe(this, new Observer<FirebaseUser>() { @Override public void onChanged(FirebaseUser firebaseUser) { if (firebaseUser != null) { Navigation.findNavController(getView()).navigate(R.id.action_loginRegisterFragment_to_loggedInFragment); } } }); } @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_loginregister, container, false); emailEditText = view.findViewById(R.id.fragment_loginregister_email); passwordEditText = view.findViewById(R.id.fragment_loginregister_password); loginButton = view.findViewById(R.id.fragment_loginregister_login); registerButton = view.findViewById(R.id.fragment_loginregister_register); loginButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String email = emailEditText.getText().toString(); String password = passwordEditText.getText().toString(); if (email.length() > 0 && password.length() > 0) { loginRegisterViewModel.login(email, password); } else { Toast.makeText(getContext(), "Email Address and Password Must Be Entered", Toast.LENGTH_SHORT).show(); } } }); registerButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String email = emailEditText.getText().toString(); String password = passwordEditText.getText().toString(); if (email.length() > 0 && password.length() > 0) { loginRegisterViewModel.register(email, password); } else { Toast.makeText(getContext(), "Email Address and Password Must Be Entered", Toast.LENGTH_SHORT).show(); } } }); return view; } }