# FakePermissionController

Artifact: [androidx.health.connect:connect-testing](https://developer.android.com/jetpack/androidx/releases/health-connect) [View Source](https://cs.android.com/search?q=file:androidx/health/connect/client/testing/FakePermissionController.kt+class:androidx.health.connect.client.testing.FakePermissionController) Added in [1.0.0-alpha04](https://developer.android.com/jetpack/androidx/releases/health-connect#1.0.0-alpha04)

*** ** * ** ***


```
public final class FakePermissionController implements PermissionController
```

<br />

*** ** * ** ***

A fake `https://developer.android.com/reference/androidx/health/connect/client/PermissionController` that enables full control of permissions in tests for a `https://developer.android.com/reference/androidx/health/connect/client/HealthConnectClient`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionController#FakePermissionController(kotlin.Boolean)(boolean grantAll)` |

| ### Public methods |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Set.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html>` | `https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionController#getGrantedPermissions()()` Returns a fake set of permissions. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionControllerOverrides` | `https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionController#getOverrides()()` Used to override or intercept responses to emulate scenarios that `https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionController` doesn't support directly, such as throwing an exception or applying custom logic to the responses. |
| `final void` | `https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionController#grantPermission(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html permission)` Adds a permission to the set of granted permissions returned by `https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionController#getGrantedPermissions()`. |
| `final void` | `https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionController#grantPermissions(kotlin.collections.Set)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Set.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html> permission)` Adds permissions to the set of granted permissions returned by `https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionController#getGrantedPermissions()`. |
| `final void` | `https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionController#replaceGrantedPermissions(kotlin.collections.Set)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Set.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html> permissions)` Replaces the set of permissions returned by `https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionController#getGrantedPermissions()` with a new set. |
| `void` | `https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionController#revokeAllPermissions()()` Clears the set of permissions returned by `https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionController#getGrantedPermissions()`. |
| `final void` | `https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionController#revokePermission(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html permission)` Removes a permission from the set of granted permissions returned by `https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionController#getGrantedPermissions()`. |

## Public constructors

### FakePermissionController

Added in [1.0.0-alpha04](https://developer.android.com/jetpack/androidx/releases/health-connect#1.0.0-alpha04)

```
public FakePermissionController(boolean grantAll)
```

| Parameters |
|---|---|
| `boolean grantAll` | grants all permissions on creation |

## Public methods

### getGrantedPermissions

```
public @NonNull Set<@NonNull String> getGrantedPermissions()
```

Returns a fake set of permissions.

### getOverrides

Added in [1.0.0-alpha04](https://developer.android.com/jetpack/androidx/releases/health-connect#1.0.0-alpha04)

```
public final @NonNull FakePermissionControllerOverrides getOverrides()
```

Used to override or intercept responses to emulate scenarios that `https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionController` doesn't support directly, such as throwing an exception or applying custom logic to the responses.

### grantPermission

Added in [1.0.0-alpha04](https://developer.android.com/jetpack/androidx/releases/health-connect#1.0.0-alpha04)

```
public final void grantPermission(@NonNull String permission)
```

Adds a permission to the set of granted permissions returned by `https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionController#getGrantedPermissions()`.

### grantPermissions

Added in [1.0.0-alpha04](https://developer.android.com/jetpack/androidx/releases/health-connect#1.0.0-alpha04)

```
public final void grantPermissions(@NonNull Set<@NonNull String> permission)
```

Adds permissions to the set of granted permissions returned by `https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionController#getGrantedPermissions()`.

### replaceGrantedPermissions

Added in [1.0.0-alpha04](https://developer.android.com/jetpack/androidx/releases/health-connect#1.0.0-alpha04)

```
public final void replaceGrantedPermissions(@NonNull Set<@NonNull String> permissions)
```

Replaces the set of permissions returned by `https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionController#getGrantedPermissions()` with a new set.

### revokeAllPermissions

Added in [1.0.0-alpha04](https://developer.android.com/jetpack/androidx/releases/health-connect#1.0.0-alpha04)

```
public void revokeAllPermissions()
```

Clears the set of permissions returned by `https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionController#getGrantedPermissions()`.

### revokePermission

Added in [1.0.0-alpha04](https://developer.android.com/jetpack/androidx/releases/health-connect#1.0.0-alpha04)

```
public final void revokePermission(@NonNull String permission)
```

Removes a permission from the set of granted permissions returned by `https://developer.android.com/reference/androidx/health/connect/client/testing/FakePermissionController#getGrantedPermissions()`.