From ad9d6588e8e7a91e6185c11e8824b944a610bdb5 Mon Sep 17 00:00:00 2001
From: Evan Husted <greem@greemdev.net>
Date: Sat, 1 Feb 2025 14:11:35 -0600
Subject: [PATCH] misc: chore: Collapse HLE swkbd character validation utils
 into a single class

---
 .../Applets/SoftwareKeyboard/CJKCharacterValidation.cs   | 9 ---------
 ...ericCharacterValidation.cs => CharacterValidation.cs} | 3 ++-
 src/Ryujinx/UI/Applet/SwkbdAppletDialog.axaml.cs         | 4 ++--
 3 files changed, 4 insertions(+), 12 deletions(-)
 delete mode 100644 src/Ryujinx.HLE/HOS/Applets/SoftwareKeyboard/CJKCharacterValidation.cs
 rename src/Ryujinx.HLE/HOS/Applets/SoftwareKeyboard/{NumericCharacterValidation.cs => CharacterValidation.cs} (59%)

diff --git a/src/Ryujinx.HLE/HOS/Applets/SoftwareKeyboard/CJKCharacterValidation.cs b/src/Ryujinx.HLE/HOS/Applets/SoftwareKeyboard/CJKCharacterValidation.cs
deleted file mode 100644
index 022fa9d5b..000000000
--- a/src/Ryujinx.HLE/HOS/Applets/SoftwareKeyboard/CJKCharacterValidation.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-using Ryujinx.Common.Helper;
-
-namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard
-{
-    public static class CJKCharacterValidation
-    {
-        public static bool IsCJK(char value) => Patterns.CJK.IsMatch(value.ToString());
-    }
-}
diff --git a/src/Ryujinx.HLE/HOS/Applets/SoftwareKeyboard/NumericCharacterValidation.cs b/src/Ryujinx.HLE/HOS/Applets/SoftwareKeyboard/CharacterValidation.cs
similarity index 59%
rename from src/Ryujinx.HLE/HOS/Applets/SoftwareKeyboard/NumericCharacterValidation.cs
rename to src/Ryujinx.HLE/HOS/Applets/SoftwareKeyboard/CharacterValidation.cs
index 4f61773c0..5ce8204cb 100644
--- a/src/Ryujinx.HLE/HOS/Applets/SoftwareKeyboard/NumericCharacterValidation.cs
+++ b/src/Ryujinx.HLE/HOS/Applets/SoftwareKeyboard/CharacterValidation.cs
@@ -2,8 +2,9 @@ using Ryujinx.Common.Helper;
 
 namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard
 {
-    public static class NumericCharacterValidation
+    public static class CharacterValidation
     {
         public static bool IsNumeric(char value) => Patterns.Numeric.IsMatch(value.ToString());
+        public static bool IsCJK(char value) => Patterns.CJK.IsMatch(value.ToString());
     }
 }
diff --git a/src/Ryujinx/UI/Applet/SwkbdAppletDialog.axaml.cs b/src/Ryujinx/UI/Applet/SwkbdAppletDialog.axaml.cs
index 75a9b3d41..dd5b7d9f1 100644
--- a/src/Ryujinx/UI/Applet/SwkbdAppletDialog.axaml.cs
+++ b/src/Ryujinx/UI/Applet/SwkbdAppletDialog.axaml.cs
@@ -144,12 +144,12 @@ namespace Ryujinx.Ava.UI.Controls
                 case KeyboardMode.Numeric:
                     localeText = LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.SoftwareKeyboardModeNumeric);
                     validationInfoText = string.IsNullOrEmpty(validationInfoText) ? localeText : string.Join("\n", validationInfoText, localeText);
-                    _checkInput = text => text.All(NumericCharacterValidation.IsNumeric);
+                    _checkInput = text => text.All(CharacterValidation.IsNumeric);
                     break;
                 case KeyboardMode.Alphabet:
                     localeText = LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.SoftwareKeyboardModeAlphabet);
                     validationInfoText = string.IsNullOrEmpty(validationInfoText) ? localeText : string.Join("\n", validationInfoText, localeText);
-                    _checkInput = text => text.All(value => !CJKCharacterValidation.IsCJK(value));
+                    _checkInput = text => text.All(value => !CharacterValidation.IsCJK(value));
                     break;
                 case KeyboardMode.ASCII:
                     localeText = LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.SoftwareKeyboardModeASCII);