run module uninstall.sh on Magisk uninstallation

This commit is contained in:
shìwēi nguyen
2023-02-10 04:36:58 +00:00
committed by GitHub
parent 220a1c84ce
commit 03418ddcbf
3 changed files with 20 additions and 3 deletions

View File

@ -151,12 +151,14 @@ static void handle_request_async(int client, int code, const sock_cred &cred) {
case MainRequest::SQLITE_CMD:
exec_sql(client);
break;
case MainRequest::REMOVE_MODULES:
case MainRequest::REMOVE_MODULES: {
int do_reboot = read_int(client);
remove_modules();
write_int(client, 0);
close(client);
reboot();
if (do_reboot) reboot();
break;
}
case MainRequest::ZYGISK:
case MainRequest::ZYGISK_PASSTHROUGH:
zygisk_handler(client, &cred);

View File

@ -23,7 +23,7 @@ Options:
-v print running daemon version
-V print running daemon version code
--list list all available applets
--remove-modules remove all modules and reboot
--remove-modules [-n] remove all modules, reboot if -n is not provided
--install-module ZIP install a module zip file
Advanced Options (Internal APIs):
@ -114,7 +114,17 @@ int magisk_main(int argc, char *argv[]) {
printf("%s\n", res.data());
}
} else if (argv[1] == "--remove-modules"sv) {
int do_reboot;
if (argc == 3 && argv[2] == "-n"sv) {
do_reboot = 0;
} else if (argc == 2) {
do_reboot = 1;
} else {
usage();
exit(1);
}
int fd = connect_daemon(MainRequest::REMOVE_MODULES);
write_int(fd, do_reboot);
return read_int(fd);
} else if (argv[1] == "--path"sv) {
int fd = connect_daemon(MainRequest::GET_PATH);