diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 13 |
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 |