diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index cf15334a38fc..4e493129224a 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -1718,7 +1718,9 @@ public class PackageManagerService extends IPackageManager.Stub { BasePermission bp = mSettings.mPermissions.get(permission); if (bp != null && (bp.isRuntime() || bp.isDevelopment()) && (grantedPermissions == null - || ArrayUtils.contains(grantedPermissions, permission))) { + || ArrayUtils.contains(grantedPermissions, permission)) + && (getPermissionFlags(permission, pkg.packageName, userId) + & PackageManager.FLAG_PERMISSION_SYSTEM_FIXED) == 0) { grantRuntimePermission(pkg.packageName, permission, userId); } } |