diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 3b98d24dc709..2477c1bed2df 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -5806,10 +5806,6 @@ public class PackageManagerService extends IPackageManager.Stub private void updateSequenceNumberLP(PackageSetting pkgSetting, int[] userList) { for (int i = userList.length - 1; i >= 0; --i) { final int userId = userList[i]; - // don't add instant app to the list of updates - if (pkgSetting.getInstantApp(userId)) { - continue; - } SparseArray<String> changedPackages = mChangedPackages.get(userId); if (changedPackages == null) { changedPackages = new SparseArray<>(); @@ -5854,6 +5850,11 @@ public class PackageManagerService extends IPackageManager.Stub for (int i = sequenceNumber; i < mChangedPackagesSequenceNumber; i++) { final String packageName = changedPackages.get(i); if (packageName != null) { + // Filter out the changes if the calling package should not be able to see it. + final PackageSetting ps = mSettings.mPackages.get(packageName); + if (shouldFilterApplicationLocked(ps, callingUid, userId)) { + continue; + } packageNames.add(packageName); } } |