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