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

Commit bc98d330 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: Iabf4ecc9fca22e80ce35df3f4790a7ae38cc3393
parents 1fed227c 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