PackageManagerService: Check for duplicate inactive factory packages
If after a factory reset, APEX modules are updated, duplicate package names are returned from the API - factory packages are added first and then inactive factory packages leading to duplication. After updating APEX modules, inactive factory packages would always be a subset of factory packages. The fix adds inactive packages only if there was no factory reset done. Bug: 200519752 Bug: 200120056 Test: atest 'PackageManagerTest#testGetInstalledPackages_WithFactoryFlag_ContainsNoDuplicates' Change-Id: I5b5469fc6879bbeee4dc2ea47b2046ab011a65ce Merged-In: I5b5469fc6879bbeee4dc2ea47b2046ab011a65ce
This commit is contained in:
committed by
Daniel Norman
parent
d1c32c0cac
commit
cdaa918edc
@ -3538,9 +3538,9 @@ public class PackageManagerService extends IPackageManager.Stub
|
||||
list.addAll(mApexManager.getFactoryPackages());
|
||||
} else {
|
||||
list.addAll(mApexManager.getActivePackages());
|
||||
}
|
||||
if (listUninstalled) {
|
||||
list.addAll(mApexManager.getInactivePackages());
|
||||
if (listUninstalled) {
|
||||
list.addAll(mApexManager.getInactivePackages());
|
||||
}
|
||||
}
|
||||
}
|
||||
return new ParceledListSlice<>(list);
|
||||
|
Reference in New Issue
Block a user