summaryrefslogtreecommitdiffstats
path: root/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
diff options
context:
space:
mode:
authorFyodor Kupolov <fkupolov@google.com>2015-06-12 18:15:28 -0700
committerFyodor Kupolov <fkupolov@google.com>2015-06-15 12:24:59 -0700
commit2ab3f0fd26185a60f486998e5081c0b91cc389fe (patch)
tree10e7309a789446107fbf1979b841ea8a7134f2a1 /src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
parent6e5d5f06c14acb48baf97e46aa63bf84cc04c2c1 (diff)
downloadandroid_packages_apps_PackageInstaller-2ab3f0fd26185a60f486998e5081c0b91cc389fe.tar.gz
android_packages_apps_PackageInstaller-2ab3f0fd26185a60f486998e5081c0b91cc389fe.tar.bz2
android_packages_apps_PackageInstaller-2ab3f0fd26185a60f486998e5081c0b91cc389fe.zip
Pass the right userHandle to AppPermissionGroup
Previously, userHandle of the user associated with the context was always used. Bug: 21804306 Change-Id: If297a4c7b22abf43533b8ed67df0fd9b11c9b82e
Diffstat (limited to 'src/com/android/packageinstaller/permission/model/AppPermissionGroup.java')
-rw-r--r--src/com/android/packageinstaller/permission/model/AppPermissionGroup.java18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
index 37db59aa..231a7c4b 100644
--- a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
+++ b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java
@@ -88,15 +88,18 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
}
}
- return create(context, packageInfo, groupInfo, permissionInfos);
+ return create(context, packageInfo, groupInfo, permissionInfos,
+ new UserHandle(context.getUserId()));
}
public static AppPermissionGroup create(Context context, PackageInfo packageInfo,
- PackageItemInfo groupInfo, List<PermissionInfo> permissionInfos) {
+ PackageItemInfo groupInfo, List<PermissionInfo> permissionInfos,
+ UserHandle userHandle) {
AppPermissionGroup group = new AppPermissionGroup(context, packageInfo, groupInfo.name,
groupInfo.packageName, groupInfo.loadLabel(context.getPackageManager()),
- loadGroupDescription(context, groupInfo), groupInfo.packageName, groupInfo.icon);
+ loadGroupDescription(context, groupInfo), groupInfo.packageName, groupInfo.icon,
+ userHandle);
if (groupInfo instanceof PermissionInfo) {
permissionInfos = new ArrayList<>();
@@ -148,8 +151,7 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
== AppOpsManager.MODE_ALLOWED;
final int flags = context.getPackageManager().getPermissionFlags(
- requestedPermission, packageInfo.packageName,
- new UserHandle(context.getUserId()));
+ requestedPermission, packageInfo.packageName, userHandle);
Permission permission = new Permission(requestedPermission, granted,
appOp, appOpAllowed, flags);
@@ -178,9 +180,9 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
private AppPermissionGroup(Context context, PackageInfo packageInfo, String name,
String declaringPackage, CharSequence label, CharSequence description,
- String iconPkg, int iconResId) {
+ String iconPkg, int iconResId, UserHandle userHandle) {
mContext = context;
- mUserHandle = new UserHandle(mContext.getUserId());
+ mUserHandle = userHandle;
mPackageManager = mContext.getPackageManager();
mPackageInfo = packageInfo;
mAppSupportsRuntimePermissions = packageInfo.applicationInfo
@@ -281,7 +283,7 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
if (!permission.isGranted()) {
permission.setGranted(true);
mPackageManager.grantRuntimePermission(mPackageInfo.packageName,
- permission.getName(), new UserHandle(mContext.getUserId()));
+ permission.getName(), mUserHandle);
}
// Update the permission flags.