From dee8477f7c5413a86c96dbb45c887cf8abf33e3e Mon Sep 17 00:00:00 2001 From: LoveSy Date: Wed, 24 Feb 2021 01:50:48 +0800 Subject: [PATCH] [core] Update/remove module iff userId=0 (#185) --- .../java/io/github/lsposed/lspd/service/LSPosedService.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/io/github/lsposed/lspd/service/LSPosedService.java b/core/src/main/java/io/github/lsposed/lspd/service/LSPosedService.java index 7951e436..7b9222c6 100644 --- a/core/src/main/java/io/github/lsposed/lspd/service/LSPosedService.java +++ b/core/src/main/java/io/github/lsposed/lspd/service/LSPosedService.java @@ -75,14 +75,16 @@ public class LSPosedService extends ILSPosedService.Stub { int userId = intent.getIntExtra(Intent.EXTRA_USER, -1); boolean replacing = intent.getBooleanExtra(Intent.EXTRA_REPLACING, false); if (intent.getAction().equals(Intent.ACTION_PACKAGE_REMOVED) && uid > 0 && !replacing) { - ConfigManager.getInstance().removeModule(packageName); + if (userId == 0) { + ConfigManager.getInstance().removeModule(packageName); + } Application app = new Application(); app.packageName = packageName; app.userId = userId; ConfigManager.getInstance().removeApp(app); } PackageInfo pkgInfo = PackageService.getPackageInfo(packageName, PackageManager.GET_META_DATA, 0); - boolean isXposedModule = pkgInfo != null && pkgInfo.applicationInfo != null && + boolean isXposedModule = userId == 0 && pkgInfo != null && pkgInfo.applicationInfo != null && pkgInfo.applicationInfo.enabled && pkgInfo.applicationInfo.metaData != null && pkgInfo.applicationInfo.metaData.containsKey("xposedmodule"); if (isXposedModule) {