# MediaRouteDescriptor.Builder

Artifact: [androidx.mediarouter:mediarouter](https://developer.android.com/jetpack/androidx/releases/mediarouter) [View Source](https://cs.android.com/search?q=file:androidx/mediarouter/media/MediaRouteDescriptor.java+class:androidx.mediarouter.media.MediaRouteDescriptor.Builder) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

*** ** * ** ***


```
class MediaRouteDescriptor.Builder
```

<br />

*** ** * ** ***

Builder for `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#Builder(androidx.mediarouter.media.MediaRouteDescriptor)(descriptor: https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor)` Creates a media route descriptor builder whose initial contents are copied from an existing descriptor. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#Builder(java.lang.String,java.lang.String)(id: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)` Creates a media route descriptor builder. |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#addControlFilter(android.content.IntentFilter)(filter: https://developer.android.com/reference/android/content/IntentFilter.html)` Adds a `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` filter for the route. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#addControlFilters(java.util.Collection<android.content.IntentFilter>)(filters: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-collection/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-collection/index.html<https://developer.android.com/reference/android/content/IntentFilter.html!>)` Adds a list of `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` filters for the route. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#build()()` Builds the `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor`. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#clearControlFilters()()` Clears `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` filters for the route. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setCanDisconnect(boolean)(canDisconnect: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Sets whether the route can be disconnected without stopping playback. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `[setConnecting](https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setConnecting(boolean))(connecting: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setConnectionState(int)` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setConnectionState(int)(connectionState: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the route's connection state. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setDeduplicationIds(java.util.Set<java.lang.String>)(deduplicationIds: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-set/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>)` Sets the route's deduplication ids. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setDescription(java.lang.String)(description: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?)` Sets the user-visible description of the route. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setDeviceType(int)(deviceType: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the route's receiver device type. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setEnabled(boolean)(enabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Sets whether the route is enabled. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setExtras(android.os.Bundle)(extras: https://developer.android.com/reference/android/os/Bundle.html?)` Sets a bundle of extras for this route descriptor. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setIconUri(android.net.Uri)(iconUri: https://developer.android.com/reference/android/net/Uri.html)` Sets the URI of the icon representing this route. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setId(java.lang.String)(id: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)` Sets the unique id of the route. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setIsDynamicGroupRoute(boolean)(isDynamicGroupRoute: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Sets whether the route is a dynamic group route. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setName(java.lang.String)(name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)` Sets the user-visible name of the route. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setPlaybackStream(int)(playbackStream: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the route's playback stream. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setPlaybackType(int)(playbackType: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the route's playback type. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setPresentationDisplayId(int)(presentationDisplayId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the route's presentation display id, or -1 if none. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setRequiredPermissions(java.util.List<java.util.Set<java.lang.String>>)( requiresOneOf: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-set/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!> )` Limits the visibility of this route to holders of one of a set of permissions. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setRoutingControllerId(java.lang.String)(routingControllerId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?)` Sets the routing controller id. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setSettingsActivity(android.content.IntentSender)(is: https://developer.android.com/reference/android/content/IntentSender.html?)` Sets an intent sender for launching the settings activity for this route. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setVisibilityPublic()()` Sets the visibility of this route to public. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setVisibilityRestricted(java.util.Set<java.lang.String>)(allowedPackages: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-set/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>)` Sets the visibility of this route to restricted. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setVolume(int)(volume: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the route's current volume, or 0 if unknown. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setVolumeHandling(int)(volumeHandling: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the route's volume handling. |
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder` | `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setVolumeMax(int)(volumeMax: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the route's maximum volume, or 0 if unknown. |

## Public constructors

### Builder

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
Builder(descriptor: MediaRouteDescriptor)
```

Creates a media route descriptor builder whose initial contents are copied from an existing descriptor.

### Builder

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
Builder(id: String, name: String)
```

Creates a media route descriptor builder.

| Parameters |
|---|---|
| `id: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | The unique id of the route. |
| `name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | The user-visible name of the route. |

## Public functions

### addControlFilter

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun addControlFilter(filter: IntentFilter): MediaRouteDescriptor.Builder
```

Adds a `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` filter for the route.

### addControlFilters

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun addControlFilters(filters: (Mutable)Collection<IntentFilter!>): MediaRouteDescriptor.Builder
```

Adds a list of `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` filters for the route.

### build

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun build(): MediaRouteDescriptor
```

Builds the `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor`.

### clearControlFilters

Added in [1.4.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.4.0)

```
fun clearControlFilters(): MediaRouteDescriptor.Builder
```

Clears `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaControlIntent` filters for the route.

### setCanDisconnect

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun setCanDisconnect(canDisconnect: Boolean): MediaRouteDescriptor.Builder
```

Sets whether the route can be disconnected without stopping playback.

### setConnecting

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0) Deprecated in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun [setConnecting](https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setConnecting(boolean))(connecting: Boolean): MediaRouteDescriptor.Builder
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setConnectionState(int)` instead.

Sets whether the route is in the process of connecting and is not yet ready for use.

### setConnectionState

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun setConnectionState(connectionState: Int): MediaRouteDescriptor.Builder
```

Sets the route's connection state.

| Parameters |
|---|---|
| `connectionState: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The connection state of the route: `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#CONNECTION_STATE_DISCONNECTED()`, `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#CONNECTION_STATE_CONNECTING()`, or `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#CONNECTION_STATE_CONNECTED()`. |

### setDeduplicationIds

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.6.0)

```
fun setDeduplicationIds(deduplicationIds: (Mutable)Set<String!>): MediaRouteDescriptor.Builder
```

Sets the route's deduplication ids.

Two routes are considered to come from the same receiver device if any of their respective deduplication ids match.

| Parameters |
|---|---|
| `deduplicationIds: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-set/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>` | A set of strings that uniquely identify the receiver device that backs this route. |

### setDescription

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun setDescription(description: String?): MediaRouteDescriptor.Builder
```

Sets the user-visible description of the route.

The route description describes the kind of destination represented by the route. It may be a user-supplied string, a model number or brand of device.

### setDeviceType

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun setDeviceType(deviceType: Int): MediaRouteDescriptor.Builder
```

Sets the route's receiver device type.

| Parameters |
|---|---|
| `deviceType: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The type of the receiver device. |

### setEnabled

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun setEnabled(enabled: Boolean): MediaRouteDescriptor.Builder
```

Sets whether the route is enabled.

Disabled routes represent routes that a route provider knows about, such as paired Wifi Display receivers, but that are not currently available for use.

### setExtras

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun setExtras(extras: Bundle?): MediaRouteDescriptor.Builder
```

Sets a bundle of extras for this route descriptor. The extras will be ignored by the media router but they may be used by applications.

### setIconUri

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun setIconUri(iconUri: Uri): MediaRouteDescriptor.Builder
```

Sets the URI of the icon representing this route.

This icon will be used in picker UIs if available.

The URI must be one of the following formats:

- content (`https://developer.android.com/reference/android/content/ContentResolver.html#SCHEME_CONTENT`)
- android.resource (`https://developer.android.com/reference/android/content/ContentResolver.html#SCHEME_ANDROID_RESOURCE`)
- file (`https://developer.android.com/reference/android/content/ContentResolver.html#SCHEME_FILE`)

### setId

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun setId(id: String): MediaRouteDescriptor.Builder
```

Sets the unique id of the route.

The route id associated with a route descriptor functions as a stable identifier for the route and must be unique among all routes offered by the provider.

### setIsDynamicGroupRoute

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun setIsDynamicGroupRoute(isDynamicGroupRoute: Boolean): MediaRouteDescriptor.Builder
```

Sets whether the route is a dynamic group route.

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor#isDynamicGroupRoute()` |   |

### setName

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun setName(name: String): MediaRouteDescriptor.Builder
```

Sets the user-visible name of the route.

The route name identifies the destination represented by the route. It may be a user-supplied name, an alias, or device serial number.

### setPlaybackStream

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun setPlaybackStream(playbackStream: Int): MediaRouteDescriptor.Builder
```

Sets the route's playback stream.

### setPlaybackType

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun setPlaybackType(playbackType: Int): MediaRouteDescriptor.Builder
```

Sets the route's playback type.

| Parameters |
|---|---|
| `playbackType: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The playback type of the route: `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#PLAYBACK_TYPE_LOCAL()` or `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#PLAYBACK_TYPE_REMOTE()`. |

### setPresentationDisplayId

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun setPresentationDisplayId(presentationDisplayId: Int): MediaRouteDescriptor.Builder
```

Sets the route's presentation display id, or -1 if none.

### setRequiredPermissions

Added in [1.9.0-rc01](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.9.0-rc01)

```
fun setRequiredPermissions(
    requiresOneOf: (Mutable)List<(Mutable)Set<String!>!>
): MediaRouteDescriptor.Builder
```

Limits the visibility of this route to holders of one of a set of permissions.

Calls to this method override any previous calls of `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setRequiredPermissions(java.util.List<java.util.Set<java.lang.String>>)`.

| Parameters |
|---|---|
| `requiresOneOf: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-set/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>!>` | a list of Sets of permissions. Holding all permissions in at least one of the Sets is required for the route to be visible. |

### setRoutingControllerId

Added in [1.9.0-rc01](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.9.0-rc01)

```
fun setRoutingControllerId(routingControllerId: String?): MediaRouteDescriptor.Builder
```

Sets the routing controller id.

| Parameters |
|---|---|
| `routingControllerId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | Sets the routing controller id. May be null if not applicable. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor#getRoutingControllerId()` |   |

### setSettingsActivity

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun setSettingsActivity(is: IntentSender?): MediaRouteDescriptor.Builder
```

Sets an intent sender for launching the settings activity for this route.

### setVisibilityPublic

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.6.0)

```
fun setVisibilityPublic(): MediaRouteDescriptor.Builder
```

Sets the visibility of this route to public.

By default, unless you call `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setVisibilityRestricted(java.util.Set<java.lang.String>)`, the new route will be public.

Public routes are visible to any application with a matching `https://developer.android.com/reference/android/media/RouteDiscoveryPreference.html#getPreferredFeatures()`.

Calls to this method override previous calls to `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setVisibilityPublic()` and `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setVisibilityRestricted(java.util.Set<java.lang.String>)`.

### setVisibilityRestricted

Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.6.0)

```
fun setVisibilityRestricted(allowedPackages: (Mutable)Set<String!>): MediaRouteDescriptor.Builder
```

Sets the visibility of this route to restricted.

Routes with restricted visibility are only visible to its publisher application and applications whose package name is included in the provided `allowedPackages` set with a matching `https://developer.android.com/reference/android/media/RouteDiscoveryPreference.html#getPreferredFeatures()`.

Calls to this method override previous calls to `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setVisibilityPublic()` and `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setVisibilityRestricted(java.util.Set<java.lang.String>)`.

| Parameters |
|---|---|
| `allowedPackages: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-set/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-set/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!>` | set of package names which are allowed to see this route. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouteDescriptor.Builder#setVisibilityPublic()` |   |

### setVolume

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun setVolume(volume: Int): MediaRouteDescriptor.Builder
```

Sets the route's current volume, or 0 if unknown.

### setVolumeHandling

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun setVolumeHandling(volumeHandling: Int): MediaRouteDescriptor.Builder
```

Sets the route's volume handling.

| Parameters |
|---|---|
| `volumeHandling: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | how volume is handled on the route: `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#PLAYBACK_VOLUME_FIXED()` or `https://developer.android.com/reference/kotlin/androidx/mediarouter/media/MediaRouter.RouteInfo#PLAYBACK_VOLUME_VARIABLE()`. |

### setVolumeMax

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/mediarouter#1.1.0)

```
fun setVolumeMax(volumeMax: Int): MediaRouteDescriptor.Builder
```

Sets the route's maximum volume, or 0 if unknown.