Merge "Do not hold a lock when calling API to grant default permissions" into mnc-dev
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index c86e2f1..1385440 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -3411,11 +3411,16 @@
"resetRuntimePermissions");
}
+ final int[] userIds;
+
synchronized (mPackages) {
updatePermissionsLPw(null, null, UPDATE_PERMISSIONS_ALL);
- for (int userId : UserManagerService.getInstance().getUserIds()) {
- mDefaultPermissionPolicy.grantDefaultPermissions(userId);
- }
+ final int userCount = UserManagerService.getInstance().getUserIds().length;
+ userIds = Arrays.copyOf(UserManagerService.getInstance().getUserIds(), userCount);
+ }
+
+ for (int userId : userIds) {
+ mDefaultPermissionPolicy.grantDefaultPermissions(userId);
}
}