From b5d9607e8e65a89b138f434397ebf5fb0e999b4d Mon Sep 17 00:00:00 2001 From: ShirkNeko <109797057+ShirkNeko@users.noreply.github.com> Date: Fri, 26 Sep 2025 20:14:27 +0800 Subject: [PATCH] manager: Switch to matching mode to match the zygisk module - bump dependencies --- .../java/com/sukisu/ultra/ui/util/KsuCli.kt | 41 +++++++++++++------ manager/gradle/libs.versions.toml | 10 ++--- 2 files changed, 34 insertions(+), 17 deletions(-) diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/util/KsuCli.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/util/KsuCli.kt index 1c1b0709..847e916f 100644 --- a/manager/app/src/main/java/com/sukisu/ultra/ui/util/KsuCli.kt +++ b/manager/app/src/main/java/com/sukisu/ultra/ui/util/KsuCli.kt @@ -557,19 +557,36 @@ fun getKpmVersion(): String { fun getZygiskImplement(): String { val shell = getRootShell() - val zygiskPath = "/data/adb/modules/zygisksu" - val rezygiskPath = "/data/adb/modules/rezygisk" - val result = if (ShellUtils.fastCmdResult(shell, "test -f $zygiskPath/module.prop && test ! -f $zygiskPath/disable")) { - ShellUtils.fastCmd(shell, "grep '^name=' $zygiskPath/module.prop | cut -d'=' -f2") - } else if (ShellUtils.fastCmdResult(shell, "test -f $rezygiskPath/module.prop && test ! -f $rezygiskPath/disable")) { - ShellUtils.fastCmd(shell, "grep '^name=' $rezygiskPath/module.prop | cut -d'=' -f2") - } else { - "None" - } - Log.i(TAG, "Zygisk implement: $result") - return result -} + val modulesPath = "/data/adb/modules" + return try { + val moduleDirs = shell.newJob() + .add("ls $modulesPath") + .to(ArrayList(), null) + .exec() + .out + + moduleDirs.firstNotNullOfOrNull { moduleName -> + if (!moduleName.matches(Regex(".*[a-zA-Z]*zygisk[a-zA-Z]*.*", RegexOption.IGNORE_CASE))) { + return@firstNotNullOfOrNull null + } + + if (moduleName.contains("lsposed", ignoreCase = true)) { + return@firstNotNullOfOrNull null + } + + val modulePath = "$modulesPath/$moduleName" + val isEnabled = ShellUtils.fastCmdResult(shell, "test -f $modulePath/module.prop && test ! -f $modulePath/disable") + if (!isEnabled) return@firstNotNullOfOrNull null + ShellUtils.fastCmd(shell, "grep '^name=' $modulePath/module.prop | cut -d'=' -f2") + .takeIf { it.isNotBlank() } + } ?: "None" + } catch (_: Exception) { + "None" + }.also { result -> + Log.i(TAG, "Zygisk implement: $result") + } +} fun getUidScannerDaemonPath(): String { return ksuApp.applicationInfo.nativeLibraryDir + File.separator + "libuid_scanner.so" } diff --git a/manager/gradle/libs.versions.toml b/manager/gradle/libs.versions.toml index d846e972..e2f419c2 100644 --- a/manager/gradle/libs.versions.toml +++ b/manager/gradle/libs.versions.toml @@ -4,9 +4,9 @@ agp = "8.13.0" gson = "2.13.2" kotlin = "2.2.20" ksp = "2.2.20-2.0.2" -compose-bom = "2025.09.00" +compose-bom = "2025.09.01" lifecycle = "2.9.4" -navigation = "2.9.4" +navigation = "2.9.5" activity-compose = "1.11.0" kotlinx-coroutines = "1.10.2" coil-compose = "2.7.0" @@ -19,9 +19,9 @@ parcelablelist = "2.0.1" libsu = "6.0.0" apksign = "1.4" cmaker = "1.2" -compose-material = "1.9.1" -compose-material3 = "1.3.2" -compose-ui = "1.9.1" +compose-material = "1.9.2" +compose-material3 = "1.4.0" +compose-ui = "1.9.2" documentfile = "1.1.0" mmrl = "2bb00b3c2b"