Added in [API level 36](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Also in [R Extensions 16](https://developer.android.com/sdkExtensions) Summary: [Ctors](https://developer.android.com/reference/android/provider/CloudMediaProviderContract.Capabilities.Builder#pubctors) \| [Methods](https://developer.android.com/reference/android/provider/CloudMediaProviderContract.Capabilities.Builder#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/provider/CloudMediaProviderContract.Capabilities.Builder#inhmethods)

# CloudMediaProviderContract.Capabilities.Builder

*** ** * ** ***

` public static final class CloudMediaProviderContract.Capabilities.Builder `   
` extends https://developer.android.com/reference/java/lang/Object ` ` `

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.provider.CloudMediaProviderContract.Capabilities.Builder |

<br />

*** ** * ** ***

Builder for a `https://developer.android.com/reference/android/provider/CloudMediaProviderContract.Capabilities` object.
**See also:**

- `https://developer.android.com/reference/android/provider/CloudMediaProviderContract.Capabilities`

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/provider/CloudMediaProviderContract.Capabilities.Builder#Builder()() ` |

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

### Inherited methods

From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.

## Public constructors

### Builder

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

```
public Builder ()
```

<br />

<br />

## Public methods

### build

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

```
public CloudMediaProviderContract.Capabilities build ()
```

Create a new `https://developer.android.com/reference/android/provider/CloudMediaProviderContract.Capabilities` object with the current builder's Capabilities.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/provider/CloudMediaProviderContract.Capabilities` | This value cannot be `null`. <br /> |

### setAlbumsAsCategoryEnabled

Added in [version 36.1](https://developer.android.com/topic/libraries/support-library/revisions)  
Also in [R Extensions 19](https://developer.android.com/sdkExtensions)

```
public CloudMediaProviderContract.Capabilities.Builder setAlbumsAsCategoryEnabled (boolean enabled)
```

Set true if the CloudMediaProvider will return user albums as a grouped category. When this capability is enabled, `https://developer.android.com/reference/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 `https://developer.android.com/reference/android/provider/CloudMediaProviderContract#MEDIA_CATEGORY_TYPE_USER_ALBUMS` will be provided in the `https://developer.android.com/reference/android/provider/CloudMediaProvider#onQueryMediaCategories(java.lang.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 `https://developer.android.com/reference/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.

<br />

| Parameters ||
|---|---|
| `enabled` | `boolean`: true if this capability is supported, the default value is false. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/provider/CloudMediaProviderContract.Capabilities.Builder` | This value cannot be `null`. <br /> |

**See also:**

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

### setMediaCategoriesEnabled

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

```
public CloudMediaProviderContract.Capabilities.Builder setMediaCategoriesEnabled (boolean enabled)
```

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

<br />

| Parameters ||
|---|---|
| `enabled` | `boolean`: true if this capability is supported, the default value is false. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/provider/CloudMediaProviderContract.Capabilities.Builder` | This value cannot be `null`. <br /> |

**See also:**

- `https://developer.android.com/reference/android/provider/CloudMediaProvider#onQueryMediaCategories(java.lang.String,%20android.os.Bundle,%20android.os.CancellationSignal)`
- `https://developer.android.com/reference/android/provider/CloudMediaProvider#onQueryMediaSets(java.lang.String,%20android.os.Bundle,%20android.os.CancellationSignal)`

### setSearchEnabled

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

```
public CloudMediaProviderContract.Capabilities.Builder setSearchEnabled (boolean enabled)
```

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

<br />

| Parameters ||
|---|---|
| `enabled` | `boolean`: true if this capability is supported, the default value is false. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/provider/CloudMediaProviderContract.Capabilities.Builder` | This value cannot be `null`. <br /> |

**See also:**

- `https://developer.android.com/reference/android/provider/CloudMediaProvider#onSearchMedia(java.lang.String,%20android.os.Bundle,%20android.os.CancellationSignal)`
- `https://developer.android.com/reference/android/provider/CloudMediaProvider#onQuerySearchSuggestions(java.lang.String,%20android.os.Bundle,%20android.os.CancellationSignal)`