summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSvet Ganov <svetoslavganov@google.com>2015-06-30 21:44:32 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-06-30 21:44:34 +0000
commit1aaad610dfc7445ec29fd906974677515c3a9f87 (patch)
tree1f0946fb5ae52821b881a10afc5b196721b9e4f4
parente08f3b3ff5ec89bc8c94b5d3d6518afde8e3b8a4 (diff)
parent06324ed4c6017d5343b9e0bba13472e32a2815f5 (diff)
downloadframeworks_base-1aaad610dfc7445ec29fd906974677515c3a9f87.zip
frameworks_base-1aaad610dfc7445ec29fd906974677515c3a9f87.tar.gz
frameworks_base-1aaad610dfc7445ec29fd906974677515c3a9f87.tar.bz2
Merge "Do not hold a lock when calling API to grant default permissions" into mnc-dev
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java11
1 files changed, 8 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 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 @@ public class PackageManagerService extends IPackageManager.Stub {
"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);
}
}