Merge "Filter package visibility in queryPermissionsByGroup()." into sc-dev

This commit is contained in:
Hai Zhang
2021-04-30 22:59:50 +00:00
committed by Android (Google) Code Review

View File

@@ -564,18 +564,23 @@ public class PermissionManagerService extends IPermissionManager.Stub {
if (mPackageManagerInt.getInstantAppPackageName(callingUid) != null) {
return null;
}
final List<PermissionInfo> out = new ArrayList<>(10);
synchronized (mLock) {
if (groupName != null && mRegistry.getPermissionGroup(groupName) == null) {
return null;
}
final ArrayList<PermissionInfo> out = new ArrayList<PermissionInfo>(10);
for (Permission bp : mRegistry.getPermissions()) {
if (Objects.equals(bp.getGroup(), groupName)) {
out.add(bp.generatePermissionInfo(flags));
}
}
return new ParceledListSlice<>(out);
}
final int callingUserId = UserHandle.getUserId(callingUid);
out.removeIf(it -> mPackageManagerInt.filterAppAccess(it.packageName, callingUid,
callingUserId));
return new ParceledListSlice<>(out);
}
@Override