From daac47daa439cde19025ef7fadad2db688857ba7 Mon Sep 17 00:00:00 2001 From: LoveSy Date: Tue, 30 Nov 2021 14:37:23 +0800 Subject: [PATCH] [core] Filter pkginfo from other users (#1462) --- .../main/java/org/lsposed/lspd/service/PackageService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/lsposed/lspd/service/PackageService.java b/core/src/main/java/org/lsposed/lspd/service/PackageService.java index 9a622044..4a88e7e4 100644 --- a/core/src/main/java/org/lsposed/lspd/service/PackageService.java +++ b/core/src/main/java/org/lsposed/lspd/service/PackageService.java @@ -133,8 +133,8 @@ public class PackageService { IPackageManager pm = getPackageManager(); if (pm == null) return ParceledListSlice.emptyList(); for (var user : UserService.getUsers()) { - // in case duplicate pkginfo in one user - res.addAll(pm.getInstalledPackages(flags, user.id).getList().parallelStream().distinct().collect(Collectors.toList())); + // in case pkginfo of other users in primary user + res.addAll(pm.getInstalledPackages(flags, user.id).getList().parallelStream().filter(info -> info.applicationInfo != null && info.applicationInfo.uid / PER_USER_RANGE == user.id).collect(Collectors.toList())); } if (filterNoProcess) { return new ParceledListSlice<>(res.parallelStream().filter(packageInfo -> {