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

Commit d6340b42 authored by Android Build Merger (Role)'s avatar Android Build Merger (Role) Committed by Android (Google) Code Review
Browse files

Merge "Merge \"Performance optimizations in generatePackageInfo\" into...

Merge "Merge \"Performance optimizations in generatePackageInfo\" into nyc-mr1-dev am: 4d9af67f" into nyc-mr1-dev-plus-aosp
parents e04822db 5b1f1108
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -3217,10 +3217,11 @@ public class PackageManagerService extends IPackageManager.Stub {
        final PermissionsState permissionsState = ps.getPermissionsState();
        // Compute GIDs only if requested
        final int[] gids = (flags & PackageManager.GET_GIDS) != 0
                ? permissionsState.computeGids(userId) : EMPTY_INT_ARRAY;
        // TODO b/29879962 Calculate granted permissions only if needed in generatePackageInfo
        final Set<String> permissions = permissionsState.getPermissions(userId);
        final int[] gids = (flags & PackageManager.GET_GIDS) == 0
                ? EMPTY_INT_ARRAY : permissionsState.computeGids(userId);
        // Compute granted permissions only if package has requested permissions
        final Set<String> permissions = ArrayUtils.isEmpty(p.requestedPermissions)
                ? Collections.<String>emptySet() : permissionsState.getPermissions(userId);
        final PackageUserState state = ps.readUserState(userId);
        return PackageParser.generatePackageInfo(p, gids, flags,
+2 −1
Original line number Diff line number Diff line
@@ -274,7 +274,7 @@ public final class PermissionsState {
            return Collections.emptySet();
        }

        Set<String> permissions = new ArraySet<>();
        Set<String> permissions = new ArraySet<>(mPermissions.size());

        final int permissionCount = mPermissions.size();
        for (int i = 0; i < permissionCount; i++) {
@@ -282,6 +282,7 @@ public final class PermissionsState {

            if (hasInstallPermission(permission)) {
                permissions.add(permission);
                continue;
            }

            if (userId != UserHandle.USER_ALL) {