Don't call getGrantedPermissions() when generating package info without
GET_PERMISSIONS. To avoid triggering error in logcat about no permission state is available during early boot. The grantedPermission parameter is actually only used in PackageInfoWithoutStateUtils.generateWithoutComponentsUnchecked() when GET_PERMISSIONS is present, so it's safe to omit the call when we don't have the flag. Fixes: 183999679 Test: presubmit Change-Id: I10a07563cb2378d519a6e0ea220fb1b5d76ea129
This commit is contained in:
@@ -3173,8 +3173,8 @@ public class PackageManagerService extends IPackageManager.Stub
|
||||
final int[] gids = (flags & PackageManager.GET_GIDS) == 0 ? EMPTY_INT_ARRAY
|
||||
: mPermissionManager.getGidsForUid(UserHandle.getUid(userId, ps.appId));
|
||||
// Compute granted permissions only if package has requested permissions
|
||||
final Set<String> permissions = ArrayUtils.isEmpty(p.getRequestedPermissions())
|
||||
? Collections.emptySet()
|
||||
final Set<String> permissions = ((flags & PackageManager.GET_PERMISSIONS) == 0
|
||||
|| ArrayUtils.isEmpty(p.getRequestedPermissions())) ? Collections.emptySet()
|
||||
: mPermissionManager.getGrantedPermissions(ps.name, userId);
|
||||
|
||||
PackageInfo packageInfo = PackageInfoUtils.generate(p, gids, flags,
|
||||
|
||||
Reference in New Issue
Block a user