summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 0369fe6ac42b..950fdd7e71fe 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -22284,11 +22284,18 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName());
mDefaultPermissionPolicy.grantDefaultPermissions(userId);
}
- // If we did not grant default permissions, we preload from this the
- // default permission exceptions lazily to ensure we don't hit the
- // disk on a new user creation.
if (grantPermissionsUserIds == EMPTY_INT_ARRAY) {
+ // If we did not grant default permissions, we preload from this the
+ // default permission exceptions lazily to ensure we don't hit the
+ // disk on a new user creation.
mDefaultPermissionPolicy.scheduleReadDefaultPermissionExceptions();
+ } else {
+ // Since we granted default permissions above, we need an update
+ // pass to apply those changes.
+ synchronized (mPackages) {
+ updatePermissionsLPw(null, null, StorageManager.UUID_PRIVATE_INTERNAL,
+ UPDATE_PERMISSIONS_ALL);
+ }
}
// Kick off any messages waiting for system ready