manager: Optimized import, optimized all libsu shell calls, and fixed WebUI memory leaks (#369)
* manager: simply optimize * manager: optimize webui functions * manager: detect selinux using libsu:io * manager: optimize webui functions * manager: use the default shell * manager: optimize import * manager: optimize shell builder * manager: fix memory leaks * manager: optimize magisk detection * manager: use libsu * manager: optimize webui --------- Co-authored-by: 白彩恋 <shiro@oom-wg.dev>
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package io.sukisu.ultra;
|
||||
|
||||
import com.topjohnwu.superuser.io.SuFile;
|
||||
|
||||
import static com.sukisu.ultra.ui.util.KsuCliKt.getKpmmgrPath;
|
||||
import static com.sukisu.ultra.ui.util.KsuCliKt.getSuSFSDaemonPath;
|
||||
|
||||
@@ -7,15 +9,17 @@ public class UltraToolInstall {
|
||||
private static final String OUTSIDE_KPMMGR_PATH = "/data/adb/ksu/bin/kpmmgr";
|
||||
private static final String OUTSIDE_SUSFSD_PATH = "/data/adb/ksu/bin/susfsd";
|
||||
public static void tryToInstall() {
|
||||
String kpmmgrPath = getKpmmgrPath();
|
||||
if (UltraShellHelper.isPathExists(OUTSIDE_KPMMGR_PATH)) {
|
||||
UltraShellHelper.CopyFileTo(kpmmgrPath, OUTSIDE_KPMMGR_PATH);
|
||||
UltraShellHelper.runCmd("chmod a+rx " + OUTSIDE_KPMMGR_PATH);
|
||||
SuFile KpmmgrFile = new SuFile(OUTSIDE_KPMMGR_PATH);
|
||||
if (KpmmgrFile.exists()) {
|
||||
UltraShellHelper.CopyFileTo(getKpmmgrPath(), OUTSIDE_KPMMGR_PATH);
|
||||
boolean _ = KpmmgrFile.setReadable(true, false);
|
||||
boolean _ = KpmmgrFile.setExecutable(true, false);
|
||||
}
|
||||
String SuSFSDaemonPath = getSuSFSDaemonPath();
|
||||
if (UltraShellHelper.isPathExists(OUTSIDE_SUSFSD_PATH)) {
|
||||
UltraShellHelper.CopyFileTo(SuSFSDaemonPath, OUTSIDE_SUSFSD_PATH);
|
||||
UltraShellHelper.runCmd("chmod a+rx " + OUTSIDE_SUSFSD_PATH);
|
||||
SuFile SuSFSDaemonFile = new SuFile(OUTSIDE_SUSFSD_PATH);
|
||||
if (SuSFSDaemonFile.exists()) {
|
||||
UltraShellHelper.CopyFileTo(getSuSFSDaemonPath(), OUTSIDE_SUSFSD_PATH);
|
||||
boolean _ = SuSFSDaemonFile.setReadable(true, false);
|
||||
boolean _ = SuSFSDaemonFile.setExecutable(true, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user