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

Commit f5e600d0 authored by Fyodor Kupolov's avatar Fyodor Kupolov
Browse files

Only log a warning if it's an actual violation

Otherwise the message can be confusing if deny-permission is used or
app is updated.

Test: manual
Bug: 64693550
Change-Id: I19943d8cbd13a5173356a32565db88856428009e
parent 794fab5b
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -996,8 +996,6 @@ public class PermissionManagerService {
        if (!privappPermissionsDisable && privilegedPermission && pkg.isPrivileged()
                && !platformPackage && platformPermission) {
            if (!hasPrivappWhitelistEntry(perm, pkg)) {
                Slog.w(TAG, "Privileged permission " + perm + " for package "
                        + pkg.packageName + " - not in privapp-permissions whitelist");
                // Only report violations for apps on system image
                if (!mSystemReady && !pkg.isUpdatedSystemApp()) {
                    // it's only a reportable violation if the permission isn't explicitly denied
@@ -1005,12 +1003,16 @@ public class PermissionManagerService {
                            .getPrivAppDenyPermissions(pkg.packageName);
                    final boolean permissionViolation =
                            deniedPermissions == null || !deniedPermissions.contains(perm);
                    if (permissionViolation
                            && RoSystemProperties.CONTROL_PRIVAPP_PERMISSIONS_ENFORCE) {
                    if (permissionViolation) {
                        Slog.w(TAG, "Privileged permission " + perm + " for package "
                                + pkg.packageName + " - not in privapp-permissions whitelist");

                        if (RoSystemProperties.CONTROL_PRIVAPP_PERMISSIONS_ENFORCE) {
                            if (mPrivappPermissionsViolations == null) {
                                mPrivappPermissionsViolations = new ArraySet<>();
                            }
                            mPrivappPermissionsViolations.add(pkg.packageName + ": " + perm);
                        }
                    } else {
                        return false;
                    }