From bda14263bc24620c9514c019ab12bc53a8a30490 Mon Sep 17 00:00:00 2001 From: Richard Elms Date: Fri, 31 May 2024 11:20:00 +0200 Subject: [PATCH] fix for string to pattern --- .../Native/Android/NativeInterface.cs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/BugsnagUnity/Native/Android/NativeInterface.cs b/src/BugsnagUnity/Native/Android/NativeInterface.cs index 2d8902dd0..ef0f8cda7 100644 --- a/src/BugsnagUnity/Native/Android/NativeInterface.cs +++ b/src/BugsnagUnity/Native/Android/NativeInterface.cs @@ -456,7 +456,7 @@ AndroidJavaObject CreateNativeConfig(Configuration config) // set DiscardedClasses if (config.DiscardClasses != null && config.DiscardClasses.Length > 0) { - obj.Call("setDiscardClasses", GetAndroidStringSetFromArray(config.DiscardClasses)); + obj.Call("setDiscardClasses", GetAndroidRegexPatternSetFromArray(config.DiscardClasses)); } // set ProjectPackages @@ -468,7 +468,7 @@ AndroidJavaObject CreateNativeConfig(Configuration config) // set redacted keys if (config.RedactedKeys != null && config.RedactedKeys.Length > 0) { - obj.Call("setRedactedKeys", GetAndroidStringSetFromArray(config.RedactedKeys)); + obj.Call("setRedactedKeys", GetAndroidRegexPatternSetFromArray(config.RedactedKeys)); } // add unity event callback @@ -508,6 +508,20 @@ private AndroidJavaObject GetAndroidStringSetFromArray(string[] array) return set; } + private AndroidJavaObject GetAndroidRegexPatternSetFromArray(string[] array) + { + AndroidJavaObject set = new AndroidJavaObject("java.util.HashSet"); + AndroidJavaClass patternClass = new AndroidJavaClass("java.util.regex.Pattern"); + + foreach (var item in array) + { + AndroidJavaObject pattern = patternClass.CallStatic("compile", item); + set.Call("add", pattern); + } + + return set; + } + private void ConfigureNotifierInfo(AndroidJavaObject config) { using (AndroidJavaObject notifier = config.Call("getNotifier"))