diff options
| author | 2022-09-15 21:29:58 +0000 | |
|---|---|---|
| committer | 2022-09-15 21:29:58 +0000 | |
| commit | afb5d201a1b33095cece373fdedcf9ef8a64ebbc (patch) | |
| tree | 617fffa5dedc08a0e9afd98ebd8563a745f9e2c9 | |
| parent | 31a5f9dae577441e4d37c5f3e7a67f8ac8076bdb (diff) | |
| parent | 12e837e3a9bf92a44814b2ef9431e2c8a6deda5e (diff) | |
Merge "[pm] forbid deletion of protected packages" into tm-dev am: 12e837e3a9
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19929347
Change-Id: I1211e47dd0fef5309da889830a0630c96f033d6f
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)) { |