diff options
| author | 2023-02-09 21:44:32 +0000 | |
|---|---|---|
| committer | 2023-02-15 00:16:18 +0000 | |
| commit | 0434c2a8b78da173e5df0cac4e785e419f74b09b (patch) | |
| tree | c76380e08489fc2587ecf3b00d2da74002b81ba1 /services/permission/java | |
| parent | c366288ac1e4d7fac2196adec138ac316bde5ede (diff) | |
Allow setting app op permissions to support
PackageInstaller.SessionParams#setPermisisonStates API.
This is the first part of the Permission & app op support of Fullscreen
Intent Protection that implements the actual grant/revocation of the FSI
permission/app op to back the new PackageInstaller#setPermissionStates
API.
Test: atest
Bug: 268092291
Change-Id: I8ff039a388796dc8cebf877f25e1f535aab6e006
Diffstat (limited to 'services/permission/java')
| -rw-r--r-- | services/permission/java/com/android/server/permission/access/permission/PermissionService.kt | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/services/permission/java/com/android/server/permission/access/permission/PermissionService.kt b/services/permission/java/com/android/server/permission/access/permission/PermissionService.kt index ef35010c1da2..8ceac798c06b 100644 --- a/services/permission/java/com/android/server/permission/access/permission/PermissionService.kt +++ b/services/permission/java/com/android/server/permission/access/permission/PermissionService.kt @@ -72,6 +72,7 @@ import com.android.server.permission.access.util.hasAnyBit import com.android.server.permission.access.util.hasBits import com.android.server.permission.access.util.withClearedCallingIdentity import com.android.server.pm.KnownPackages +import com.android.server.pm.PackageInstallerService import com.android.server.pm.PackageManagerLocal import com.android.server.pm.UserManagerInternal import com.android.server.pm.UserManagerService @@ -770,10 +771,12 @@ class PermissionService( ) } } - permission.isAppOp -> setAppOpPermissionGranted( - packageState, userId, permissionName, - permissionState == PackageInstaller.SessionParams.PERMISSION_STATE_GRANTED - ) + permission.isAppOp && permissionName in + PackageInstallerService.INSTALLER_CHANGEABLE_APP_OP_PERMISSIONS -> + setAppOpPermissionGranted( + packageState, userId, permissionName, permissionState == + PackageInstaller.SessionParams.PERMISSION_STATE_GRANTED + ) else -> {} } } |