diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
index 70cde9128..c1e5d711d 100644
--- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
+++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
@@ -93,6 +93,7 @@ import exh.util.toAnnotatedString
import kotlinx.coroutines.Job
import kotlinx.coroutines.launch
import logcat.LogPriority
+import okhttp3.Headers
import rikka.sui.Sui
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
@@ -330,6 +331,13 @@ class SettingsAdvancedScreen : SearchableSettings {
context.toast(R.string.error_user_agent_string_blank)
return@EditTextPreference false
}
+ try {
+ // OkHttp checks for valid values internally
+ Headers.Builder().add("User-Agent", it)
+ } catch (_: IllegalArgumentException) {
+ context.toast(R.string.error_user_agent_string_invalid)
+ return@EditTextPreference false
+ }
context.toast(R.string.requires_app_restart)
true
},
diff --git a/i18n/src/main/res/values/strings.xml b/i18n/src/main/res/values/strings.xml
index 0bad5bc2d..8e1d31d12 100755
--- a/i18n/src/main/res/values/strings.xml
+++ b/i18n/src/main/res/values/strings.xml
@@ -498,6 +498,7 @@
DNS over HTTPS (DoH)
Default user agent string
User agent string can not be blank
+ Invalid user agent string
Reset default user agent string
Requires app restart to take effect
Cookies cleared