package com.amirul.loginespressotesting; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.TextUtils; import android.util.Patterns; import android.view.KeyEvent; import android.view.View; import android.view.inputmethod.EditorInfo; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; /* * **************************************************************************** * * Created by : Md Amirul Islam on 11/9/2018 at 8.11 PM. * * Email : amirul.csejust@gmail.com * * * * Purpose: To test all element of UI * * * * Last edited by : Md Amirul Islam on 11/11/2018. * * * * Last Reviewed by : <Reviewer Name> on <mm/dd/yy> * **************************************************************************** */ public class MainActivity extends AppCompatActivity { private EditText mEmailEditText, mPasswordEditText; private TextView show; private Button btnSubmit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mEmailEditText = (EditText)findViewById(R.id.etEmailInput); mPasswordEditText = (EditText)findViewById(R.id.etPassInput); mPasswordEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if(actionId ==R.id.login || actionId == EditorInfo.IME_NULL){ login(); return true; } return false; } }); btnSubmit = (Button)findViewById(R.id.btnSubmit); btnSubmit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { login(); } }); } private void login() { /*Reset errors */ mEmailEditText.setError(null); mPasswordEditText.setError(null); /*getting value from email and pass*/ String email = mEmailEditText.getText().toString(); String password = mPasswordEditText.getText().toString(); boolean cancel = false; View focusView = null; /*check for a valid Email*/ if (TextUtils.isEmpty(email)){ mEmailEditText.setError("This field is required"); focusView = mEmailEditText; cancel = true; }else if (!isEmailVaild(email)){ mEmailEditText.setError(getString(R.string.error_invalid_email)); focusView = mEmailEditText; cancel = true; } // Check for a valid password. if (TextUtils.isEmpty(password)) { mPasswordEditText.setError(getString(R.string.error_field_required)); focusView = mPasswordEditText; cancel = true; } else if (!TextUtils.isEmpty(password) && !isPasswordValid(password)) { mPasswordEditText.setError(getString(R.string.error_invalid_password)); focusView = mPasswordEditText; cancel = true; } if (cancel) { focusView.requestFocus(); } else { if (email.equals("amir@gmail.com") && password.equals("123456")) { loginSuccessfully(email); } else { Toast.makeText(getApplicationContext(), getString(R.string.error_login_failed), Toast.LENGTH_SHORT).show(); } } } private boolean isEmailVaild(String email) { return Patterns.EMAIL_ADDRESS.matcher(email).matches(); } private boolean isPasswordValid(String password) { return password.length() > 4; } private void loginSuccessfully(String email) { Intent intent = new Intent(MainActivity.this, Welcome.class); intent.putExtra("email", email); startActivity(intent); finish(); Toast.makeText(getApplicationContext(), getString(R.string.login_successfully), Toast.LENGTH_SHORT).show(); } } //full code : https://github.com/amirul12/loginAndroidEspresso