diff options
| author | 2015-11-17 19:08:34 +0000 | |
|---|---|---|
| committer | 2015-11-17 19:08:34 +0000 | |
| commit | fc1a1bad338fbd158516dc823de9fe9ca9b05acb (patch) | |
| tree | 83e8770825894de7715fcea0686cac3f52b88587 | |
| parent | 0e563f00b55b470427ba16522e7aa083a7ca5b47 (diff) | |
| parent | 505184bf459a1f961bb3ae77a4d021ebe55d65b3 (diff) | |
Merge "Don't grant runtime permissions on install to legacy apps"
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 9 |
1 files changed, 8 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 02a620468afc..992919e7173f 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -1375,7 +1375,9 @@ public class PackageManagerService extends IPackageManager.Stub { // Now that we successfully installed the package, grant runtime // permissions if requested before broadcasting the install. if ((args.installFlags - & PackageManager.INSTALL_GRANT_RUNTIME_PERMISSIONS) != 0) { + & PackageManager.INSTALL_GRANT_RUNTIME_PERMISSIONS) != 0 + && res.pkg.applicationInfo.targetSdkVersion + >= Build.VERSION_CODES.M) { grantRequestedRuntimePermissions(res.pkg, args.user.getIdentifier(), args.installGrantPermissions); } @@ -3567,6 +3569,11 @@ public class PackageManagerService extends IPackageManager.Stub { return; } + if (pkg.applicationInfo.targetSdkVersion < Build.VERSION_CODES.M) { + Slog.w(TAG, "Cannot grant runtime permission to a legacy app"); + return; + } + final int result = permissionsState.grantRuntimePermission(bp, userId); switch (result) { case PermissionsState.PERMISSION_OPERATION_FAILURE: { |