Skip to content
Snippets Groups Projects
Verified Commit 4802268e authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Fixes crash from #110

parent 3444dbf8
Branches
Tags
No related merge requests found
Pipeline #
......@@ -102,25 +102,25 @@ class AccountEditActivity : DaggerAppCompatActivity() {
}
nameValidator = object : TextValidator(
nameWrapper::setError, resources.getString(R.string.hint_invalid_name)
this, nameWrapper::setError, resources.getString(R.string.hint_invalid_name)
) {
override fun validate(text: Editable) = text.isNotBlank()
}
hostValidator = object : TextValidator(
hostWrapper::setError, resources.getString(R.string.hint_invalid_host)
this, hostWrapper::setError, resources.getString(R.string.hint_invalid_host)
) {
override fun validate(text: Editable) = text.toString().matches(Patterns.DOMAIN_NAME)
}
portValidator = object : TextValidator(
portWrapper::setError, resources.getString(R.string.hint_invalid_port)
this, portWrapper::setError, resources.getString(R.string.hint_invalid_port)
) {
override fun validate(text: Editable) = text.toString().toIntOrNull() in (0 until 65536)
}
userValidator = object : TextValidator(
userWrapper::setError, resources.getString(R.string.hint_invalid_user)
this, userWrapper::setError, resources.getString(R.string.hint_invalid_user)
) {
override fun validate(text: Editable) = text.isNotBlank()
}
......
......@@ -71,7 +71,7 @@ class AccountSetupConnectionSlide : SlideFragment() {
val view = inflater.inflate(R.layout.setup_account_connection, container, false)
ButterKnife.bind(this, view)
hostValidator = object : TextValidator(
hostWrapper::setError, resources.getString(R.string.hint_invalid_host)
requireActivity(), hostWrapper::setError, resources.getString(R.string.hint_invalid_host)
) {
override fun validate(text: Editable) =
text.toString().matches(Patterns.DOMAIN_NAME)
......@@ -79,7 +79,7 @@ class AccountSetupConnectionSlide : SlideFragment() {
override fun onChanged() = updateValidity()
}
portValidator = object : TextValidator(
portWrapper::setError, resources.getString(R.string.hint_invalid_port)
requireActivity(), portWrapper::setError, resources.getString(R.string.hint_invalid_port)
) {
override fun validate(text: Editable) = text.toString().toIntOrNull() in (0 until 65536)
......
......@@ -60,7 +60,7 @@ class AccountSetupNameSlide : SlideFragment() {
val view = inflater.inflate(R.layout.setup_account_name, container, false)
ButterKnife.bind(this, view)
nameValidator = object : TextValidator(
nameWrapper::setError, resources.getString(R.string.hint_invalid_name)
requireActivity(), nameWrapper::setError, resources.getString(R.string.hint_invalid_name)
) {
override fun validate(text: Editable) = text.isNotBlank()
......
......@@ -69,7 +69,7 @@ class AccountSetupUserSlide : SlideFragment() {
val view = inflater.inflate(R.layout.setup_account_user, container, false)
ButterKnife.bind(this, view)
userValidator = object : TextValidator(
userWrapper::setError, resources.getString(R.string.hint_invalid_user)
requireActivity(), userWrapper::setError, resources.getString(R.string.hint_invalid_user)
) {
override fun validate(text: Editable) = text.isNotBlank()
......
......@@ -80,7 +80,7 @@ class UserSetupIdentitySlide : SlideFragment() {
val view = inflater.inflate(R.layout.setup_user_identity, container, false)
ButterKnife.bind(this, view)
nickValidator = object : TextValidator(
nickWrapper::setError, resources.getString(R.string.hint_invalid_nick)
requireActivity(), nickWrapper::setError, resources.getString(R.string.hint_invalid_nick)
) {
override fun validate(text: Editable) = text.isNotEmpty() && text.matches(Patterns.IRC_NICK)
......
......@@ -124,14 +124,14 @@ class UserSetupNetworkSlide : SlideFragment() {
val view = inflater.inflate(R.layout.setup_user_network, container, false)
ButterKnife.bind(this, view)
nameValidator = object : TextValidator(
nameWrapper::setError, resources.getString(R.string.hint_invalid_name)
requireActivity(), nameWrapper::setError, resources.getString(R.string.hint_invalid_name)
) {
override fun validate(text: Editable) = text.isNotBlank()
override fun onChanged() = updateValidity()
}
hostValidator = object : TextValidator(
hostWrapper::setError, resources.getString(R.string.hint_invalid_host)
requireActivity(), hostWrapper::setError, resources.getString(R.string.hint_invalid_host)
) {
override fun validate(text: Editable) =
text.toString().matches(Patterns.DOMAIN_NAME)
......@@ -139,7 +139,7 @@ class UserSetupNetworkSlide : SlideFragment() {
override fun onChanged() = updateValidity()
}
portValidator = object : TextValidator(
portWrapper::setError, resources.getString(R.string.hint_invalid_port)
requireActivity(), portWrapper::setError, resources.getString(R.string.hint_invalid_port)
) {
override fun validate(text: Editable) = text.toString().toIntOrNull() in (0 until 65536)
......
......@@ -19,14 +19,18 @@
package de.kuschku.quasseldroid.util
import android.app.Activity
import android.text.Editable
import android.text.TextWatcher
abstract class TextValidator(private val errorListener: (String?) -> Unit,
abstract class TextValidator(private val activity: Activity,
private val errorListener: (String?) -> Unit,
private val error: String) : TextWatcher {
override fun afterTextChanged(p0: Editable) {
isValid = validate(p0)
errorListener(if (isValid) null else error)
activity.runOnUiThread {
errorListener(if (isValid) null else error)
}
onChanged()
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment