From 92cbed418edf2d845374492981b195017bcff7a5 Mon Sep 17 00:00:00 2001 From: Captain Throwback Date: Mon, 7 Oct 2024 20:54:26 -0400 Subject: [PATCH] Start service daemon in late_start mode (#57) 1. Starting daemon during post-fs-data can cause Play Integrity detection for devices without the PlayIntegrityFix module. 2. Starting LSPosed service daemon in post-fs-data mode is redundant on many devices --- .../main/java/org/lsposed/lspd/service/ServiceManager.java | 4 +--- magisk-loader/magisk_module/post-fs-data.sh | 2 -- magisk-loader/magisk_module/service.sh | 6 ++++-- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/daemon/src/main/java/org/lsposed/lspd/service/ServiceManager.java b/daemon/src/main/java/org/lsposed/lspd/service/ServiceManager.java index 0998d910..1d269011 100644 --- a/daemon/src/main/java/org/lsposed/lspd/service/ServiceManager.java +++ b/daemon/src/main/java/org/lsposed/lspd/service/ServiceManager.java @@ -95,9 +95,7 @@ public class ServiceManager { int systemServerMaxRetry = 1; for (String arg : args) { - if (arg.equals("--from-service")) { - Log.w(TAG, "LSPosed daemon is not started properly. Try for a late start..."); - } else if (arg.startsWith("--system-server-max-retry=")) { + if (arg.startsWith("--system-server-max-retry=")) { try { systemServerMaxRetry = Integer.parseInt(arg.substring(arg.lastIndexOf('=') + 1)); } catch (Throwable ignored) { diff --git a/magisk-loader/magisk_module/post-fs-data.sh b/magisk-loader/magisk_module/post-fs-data.sh index c0234f4d..9f687745 100644 --- a/magisk-loader/magisk_module/post-fs-data.sh +++ b/magisk-loader/magisk_module/post-fs-data.sh @@ -21,6 +21,4 @@ MODDIR=${0%/*} rm -f "/data/local/tmp/daemon.apk" rm -f "/data/local/tmp/manager.apk" -cd "$MODDIR" -unshare --propagation slave -m sh -c "$MODDIR/daemon $@&" diff --git a/magisk-loader/magisk_module/service.sh b/magisk-loader/magisk_module/service.sh index 48b99320..cd07853d 100644 --- a/magisk-loader/magisk_module/service.sh +++ b/magisk-loader/magisk_module/service.sh @@ -18,6 +18,8 @@ # MODDIR=${0%/*} + cd "$MODDIR" -# post-fs-data.sh may be blocked by other modules. retry to start this -unshare --propagation slave -m sh -c "$MODDIR/daemon --from-service $@&" + +# To avoid breaking Play Integrity in certain cases, we start LSPosed service daemon in late_start service mode instead of post-fs-data mode +unshare --propagation slave -m sh -c "$MODDIR/daemon $@&"