From d8ce238c37e413ff33844828a1294aa3fabe7c39 Mon Sep 17 00:00:00 2001 From: ShirkNeko <109797057+ShirkNeko@users.noreply.github.com> Date: Tue, 20 May 2025 16:10:12 +0800 Subject: [PATCH] Add a formatting string for the update list #2556 (#2597) Fix module update failures caused by spaces and other non Linux readable characters Signed-off-by: ShirkNeko <109797057+ShirkNeko@users.noreply.github.com> --- .../me/weishu/kernelsu/ui/viewmodel/ModuleViewModel.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/manager/app/src/main/java/me/weishu/kernelsu/ui/viewmodel/ModuleViewModel.kt b/manager/app/src/main/java/me/weishu/kernelsu/ui/viewmodel/ModuleViewModel.kt index 928d5ab1..55f863ce 100644 --- a/manager/app/src/main/java/me/weishu/kernelsu/ui/viewmodel/ModuleViewModel.kt +++ b/manager/app/src/main/java/me/weishu/kernelsu/ui/viewmodel/ModuleViewModel.kt @@ -129,6 +129,10 @@ class ModuleViewModel : ViewModel() { } } + private fun sanitizeVersionString(version: String): String { + return version.replace(Regex("[^a-zA-Z0-9.\\-_]"), "_") + } + fun checkUpdate(m: ModuleInfo): Triple { val empty = Triple("", "", "") if (m.updateJson.isEmpty() || m.remove || m.update || !m.enabled) { @@ -158,7 +162,8 @@ class ModuleViewModel : ViewModel() { JSONObject(result) }.getOrNull() ?: return empty - val version = updateJson.optString("version", "") + var version = updateJson.optString("version", "") + version = sanitizeVersionString(version) val versionCode = updateJson.optInt("versionCode", 0) val zipUrl = updateJson.optString("zipUrl", "") val changelog = updateJson.optString("changelog", "") @@ -168,4 +173,4 @@ class ModuleViewModel : ViewModel() { return Triple(zipUrl, version, changelog) } -} \ No newline at end of file +}