summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Tate <ctate@android.com>2014-02-27 22:01:28 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-02-27 22:01:29 +0000
commit16678ac66f7e6d5ce414536b7534d1e823f7ab30 (patch)
tree304b39fd7d36c0c7a642fd85a1b6fb422f77af47
parente4dae5f2c26f5992a31f8ce15811fc082647ddb8 (diff)
parent8554a0933b5c70f637af4a326e8011c91ca6d4b8 (diff)
downloadframeworks_base-16678ac66f7e6d5ce414536b7534d1e823f7ab30.zip
frameworks_base-16678ac66f7e6d5ce414536b7534d1e823f7ab30.tar.gz
frameworks_base-16678ac66f7e6d5ce414536b7534d1e823f7ab30.tar.bz2
Merge "Fixed upgrading from forward-lock application to system application"
-rwxr-xr-xservices/java/com/android/server/pm/PackageManagerService.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java
index 74a66d6..d8b4f1a 100755
--- a/services/java/com/android/server/pm/PackageManagerService.java
+++ b/services/java/com/android/server/pm/PackageManagerService.java
@@ -3674,6 +3674,7 @@ public class PackageManagerService extends IPackageManager.Stub {
updatedPkg = mSettings.getDisabledSystemPkgLPr(ps != null ? ps.name : pkg.packageName);
if (DEBUG_INSTALL && updatedPkg != null) Slog.d(TAG, "updatedPkg = " + updatedPkg);
}
+ boolean updatedPkgBetter = false;
// First check if this is a system package that may involve an update
if (updatedPkg != null && (parseFlags&PackageParser.PARSE_IS_SYSTEM) != 0) {
if (ps != null && !ps.codePath.equals(scanFile)) {
@@ -3728,6 +3729,7 @@ public class PackageManagerService extends IPackageManager.Stub {
synchronized (mPackages) {
mSettings.enableSystemPackageLPw(ps.name);
}
+ updatedPkgBetter = true;
}
}
}
@@ -3804,7 +3806,7 @@ public class PackageManagerService extends IPackageManager.Stub {
String codePath = null;
String resPath = null;
- if ((parseFlags & PackageParser.PARSE_FORWARD_LOCK) != 0) {
+ if ((parseFlags & PackageParser.PARSE_FORWARD_LOCK) != 0 && !updatedPkgBetter) {
if (ps != null && ps.resourcePathString != null) {
resPath = ps.resourcePathString;
} else {