# RegistryManagerProvider

Artifact: [androidx.credentials.registry:registry-provider](https://developer.android.com/jetpack/androidx/releases/credentials-registry) [View Source](https://cs.android.com/search?q=file:androidx/credentials/registry/provider/RegistryManagerProvider.kt+class:androidx.credentials.registry.provider.RegistryManagerProvider) Added in [1.0.0-alpha05](https://developer.android.com/jetpack/androidx/releases/credentials-registry#1.0.0-alpha05)

*** ** * ** ***


```
public interface RegistryManagerProvider
```

<br />

*** ** * ** ***

Provider interface to be implemented by a system registry manager service provider that will fulfill `https://developer.android.com/reference/androidx/credentials/registry/provider/RegistryManager` requests. The implementation **must** have a constructor that takes in a context.

## Summary

| ### Public methods |
|---|---|
| `abstract boolean` | `https://developer.android.com/reference/androidx/credentials/registry/provider/RegistryManagerProvider#isAvailable()()` Returns true if the provider is available on this device, or otherwise false. |
| `abstract void` | `https://developer.android.com/reference/androidx/credentials/registry/provider/RegistryManagerProvider#onClearCreationOptions(androidx.credentials.registry.provider.ClearCreationOptionsRequest,java.util.concurrent.Executor,androidx.credentials.CredentialManagerCallback)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/ClearCreationOptionsRequest request, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/concurrent/Executor.html executor, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/CredentialManagerCallback<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/ClearCreationOptionsResponse, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/ClearCreationOptionsException> callback )` Invoked on a request to clear creation options. |
| `abstract void` | `https://developer.android.com/reference/androidx/credentials/registry/provider/RegistryManagerProvider#onClearCredentialRegistry(androidx.credentials.registry.provider.ClearCredentialRegistryRequest,java.util.concurrent.Executor,androidx.credentials.CredentialManagerCallback)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/ClearCredentialRegistryRequest request, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/concurrent/Executor.html executor, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/CredentialManagerCallback<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/ClearCredentialRegistryResponse, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/ClearCredentialRegistryException> callback )` Invoked on a request to clear credential registries. |
| `abstract void` | `https://developer.android.com/reference/androidx/credentials/registry/provider/RegistryManagerProvider#onRegisterCreationOptions(androidx.credentials.registry.provider.RegisterCreationOptionsRequest,android.os.CancellationSignal,java.util.concurrent.Executor,androidx.credentials.CredentialManagerCallback)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/RegisterCreationOptionsRequest request, https://developer.android.com/reference/android/os/CancellationSignal.html cancellationSignal, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/concurrent/Executor.html executor, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/CredentialManagerCallback<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/RegisterCreationOptionsResponse, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/RegisterCreationOptionsException> callback )` Invoked on a request to register creation options. |
| `abstract void` | `https://developer.android.com/reference/androidx/credentials/registry/provider/RegistryManagerProvider#onRegisterCredentials(androidx.credentials.registry.provider.RegisterCredentialsRequest,android.os.CancellationSignal,java.util.concurrent.Executor,androidx.credentials.CredentialManagerCallback)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/RegisterCredentialsRequest request, https://developer.android.com/reference/android/os/CancellationSignal.html cancellationSignal, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/concurrent/Executor.html executor, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/CredentialManagerCallback<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/RegisterCredentialsResponse, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/RegisterCredentialsException> callback )` Invoked on a request to register a credential. |

## Public methods

### isAvailable

Added in [1.0.0-alpha05](https://developer.android.com/jetpack/androidx/releases/credentials-registry#1.0.0-alpha05)

```
abstract boolean isAvailable()
```

Returns true if the provider is available on this device, or otherwise false.

### onClearCreationOptions

Added in [1.0.0-alpha05](https://developer.android.com/jetpack/androidx/releases/credentials-registry#1.0.0-alpha05)

```
abstract void onClearCreationOptions(
    @NonNull ClearCreationOptionsRequest request,
    @NonNull Executor executor,
    @NonNull CredentialManagerCallback<@NonNull ClearCreationOptionsResponse, @NonNull ClearCreationOptionsException> callback
)
```

Invoked on a request to clear creation options.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/ClearCreationOptionsRequest request` | the request to specify clearing configurations |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/concurrent/Executor.html executor` | the callback will take place on this executor |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/CredentialManagerCallback<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/ClearCreationOptionsResponse, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/ClearCreationOptionsException> callback` | the callback invoked when the request succeeds or fails |

### onClearCredentialRegistry

Added in [1.0.0-alpha05](https://developer.android.com/jetpack/androidx/releases/credentials-registry#1.0.0-alpha05)

```
abstract void onClearCredentialRegistry(
    @NonNull ClearCredentialRegistryRequest request,
    @NonNull Executor executor,
    @NonNull CredentialManagerCallback<@NonNull ClearCredentialRegistryResponse, @NonNull ClearCredentialRegistryException> callback
)
```

Invoked on a request to clear credential registries.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/ClearCredentialRegistryRequest request` | the request to specify clearing configurations |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/concurrent/Executor.html executor` | the callback will take place on this executor |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/CredentialManagerCallback<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/ClearCredentialRegistryResponse, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/ClearCredentialRegistryException> callback` | the callback invoked when the request succeeds or fails |

### onRegisterCreationOptions

Added in [1.0.0-alpha05](https://developer.android.com/jetpack/androidx/releases/credentials-registry#1.0.0-alpha05)

```
abstract void onRegisterCreationOptions(
    @NonNull RegisterCreationOptionsRequest request,
    CancellationSignal cancellationSignal,
    @NonNull Executor executor,
    @NonNull CredentialManagerCallback<@NonNull RegisterCreationOptionsResponse, @NonNull RegisterCreationOptionsException> callback
)
```

Invoked on a request to register creation options.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/RegisterCreationOptionsRequest request` | the request containing the creation options to register |
| `https://developer.android.com/reference/android/os/CancellationSignal.html cancellationSignal` | an optional signal that allows for cancelling this call |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/concurrent/Executor.html executor` | the callback will take place on this executor |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/CredentialManagerCallback<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/RegisterCreationOptionsResponse, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/RegisterCreationOptionsException> callback` | the callback invoked when the request succeeds or fails |

### onRegisterCredentials

Added in [1.0.0-alpha05](https://developer.android.com/jetpack/androidx/releases/credentials-registry#1.0.0-alpha05)

```
abstract void onRegisterCredentials(
    @NonNull RegisterCredentialsRequest request,
    CancellationSignal cancellationSignal,
    @NonNull Executor executor,
    @NonNull CredentialManagerCallback<@NonNull RegisterCredentialsResponse, @NonNull RegisterCredentialsException> callback
)
```

Invoked on a request to register a credential.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/RegisterCredentialsRequest request` | the request containing the credential data to register |
| `https://developer.android.com/reference/android/os/CancellationSignal.html cancellationSignal` | an optional signal that allows for cancelling this call |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/concurrent/Executor.html executor` | the callback will take place on this executor |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/CredentialManagerCallback<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/RegisterCredentialsResponse, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/credentials/registry/provider/RegisterCredentialsException> callback` | the callback invoked when the request succeeds or fails |