diff options
| author | 2022-09-19 18:19:25 +0000 | |
|---|---|---|
| committer | 2022-09-19 18:19:25 +0000 | |
| commit | ae7a1df57df8680ee221c64c995287131364fd8c (patch) | |
| tree | e6c56e0f705bef107dea381767e5cce1f1095664 | |
| parent | 7588fa68660be986abf983eddfe2beb6d7db5085 (diff) | |
| parent | b625b562c41cd3f68aebdd33f96f766209ecfa15 (diff) | |
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>
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 14198ba100fd..0472985affaa 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -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 |