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

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14333529

Change-Id: Ic64c77e9bbfc99850f8746c2e5c042dd34360260
This commit is contained in:
Hai Zhang
2021-04-30 23:18:42 +00:00
committed by Automerger Merge Worker

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