summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Davidson <jpd@google.com>2015-08-07 01:39:14 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-08-07 01:39:14 +0000
commit1d7c32548c30c62a35c54a624f89d5f9db31b9d4 (patch)
tree7ee49d61eed367eb49baa65376873f7e988494ef
parenta0ef49c44f7d845e3465591ea977d0c9996c4e5e (diff)
parent16ed6a45aed0e5d7332647559c3c76b977b705b4 (diff)
downloadframeworks_base-1d7c32548c30c62a35c54a624f89d5f9db31b9d4.zip
frameworks_base-1d7c32548c30c62a35c54a624f89d5f9db31b9d4.tar.gz
frameworks_base-1d7c32548c30c62a35c54a624f89d5f9db31b9d4.tar.bz2
Merge "Correctly propagate permissions when uninstalling updates." into mnc-dev
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 11e30b5..473be56 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -12942,6 +12942,10 @@ public class PackageManagerService extends IPackageManager.Stub {
synchronized (mPackages) {
PackageSetting ps = mSettings.mPackages.get(newPkg.packageName);
+ // Propagate the permissions state as we do not want to drop on the floor
+ // runtime permissions. The update permissions method below will take
+ // care of removing obsolete permissions and grant install permissions.
+ ps.getPermissionsState().copyFrom(newPs.getPermissionsState());
updatePermissionsLPw(newPkg.packageName, newPkg,
UPDATE_PERMISSIONS_ALL | UPDATE_PERMISSIONS_REPLACE_PKG);