diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java index 30eccca48ee93..08f6a27e49b52 100644 --- a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java +++ b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java @@ -1381,12 +1381,16 @@ public class PermissionManagerService extends IPermissionManager.Stub { final AndroidPackage pkg = mPackageManagerInt.getPackage(packageName); final int callingUid = Binder.getCallingUid(); - final int packageUid = UserHandle.getUid(userId, pkg.getUid()); + if (mPackageManagerInt.filterAppAccess(packageName, callingUid, userId)) { + return false; + } if (!checkAutoRevokeAccess(pkg, callingUid)) { return false; } + final int packageUid = UserHandle.getUid(userId, pkg.getUid()); + final long identity = Binder.clearCallingIdentity(); try { return mAppOpsManager.checkOpNoThrow(