diff options
| author | 2018-11-29 22:33:29 +0000 | |
|---|---|---|
| committer | 2018-11-29 22:33:29 +0000 | |
| commit | b6005f9ee9eabdad7fdb0d082caee9e92006c92e (patch) | |
| tree | 69e0c46526d7831b2faa8a58888f747e27de3677 | |
| parent | 7762547ce24cdba98a02dc62a1957913b1c8acdb (diff) | |
| parent | f7e31e6de78eae1841c589d7e64339c2ae6e64dd (diff) | |
Merge "Fixes incorrect system app deletion logic"
| -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; } |