Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 35f75705 authored by Hai Zhang's avatar Hai Zhang Committed by Automerger Merge Worker
Browse files

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

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

Change-Id: I27ff6d0863f870c22f6e4a7cd687c4a03528b378
parents 1654e6f7 e0236751
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -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