Skip to content

Commit 4c15166

Browse files
UNT-T21169 - Day4 - Bugfix/Login - ForgotPassword Issue
Fix Forgot Password Click not working Fix Login Screen Password Check Add Validator.kt to perform Validations
1 parent bff045f commit 4c15166

File tree

2 files changed

+26
-5
lines changed

2 files changed

+26
-5
lines changed

app/src/main/java/simform/gitexcercise/android/LoginActivity.kt

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import android.widget.Toast
66
import androidx.appcompat.app.AppCompatActivity
77
import simform.gitexcercise.android.databinding.ActivityLoginBinding
88
import simform.gitexcercise.android.validation.Validator
9+
import simform.gitexcercise.android.validation.Validator.ValidLogin
910

1011
class 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

app/src/main/java/simform/gitexcercise/android/validation/Validator.kt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff 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

0 commit comments

Comments
 (0)