summaryrefslogtreecommitdiffstats
path: root/services/java
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-07-02 12:20:29 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-07-02 12:20:29 -0700
commit9701b3d594868bd6750d5887af560c6295ea091b (patch)
tree162f81eb8482d26198bf825beeb9173eee65124a /services/java
parent4e3e50cfa7cf02270ed0dd454d5c51bf7065bd14 (diff)
parentb24a96701a2724bf69c5a34bd70a1bc7177ef0f2 (diff)
downloadframeworks_base-9701b3d594868bd6750d5887af560c6295ea091b.zip
frameworks_base-9701b3d594868bd6750d5887af560c6295ea091b.tar.gz
frameworks_base-9701b3d594868bd6750d5887af560c6295ea091b.tar.bz2
Merge change 5979 into donut
* changes: Remove the constraint to assign new uid when code path changes for system packages
Diffstat (limited to 'services/java')
-rw-r--r--services/java/com/android/server/PackageManagerService.java19
1 files changed, 5 insertions, 14 deletions
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java
index 4ea2831..b42cedc 100644
--- a/services/java/com/android/server/PackageManagerService.java
+++ b/services/java/com/android/server/PackageManagerService.java
@@ -5805,24 +5805,15 @@ class PackageManagerService extends IPackageManager.Stub {
// Check to see if its a disabled system app
PackageSetting ps = mDisabledSysPackages.get(name);
if((ps != null) && ((ps.pkgFlags & ApplicationInfo.FLAG_SYSTEM) != 0)) {
- // Could be a replaced system package
- // Note that if the user replaced a system app, the user has to physically
- // delete the new one in order to revert to the system app. So even
- // if the user updated the system app via an update, the user still
- // has to delete the one installed in the data partition in order to pick up the
- // new system package.
+ // This is an updated system app with versions in both system
+ // and data partition. Just let the most recent version
+ // take precedence.
return p;
- } else if ((p.pkg != null) && (p.pkg.applicationInfo != null) &&
- ((p.pkg.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0)) {
- // Check for non-system apps
+ } else if ((p.pkg != null) && (p.pkg.applicationInfo != null)) {
+ // Let the app continue with previous uid if code path changes.
reportSettingsProblem(Log.WARN,
"Package " + name + " codePath changed from " + p.codePath
+ " to " + codePath + "; Retaining data and using new code");
- } else {
- reportSettingsProblem(Log.WARN,
- "Package " + name + " codePath changed from " + p.codePath
- + " to " + codePath + "; replacing with new");
- p = null;
}
} else if (p.sharedUser != sharedUser) {
reportSettingsProblem(Log.WARN,