File tree Expand file tree Collapse file tree 2 files changed +26
-5
lines changed
app/src/main/java/simform/gitexcercise/android Expand file tree Collapse file tree 2 files changed +26
-5
lines changed Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ import android.widget.Toast
66import androidx.appcompat.app.AppCompatActivity
77import simform.gitexcercise.android.databinding.ActivityLoginBinding
88import simform.gitexcercise.android.validation.Validator
9+ import simform.gitexcercise.android.validation.Validator.ValidLogin
910
1011class LoginActivity : AppCompatActivity () {
1112
@@ -30,19 +31,23 @@ class LoginActivity : AppCompatActivity() {
3031 private fun performLogin () = with (binding) {
3132 val txtEmail = etEmail.text.trim().toString()
3233 val txtPassword = etPassword.text.trim().toString()
33- if (Validator .isValidEmail( txtEmail)) {
34- if ( Validator .isValidPassword(txtPassword)) {
34+ when (Validator .isValidLogin(email = txtEmail, password = txtPassword )) {
35+ ValidLogin . VALID -> {
3536 Toast .makeText(
3637 this @LoginActivity,
3738 getString(R .string.msg_login_successfully),
3839 Toast .LENGTH_SHORT
3940 ).show()
4041 gotoProfile()
41- } else {
42+ }
43+
44+ ValidLogin .INVALID_EMAIL -> {
45+ etEmail.error = getString(R .string.errr_valid_email)
46+ }
47+
48+ ValidLogin .INVALID_PASSWORD -> {
4249 etPassword.error = getString(R .string.err_password_8_chars)
4350 }
44- } else {
45- etEmail.error = getString(R .string.errr_valid_email)
4651 }
4752 }
4853
Original file line number Diff line number Diff line change @@ -7,6 +7,22 @@ object Validator {
77 const val MAX_LENGTH = 16
88 }
99
10+ enum class ValidLogin {
11+ VALID , INVALID_EMAIL , INVALID_PASSWORD
12+ }
13+
14+ fun isValidLogin (email : String , password : String ): ValidLogin {
15+ return if (isValidEmail(email)) {
16+ return if (isValidPassword(password)) {
17+ ValidLogin .VALID
18+ } else {
19+ ValidLogin .INVALID_PASSWORD
20+ }
21+ } else {
22+ ValidLogin .INVALID_EMAIL
23+ }
24+ }
25+
1026 fun isValidEmail (email : String ) =
1127 email.isNotEmpty() && android.util.Patterns .EMAIL_ADDRESS .matcher(email).matches()
1228
You can’t perform that action at this time.
0 commit comments