[core] Filter pkginfo from other users (#1462)

This commit is contained in:
LoveSy 2021-11-30 14:37:23 +08:00 committed by vvb2060
parent fa2bd0cd7c
commit daac47daa4
No known key found for this signature in database
GPG Key ID: 59B2BF15A79E26FA
1 changed files with 2 additions and 2 deletions

View File

@ -133,8 +133,8 @@ public class PackageService {
IPackageManager pm = getPackageManager(); IPackageManager pm = getPackageManager();
if (pm == null) return ParceledListSlice.emptyList(); if (pm == null) return ParceledListSlice.emptyList();
for (var user : UserService.getUsers()) { for (var user : UserService.getUsers()) {
// in case duplicate pkginfo in one user // in case pkginfo of other users in primary user
res.addAll(pm.getInstalledPackages(flags, user.id).getList().parallelStream().distinct().collect(Collectors.toList())); 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) { if (filterNoProcess) {
return new ParceledListSlice<>(res.parallelStream().filter(packageInfo -> { return new ParceledListSlice<>(res.parallelStream().filter(packageInfo -> {