Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5954f110 authored by Kiran Ramachandra's avatar Kiran Ramachandra
Browse files

Added GRANT & REVOKE permissions to getAllPermissionStates

This change is required since the PC will be accessing the new API getAllPermissionStates, which is currently guarded by android.permission.GET_RUNTIME_PERMISSIONS. Also, this change aligns with getPermissionFlags API, which allows access to any of 3 permissions

Bug: 322875936
Test: atest CtsPermissionMultiDeviceTestCases:android.permissionmultidevice.cts.AppPermissionsTest
Change-Id: Icb96637d25fe407464eabfaa3f1faaa219292bbf
parent acca83b6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -11537,7 +11537,7 @@ package android.permission {
    method public int checkPermissionForPreflight(@NonNull String, @NonNull android.content.AttributionSource);
    method @RequiresPermission(value=android.Manifest.permission.UPDATE_APP_OPS_STATS, conditional=true) public int checkPermissionForStartDataDelivery(@NonNull String, @NonNull android.content.AttributionSource, @Nullable String);
    method public void finishDataDelivery(@NonNull String, @NonNull android.content.AttributionSource);
    method @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") @NonNull @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public java.util.Map<java.lang.String,android.permission.PermissionManager.PermissionState> getAllPermissionStates(@NonNull String, @NonNull String);
    method @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") @NonNull @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, android.Manifest.permission.GET_RUNTIME_PERMISSIONS}) public java.util.Map<java.lang.String,android.permission.PermissionManager.PermissionState> getAllPermissionStates(@NonNull String, @NonNull String);
    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionGrantedPackages();
    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionRequestedPackages();
    method @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, android.Manifest.permission.GET_RUNTIME_PERMISSIONS}) public int getPermissionFlags(@NonNull String, @NonNull String, @NonNull String);
+5 −1
Original line number Diff line number Diff line
@@ -1800,7 +1800,11 @@ public final class PermissionManager {
     */
    @SystemApi
    @NonNull
    @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS)
    @RequiresPermission(anyOf = {
            android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS,
            android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS,
            android.Manifest.permission.GET_RUNTIME_PERMISSIONS
    })
    @FlaggedApi(Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED)
    public Map<String, PermissionState> getAllPermissionStates(@NonNull String packageName,
            @NonNull String persistentDeviceId) {
+2 −0
Original line number Diff line number Diff line
@@ -1112,6 +1112,8 @@ class PermissionService(private val service: AccessCheckingService) :
        )
        enforceCallingOrSelfAnyPermission(
            "getAllPermissionStates",
            Manifest.permission.GRANT_RUNTIME_PERMISSIONS,
            Manifest.permission.REVOKE_RUNTIME_PERMISSIONS,
            Manifest.permission.GET_RUNTIME_PERMISSIONS
        )