diff options
| author | 2022-09-15 21:57:08 +0000 | |
|---|---|---|
| committer | 2022-09-15 21:57:08 +0000 | |
| commit | 689f4b137583fa8783c0a6fdb76cd07e413f87f0 (patch) | |
| tree | 80980bd34cc4cebc5b54ae45bbb93e9a49193e15 | |
| parent | 384756a667c28fd7ab284ec87877059f83824fcb (diff) | |
| parent | afb5d201a1b33095cece373fdedcf9ef8a64ebbc (diff) | |
Merge "[pm] forbid deletion of protected packages" into tm-dev am: 12e837e3a9 am: afb5d201a1
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19929347
Change-Id: I4de257e1c35fba8ac85e4605540033b80e70f2ae
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | services/core/java/com/android/server/pm/DeletePackageHelper.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/DeletePackageHelper.java b/services/core/java/com/android/server/pm/DeletePackageHelper.java index c3b479219853..0915c21dda59 100644 --- a/services/core/java/com/android/server/pm/DeletePackageHelper.java +++ b/services/core/java/com/android/server/pm/DeletePackageHelper.java @@ -657,6 +657,18 @@ final class DeletePackageHelper { final String packageName = versionedPackage.getPackageName(); final long versionCode = versionedPackage.getLongVersionCode(); + if (mPm.mProtectedPackages.isPackageDataProtected(userId, packageName)) { + mPm.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; + } + try { if (mPm.mInjector.getLocalService(ActivityTaskManagerInternal.class) .isBaseOfLockedTask(packageName)) { |