Merge branch 'master' into devel

This commit is contained in:
Koitharu
2023-05-23 13:34:29 +03:00
4 changed files with 32 additions and 4 deletions

View File

@@ -0,0 +1,27 @@
package org.koitharu.kotatsu.settings
import okhttp3.Headers
import org.koitharu.kotatsu.R
import org.koitharu.kotatsu.core.network.CommonHeaders
import org.koitharu.kotatsu.core.util.EditTextValidator
class HeaderValidator : EditTextValidator() {
private val headers = Headers.Builder()
override fun validate(text: String): ValidationResult {
val trimmed = text.trim()
if (trimmed.isEmpty()) {
return ValidationResult.Success
}
return if (!validateImpl(trimmed)) {
ValidationResult.Failed(context.getString(R.string.invalid_value_message))
} else {
ValidationResult.Success
}
}
private fun validateImpl(value: String): Boolean = runCatching {
headers[CommonHeaders.USER_AGENT] = value
}.isSuccess
}

View File

@@ -44,7 +44,7 @@ fun PreferenceFragmentCompat.addPreferencesFromRepository(repository: RemoteMang
EditTextBindListener(
inputType = EditorInfo.TYPE_CLASS_TEXT,
hint = key.defaultValue,
validator = null,
validator = HeaderValidator(),
),
)
setTitle(R.string.user_agent)

View File

@@ -423,4 +423,5 @@
<string name="address">Address</string>
<string name="port">Port</string>
<string name="proxy">Proxy</string>
<string name="invalid_value_message">Invalid value</string>
</resources>