[pm] forbid deletion of protected packages
BUG: 242996180
Test: adb shell pm uninstall --user 0 com.google.android.apps.work.oobconfig
Test: Verified with the command above. Before this CL, the package can
be deleted. After this CL, the deletion will fail.
Change-Id: Iba408e536b340ea5d66ab499442c0c4f828fa36f
(cherry picked from commit 15f85c7fa9)
Merged-In: Iba408e536b340ea5d66ab499442c0c4f828fa36f
This commit is contained in:
@@ -18181,6 +18181,20 @@ public class PackageManagerService extends IPackageManager.Stub
|
|||||||
|
|
||||||
final String packageName = versionedPackage.getPackageName();
|
final String packageName = versionedPackage.getPackageName();
|
||||||
final long versionCode = versionedPackage.getLongVersionCode();
|
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;
|
final String internalPackageName;
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
// Normalize package name to handle renamed packages and static libs
|
// Normalize package name to handle renamed packages and static libs
|
||||||
|
|||||||
Reference in New Issue
Block a user