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

Commit b3a6defe authored by Svetoslav's avatar Svetoslav
Browse files

Fix accounting of permission gids.

bug:20143490

Change-Id: I718d4db74ebf003616241710a67774b2e2e5384f
parent 682a433d
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -74,10 +74,6 @@ final class BasePermission {
        this.perUser = perUser;
    }

    public boolean hasGids() {
        return ArrayUtils.isEmpty(gids);
    }

    public int[] computeGids(int userId) {
        if (perUser) {
            final int[] userGids = new int[gids.length];
+7 −13
Original line number Diff line number Diff line
@@ -221,7 +221,6 @@ public final class PermissionsState {
        int result = PERMISSION_OPERATION_SUCCESS;

        PermissionData permissionData = mPermissions.get(permission.name);
        if (permissionData.hasGids()) {
        for (int userId : permissionData.getUserIds()) {
            if (revokePermission(permission, userId)
                    == PERMISSION_OPERATION_SUCCESS_GIDS_CHANGED) {
@@ -229,7 +228,6 @@ public final class PermissionsState {
                break;
            }
        }
        }

        mPermissions.remove(permission.name);

@@ -380,7 +378,7 @@ public final class PermissionsState {
            return PERMISSION_OPERATION_FAILURE;
        }

        final boolean hasGids = permission.hasGids();
        final boolean hasGids = !ArrayUtils.isEmpty(permission.computeGids(userId));
        final int[] oldGids = hasGids ? computeGids(userId) : NO_GIDS;

        if (mPermissions == null) {
@@ -412,7 +410,7 @@ public final class PermissionsState {
            return PERMISSION_OPERATION_FAILURE;
        }

        final boolean hasGids = permission.hasGids();
        final boolean hasGids = !ArrayUtils.isEmpty(permission.computeGids(userId));
        final int[] oldGids = hasGids ? computeGids(userId) : NO_GIDS;

        PermissionData permissionData = mPermissions.get(permission.name);
@@ -472,10 +470,6 @@ public final class PermissionsState {
            }
        }

        public boolean hasGids() {
            return mPerm.hasGids();
        }

        public int[] computeGids(int userId) {
            return mPerm.computeGids(userId);
        }