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

Commit 649a4db5 authored by Nate Myren's avatar Nate Myren Committed by Automerger Merge Worker
Browse files

RESTRICT AUTOMERGE Revoke dev perm if app is upgrading to post 23 and perm has...

RESTRICT AUTOMERGE Revoke dev perm if app is upgrading to post 23 and perm has pre23 flag am: 2f30a63b

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20621238



Change-Id: I8a4f9793b028f33c484476c02af3e68081cdfa45
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 853c9d7b 2f30a63b
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -2347,7 +2347,7 @@ public class PermissionManagerService extends IPermissionManager.Stub {
        final PackageSetting ps = (PackageSetting)
                mPackageManagerInt.getPackageSetting(newPackage.getPackageName());
        if (grantSignaturePermission(Manifest.permission.SYSTEM_ALERT_WINDOW, newPackage, ps, saw,
                ps.getPermissionsState())) {
                ps.getPermissionsState(), true)) {
            return;
        }
        for (int userId : mUserManagerInt.getUserIds()) {
@@ -3597,6 +3597,13 @@ public class PermissionManagerService extends IPermissionManager.Stub {

    private boolean grantSignaturePermission(String perm, AndroidPackage pkg,
            PackageSetting pkgSetting, BasePermission bp, PermissionsState origPermissions) {
        return grantSignaturePermission(perm, pkg, pkgSetting, bp, origPermissions, false);
    }


    private boolean grantSignaturePermission(String perm, AndroidPackage pkg,
            PackageSetting pkgSetting, BasePermission bp, PermissionsState origPermissions,
            boolean isApi23Upgrade) {
        boolean oemPermission = bp.isOEM();
        boolean vendorPrivilegedPermission = bp.isVendorPrivileged();
        boolean privilegedPermission = bp.isPrivileged() || bp.isVendorPrivileged();
@@ -3771,7 +3778,7 @@ public class PermissionManagerService extends IPermissionManager.Stub {
                // Any pre-installed system app is allowed to get this permission.
                allowed = true;
            }
            if (!allowed && bp.isDevelopment()) {
            if (!allowed && bp.isDevelopment() && !(bp.isPre23() && isApi23Upgrade)) {
                // For development permissions, a development permission
                // is granted only if it was already granted.
                allowed = origPermissions.hasInstallPermission(perm);