# CloudMediaProviderContract.Capabilities.Builder

Added in[API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  
Also in[R Extensions 16](https://developer.android.com/sdkExtensions)

# Builder

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/android/provider/CloudMediaProviderContract.Capabilities.Builder "View this page in Java")  

```
class Builder
```

|---|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                                                                                                       ||
| ↳ | [android.provider.CloudMediaProviderContract.Capabilities.Builder](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProviderContract.Capabilities.Builder#) |

Builder for a[CloudMediaProviderContract.Capabilities](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProviderContract.Capabilities)object.

## Summary

|                                                                Public constructors                                                                 ||
|-------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [Builder](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProviderContract.Capabilities.Builder#Builder())`()` <br /> |

|                                                                                                                                                                                                                                                                                   Public methods                                                                                                                                                                                                                                                                                    ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [CloudMediaProviderContract.Capabilities](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProviderContract.Capabilities)                  | [build](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProviderContract.Capabilities.Builder#build())`()` Create a new[CloudMediaProviderContract.Capabilities](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProviderContract.Capabilities)object with the current builder's Capabilities.                                                             |
| [CloudMediaProviderContract.Capabilities.Builder](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProviderContract.Capabilities.Builder#) | [setAlbumsAsCategoryEnabled](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProviderContract.Capabilities.Builder#setAlbumsAsCategoryEnabled(kotlin.Boolean))`(`enabled:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` Set true if the CloudMediaProvider will return user albums as a grouped category.                                  |
| [CloudMediaProviderContract.Capabilities.Builder](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProviderContract.Capabilities.Builder#) | [setMediaCategoriesEnabled](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProviderContract.Capabilities.Builder#setMediaCategoriesEnabled(kotlin.Boolean))`(`enabled:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` The MediaCategories capability informs that category related APIs are supported and can be invoked on this provider. |
| [CloudMediaProviderContract.Capabilities.Builder](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProviderContract.Capabilities.Builder#) | [setSearchEnabled](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProviderContract.Capabilities.Builder#setSearchEnabled(kotlin.Boolean))`(`enabled:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` The SearchEnabled capability informs that search related APIs are supported and can be invoked on this provider.                       |

## Public constructors

### Builder

Added in[API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  
Also in[R Extensions 16](https://developer.android.com/sdkExtensions)  

```
Builder()
```

## Public methods

### build

Added in[API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  
Also in[R Extensions 16](https://developer.android.com/sdkExtensions)  

```
fun build(): CloudMediaProviderContract.Capabilities
```

Create a new[CloudMediaProviderContract.Capabilities](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProviderContract.Capabilities)object with the current builder's Capabilities.

|                                                                                     Return                                                                                      ||
|----------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [CloudMediaProviderContract.Capabilities](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProviderContract.Capabilities) | This value cannot be`null`. |

### setAlbumsAsCategoryEnabled

Added in[API level 36.1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  
Also in[R Extensions 19](https://developer.android.com/sdkExtensions)  

```
fun setAlbumsAsCategoryEnabled(enabled: Boolean): CloudMediaProviderContract.Capabilities.Builder
```

Set true if the CloudMediaProvider will return user albums as a grouped category. When this capability is enabled,[CloudMediaProvider.onQueryAlbums](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProvider#onQueryAlbums(android.os.Bundle))will no longer be called to sync the users albums, and it is expected that a category with the type[MEDIA_CATEGORY_TYPE_USER_ALBUMS](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProviderContract#MEDIA_CATEGORY_TYPE_USER_ALBUMS:kotlin.String)will be provided in the[CloudMediaProvider.onQueryMediaCategories](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProvider#onQueryMediaCategories(kotlin.String,%20android.os.Bundle,%20android.os.CancellationSignal))for providing the user's custom albums. If no such category is returned, then there will be no data for user custom albums. NOTE: This capability requires the[Capabilities.isMediaCategoriesEnabled](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProviderContract.Capabilities#isMediaCategoriesEnabled())capability to also be enabled for the CloudMediaProvider. If it is not, this Capability has no effect and will be ignored.

|                                                                           Parameters                                                                            ||
|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------|
| `enabled` | [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html):true if this capability is supported, the default value is false. |

|                                                                                              Return                                                                                              ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [CloudMediaProviderContract.Capabilities.Builder](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProviderContract.Capabilities.Builder#) | This value cannot be`null`. |

**See Also**

- [android.provider.CloudMediaProvider#onQueryMediaCategories](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProvider#onQueryMediaCategories(kotlin.String,%20android.os.Bundle,%20android.os.CancellationSignal))
- [#MEDIA_CATEGORY_TYPE_USER_ALBUMS](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProviderContract#MEDIA_CATEGORY_TYPE_USER_ALBUMS:kotlin.String)  

### setMediaCategoriesEnabled

Added in[API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  
Also in[R Extensions 16](https://developer.android.com/sdkExtensions)  

```
fun setMediaCategoriesEnabled(enabled: Boolean): CloudMediaProviderContract.Capabilities.Builder
```

The MediaCategories capability informs that category related APIs are supported and can be invoked on this provider.

|                                                                           Parameters                                                                            ||
|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------|
| `enabled` | [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html):true if this capability is supported, the default value is false. |

|                                                                                              Return                                                                                              ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [CloudMediaProviderContract.Capabilities.Builder](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProviderContract.Capabilities.Builder#) | This value cannot be`null`. |

**See Also**

- [android.provider.CloudMediaProvider#onQueryMediaCategories](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProvider#onQueryMediaCategories(kotlin.String,%20android.os.Bundle,%20android.os.CancellationSignal))
- [android.provider.CloudMediaProvider#onQueryMediaSets](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProvider#onQueryMediaSets(kotlin.String,%20android.os.Bundle,%20android.os.CancellationSignal))  

### setSearchEnabled

Added in[API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  
Also in[R Extensions 16](https://developer.android.com/sdkExtensions)  

```
fun setSearchEnabled(enabled: Boolean): CloudMediaProviderContract.Capabilities.Builder
```

The SearchEnabled capability informs that search related APIs are supported and can be invoked on this provider.

|                                                                           Parameters                                                                            ||
|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------|
| `enabled` | [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html):true if this capability is supported, the default value is false. |

|                                                                                              Return                                                                                              ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [CloudMediaProviderContract.Capabilities.Builder](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProviderContract.Capabilities.Builder#) | This value cannot be`null`. |

**See Also**

- [android.provider.CloudMediaProvider#onQuerySearchSuggestions](https://developer.android.com/reference/kotlin/android/provider/CloudMediaProvider#onQuerySearchSuggestions(kotlin.String,%20android.os.Bundle,%20android.os.CancellationSignal))