Fix domain validator

This commit is contained in:
Koitharu
2023-04-17 14:11:35 +03:00
parent 5895a20af1
commit 1cf36e1b41

View File

@@ -1,11 +1,14 @@
package org.koitharu.kotatsu.settings
import okhttp3.HttpUrl
import okhttp3.internal.toCanonicalHost
import org.koitharu.kotatsu.R
import org.koitharu.kotatsu.utils.EditTextValidator
class DomainValidator : EditTextValidator() {
private val urlBuilder = HttpUrl.Builder()
override fun validate(text: String): ValidationResult {
val trimmed = text.trim()
if (trimmed.isEmpty()) {
@@ -18,13 +21,7 @@ class DomainValidator : EditTextValidator() {
}
}
private fun checkCharacters(value: String): Boolean {
for (i in value.indices) {
val c = value[i]
if (c !in '\u0020'..'\u007e') {
return false
}
}
return true
}
private fun checkCharacters(value: String): Boolean = runCatching {
urlBuilder.host(value)
}.isSuccess
}