diff --git a/src/all/batoto/build.gradle b/src/all/batoto/build.gradle index 88e7ea146..e60397b34 100644 --- a/src/all/batoto/build.gradle +++ b/src/all/batoto/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Bato.to' extClass = '.BatoToFactory' - extVersionCode = 55 + extVersionCode = 56 isNsfw = true } diff --git a/src/all/batoto/src/eu/kanade/tachiyomi/extension/all/batoto/BatoTo.kt b/src/all/batoto/src/eu/kanade/tachiyomi/extension/all/batoto/BatoTo.kt index 3ba763adb..85203d64a 100644 --- a/src/all/batoto/src/eu/kanade/tachiyomi/extension/all/batoto/BatoTo.kt +++ b/src/all/batoto/src/eu/kanade/tachiyomi/extension/all/batoto/BatoTo.kt @@ -2,7 +2,12 @@ package eu.kanade.tachiyomi.extension.all.batoto import android.app.Application import android.content.SharedPreferences +import android.text.Editable +import android.text.TextWatcher +import android.widget.Button +import android.widget.Toast import androidx.preference.CheckBoxPreference +import androidx.preference.EditTextPreference import androidx.preference.ListPreference import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.extension.BuildConfig @@ -87,9 +92,49 @@ open class BatoTo( "You might also want to clear the database in advanced settings." setDefaultValue(false) } + val removeCustomPref = EditTextPreference(screen.context).apply { + key = "${REMOVE_TITLE_CUSTOM_PREF}_$lang" + title = "Custom regex to be removed from title" + summary = customRemoveTitle() + setDefaultValue("") + + val validate = { str: String -> + runCatching { Regex(str) } + .map { true to "" } + .getOrElse { false to it.message } + } + + setOnBindEditTextListener { editText -> + editText.addTextChangedListener( + object : TextWatcher { + override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {} + override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {} + + override fun afterTextChanged(editable: Editable?) { + editable ?: return + val text = editable.toString() + val valid = validate(text) + editText.error = if (!valid.first) valid.second else null + editText.rootView.findViewById