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

Commit 7cb10dd7 authored by Svetoslav Ganov's avatar Svetoslav Ganov Committed by Android (Google) Code Review
Browse files

Merge "Don't reset review state until no permission requires a review."

parents 6c790c2c 587512a0
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -427,7 +427,7 @@ public final class PermissionsState {
                mPermissionReviewRequired.put(userId, true);
            } else if ((oldFlags & PackageManager.FLAG_PERMISSION_REVIEW_REQUIRED) != 0
                    && (newFlags & PackageManager.FLAG_PERMISSION_REVIEW_REQUIRED) == 0) {
                if (mPermissionReviewRequired != null) {
                if (mPermissionReviewRequired != null && !hasPermissionRequiringReview(userId)) {
                    mPermissionReviewRequired.delete(userId);
                    if (mPermissionReviewRequired.size() <= 0) {
                        mPermissionReviewRequired = null;
@@ -438,6 +438,18 @@ public final class PermissionsState {
        return updated;
    }

    private boolean hasPermissionRequiringReview(int userId) {
        final int permissionCount = mPermissions.size();
        for (int i = 0; i < permissionCount; i++) {
            final PermissionData permission = mPermissions.valueAt(i);
            if ((permission.getFlags(userId)
                    & PackageManager.FLAG_PERMISSION_REVIEW_REQUIRED) != 0) {
                return true;
            }
        }
        return false;
    }

    public boolean updatePermissionFlagsForAllPermissions(
            int userId, int flagMask, int flagValues) {
        enforceValidUserId(userId);