diff --git a/TMessagesProj/src/main/java/top/qwq2333/nullgram/UI.kt b/TMessagesProj/src/main/java/top/qwq2333/nullgram/UI.kt
index 197dd3fae..da2affe2b 100644
--- a/TMessagesProj/src/main/java/top/qwq2333/nullgram/UI.kt
+++ b/TMessagesProj/src/main/java/top/qwq2333/nullgram/UI.kt
@@ -23,6 +23,7 @@ import android.content.Context
import android.util.TypedValue
import android.widget.LinearLayout
import android.widget.TextView
+import android.widget.Toast
import org.telegram.messenger.AndroidUtilities
import org.telegram.messenger.LocaleController
import org.telegram.messenger.R
@@ -33,6 +34,7 @@ import org.telegram.ui.Components.EditTextBoldCursor
import org.telegram.ui.Components.LayoutHelper
import top.qwq2333.gen.Config
import top.qwq2333.nullgram.activity.ChatSettingActivity
+import java.util.regex.Pattern
fun ChatSettingActivity.createMessageFilterSetter(context: Context, resourcesProvider: Theme.ResourcesProvider? = null) {
AlertDialog.Builder(context, resourcesProvider).apply {
@@ -86,7 +88,13 @@ fun ChatSettingActivity.createMessageFilterSetter(context: Context, resourcesPro
setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null)
setPositiveButton(LocaleController.getString("Save", R.string.Save)) { _, _ ->
- Config.messageFilter = editText.text.toString()
+ runCatching {
+ if (!editText.text.isNullOrEmpty()) Pattern.compile(editText.text.toString())
+ }.onSuccess {
+ Config.messageFilter = editText.text.toString()
+ }.onFailure {
+ Toast.makeText(context, LocaleController.getString("InvalidPattern", R.string.InvalidPattern), Toast.LENGTH_SHORT).show()
+ }
}
}.show()
}
diff --git a/TMessagesProj/src/main/res/values/strings_nullgram.xml b/TMessagesProj/src/main/res/values/strings_nullgram.xml
index 86dc71b08..74c804009 100644
--- a/TMessagesProj/src/main/res/values/strings_nullgram.xml
+++ b/TMessagesProj/src/main/res/values/strings_nullgram.xml
@@ -348,4 +348,5 @@
Saving %1$d files to Download
Saving %1$d files to Download
Saving %1$d files to Download
+ Invalid Pattern