diff options
| author | 2010-09-01 14:52:54 -0700 | |
|---|---|---|
| committer | 2010-09-01 14:52:54 -0700 | |
| commit | 9088a3d153ef28dfa383fda0935d99bdc0c2b2f6 (patch) | |
| tree | 82b4e7ec13a8e54b4ba44e6864ddd6c7e2886347 | |
| parent | 11d12f7efc588b0e945c42952e67d96f2421dc26 (diff) | |
| parent | 7c1bd7fdbf9ac539c9832693b403511b2fc7bac7 (diff) | |
am 7c1bd7fd: Fix logic error in downgrade of system apps
Merge commit '7c1bd7fdbf9ac539c9832693b403511b2fc7bac7' into gingerbread-plus-aosp
* commit '7c1bd7fdbf9ac539c9832693b403511b2fc7bac7':
Fix logic error in downgrade of system apps
| -rw-r--r-- | services/java/com/android/server/PackageManagerService.java | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java index 387f458a7106..1141fdcea7be 100644 --- a/services/java/com/android/server/PackageManagerService.java +++ b/services/java/com/android/server/PackageManagerService.java @@ -6181,18 +6181,15 @@ class PackageManagerService extends IPackageManager.Stub { } // Delete the updated package outInfo.isRemovedPackageSystemUpdate = true; - boolean deleteCodeAndResources = false; - if (ps.versionCode < p.mVersionCode) { + final boolean deleteCodeAndResources; + if (ps.versionCode < p.mVersionCode) { // Delete code and resources for downgrades deleteCodeAndResources = true; - if ((flags & PackageManager.DONT_DELETE_DATA) == 0) { - flags &= ~PackageManager.DONT_DELETE_DATA; - } + flags &= ~PackageManager.DONT_DELETE_DATA; } else { // Preserve data by setting flag - if ((flags & PackageManager.DONT_DELETE_DATA) == 0) { - flags |= PackageManager.DONT_DELETE_DATA; - } + deleteCodeAndResources = false; + flags |= PackageManager.DONT_DELETE_DATA; } boolean ret = deleteInstalledPackageLI(p, deleteCodeAndResources, flags, outInfo); if (!ret) { |