summaryrefslogtreecommitdiff
path: root/services/permission/java
diff options
context:
space:
mode:
author fayey <fayey@google.com> 2023-02-09 21:44:32 +0000
committer Winson Chiu <chiuwinson@google.com> 2023-02-15 00:16:18 +0000
commit0434c2a8b78da173e5df0cac4e785e419f74b09b (patch)
treec76380e08489fc2587ecf3b00d2da74002b81ba1 /services/permission/java
parentc366288ac1e4d7fac2196adec138ac316bde5ede (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.kt11
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 -> {}
}
}