Merge "[pm] forbid deletion of protected packages" into qt-dev am: b625b562c4

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19935572

Change-Id: Ic0c235c82f13e4e8f09b35bb9f30134cfcf8617e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Songchun Fan
2022-09-19 18:19:25 +00:00
committed by Automerger Merge Worker

View File

@@ -18390,6 +18390,20 @@ public class PackageManagerService extends IPackageManager.Stub
final String packageName = versionedPackage.getPackageName();
final long versionCode = versionedPackage.getLongVersionCode();
if (mProtectedPackages.isPackageStateProtected(userId, packageName)) {
mHandler.post(() -> {
try {
Slog.w(TAG, "Attempted to delete protected package: " + packageName);
observer.onPackageDeleted(packageName,
PackageManager.DELETE_FAILED_INTERNAL_ERROR, null);
} catch (RemoteException re) {
}
});
return;
}
final String internalPackageName;
synchronized (mPackages) {
// Normalize package name to handle renamed packages and static libs