diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 1045289ca5c1..c125e9719ed0 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -15246,7 +15246,8 @@ public class PackageManagerService extends IPackageManager.Stub "inputs not balanced; missing argument for " + installPackageName); } final DeletePackageAction deletePackageAction; - if (prepareResult.replace) { + // we only want to try to delete for non system apps + if (prepareResult.replace && !prepareResult.system) { deletePackageAction = mayDeletePackageLocked(res.removedInfo, prepareResult.originalPs, prepareResult.disabledPs, prepareResult.childPackageSettings); @@ -17818,7 +17819,7 @@ public class PackageManagerService extends IPackageManager.Stub return null; } if (isSystemApp(ps)) { - if (ps.parentPackageName == null) { + if (ps.parentPackageName != null) { Slog.w(TAG, "Attempt to delete child system package " + ps.pkg.packageName); return null; } |