summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jeff Davidson <jpd@google.com> 2015-08-07 02:13:37 +0000
committer Android Git Automerger <android-git-automerger@android.com> 2015-08-07 02:13:37 +0000
commit5061b51669d476a72b39e4636f7b5a837451337f (patch)
tree6b14877ee16bb5eb64e4f90f2843ed01b8b1b691
parent606d11977d3c5cea390dc3cb47b5e7c1754e18ed (diff)
parent2fe5137315b45738043038a052c50257fa2fbeaa (diff)
am 2fe51373: am 22d20774: am 20de377b: am 1d7c3254: Merge "Correctly propagate permissions when uninstalling updates." into mnc-dev
* commit '2fe5137315b45738043038a052c50257fa2fbeaa': Correctly propagate permissions when uninstalling updates.
-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 0a98d4189873..765041c63ac0 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);