diff options
author | Fyodor Kupolov <fkupolov@google.com> | 2015-06-12 18:15:28 -0700 |
---|---|---|
committer | Fyodor Kupolov <fkupolov@google.com> | 2015-06-15 12:24:59 -0700 |
commit | 2ab3f0fd26185a60f486998e5081c0b91cc389fe (patch) | |
tree | 10e7309a789446107fbf1979b841ea8a7134f2a1 /src/com | |
parent | 6e5d5f06c14acb48baf97e46aa63bf84cc04c2c1 (diff) | |
download | android_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')
-rw-r--r-- | src/com/android/packageinstaller/permission/model/AppPermissionGroup.java | 18 | ||||
-rw-r--r-- | src/com/android/packageinstaller/permission/model/PermissionApps.java | 2 |
2 files changed, 11 insertions, 9 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. diff --git a/src/com/android/packageinstaller/permission/model/PermissionApps.java b/src/com/android/packageinstaller/permission/model/PermissionApps.java index 1aadeb2c..9f3bd248 100644 --- a/src/com/android/packageinstaller/permission/model/PermissionApps.java +++ b/src/com/android/packageinstaller/permission/model/PermissionApps.java @@ -169,7 +169,7 @@ public class PermissionApps { } AppPermissionGroup group = AppPermissionGroup.create(mContext, - app, groupInfo, groupPermInfos); + app, groupInfo, groupPermInfos, user); String label = mSkipUi ? app.packageName : app.applicationInfo.loadLabel(mPm).toString(); |