Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class LoginActivity extends AppCompatActivity {
- private static final String TAG = "LoginActivity";
- private FirebaseAuth.AuthStateListener mAuthListener;
- private TextView mRegister;
- private EditText mEmail, mPassword;
- private Button mLogin;
- private ProgressBar mProgressBar;
- private ImageView mLogo;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_login);
- mRegister = findViewById(R.id.link_register);
- mEmail = findViewById(R.id.input_email);
- mPassword = findViewById(R.id.input_password);
- mLogin = findViewById(R.id.btn_login);
- mProgressBar = findViewById(R.id.progressBar);
- mLogo = findViewById(R.id.logo);
- initImageLoader();
- initProgressBar();
- setupFirebaseAuth();
- init();
- }
- private void init() {
- mLogin.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- //check if the fields are filled out
- if (!isEmpty(mEmail.getText().toString())
- && !isEmpty(mPassword.getText().toString())) {
- Log.d(TAG, "onClick: attempting to authenticate.");
- showProgressBar();
- FirebaseAuth.getInstance().signInWithEmailAndPassword(mEmail.getText().toString(),
- mPassword.getText().toString())
- .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- hideProgressBar();
- }
- }).addOnFailureListener(new OnFailureListener() {
- @Override
- public void onFailure(@NonNull Exception e) {
- Toast.makeText(LoginActivity.this, "Authentication Failed", Toast.LENGTH_SHORT).show();
- hideProgressBar();
- }
- });
- } else {
- Toast.makeText(LoginActivity.this, "You didn't fill in all the fields.", Toast.LENGTH_SHORT).show();
- }
- }
- });
- mRegister.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Log.d(TAG, "onClick: Navigating to Register Screen");
- Intent intent = new Intent(LoginActivity.this, RegisterActivity.class);
- startActivity(intent);
- }
- });
- UniversalImageLoader.setImage("assets://shopping.png", mLogo);
- hideSoftKeyboard();
- }
- private void initImageLoader() {
- UniversalImageLoader imageLoader = new UniversalImageLoader(LoginActivity.this);
- ImageLoader.getInstance().init(imageLoader.getConfig());
- }
- private boolean isEmpty(String string) {
- return string.equals("");
- }
- private void showProgressBar() {
- mProgressBar.setVisibility(View.VISIBLE);
- }
- private void hideProgressBar() {
- if (mProgressBar.getVisibility() == View.VISIBLE) {
- mProgressBar.setVisibility(View.INVISIBLE);
- }
- }
- private void initProgressBar() {
- mProgressBar = (ProgressBar) findViewById(R.id.progressBar);
- mProgressBar.setVisibility(View.INVISIBLE);
- }
- private void hideSoftKeyboard() {
- this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
- }
- /*----------------------------- Firebase ---------------------------------*/
- private void setupFirebaseAuth() {
- Log.d(TAG, "setupFirebaseAuth: started");
- mAuthListener = new FirebaseAuth.AuthStateListener() {
- @Override
- public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
- FirebaseUser user = firebaseAuth.getCurrentUser();
- if (user != null) {
- //check if email is verified
- if (user.isEmailVerified()) {
- Log.d(TAG, "onAuthStateChanged: signed_in: " + user.getUid());
- Toast.makeText(LoginActivity.this, "Authenticated with: " + user.getEmail(), Toast.LENGTH_SHORT).show();
- Intent intent = new Intent(LoginActivity.this, SearchActivity.class);
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
- startActivity(intent);
- finish();
- } else {
- Toast.makeText(LoginActivity.this, "Email is not Verified\nCheck your Inbox", Toast.LENGTH_SHORT).show();
- FirebaseAuth.getInstance().signOut();
- }
- } else {
- // User is signed out
- Log.d(TAG, "onAuthStateChanged: signed_out");
- }
- // ...
- }
- };
- }
- @Override
- public void onStart() {
- super.onStart();
- FirebaseAuth.getInstance().addAuthStateListener(mAuthListener);
- }
- @Override
- public void onStop() {
- super.onStop();
- if (mAuthListener != null) {
- FirebaseAuth.getInstance().removeAuthStateListener(mAuthListener);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement