# MediaRouteProviderDescriptor

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

*** ** * ** ***


```
public final class MediaRouteProviderDescriptor
```

<br />

*** ** * ** ***

Describes the state of a media route provider and the routes that it publishes.

This object is immutable once created using a `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteProviderDescriptor.Builder` instance.

## Summary

| ### Nested types |
|---|
| `public final class https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteProviderDescriptor.Builder` Builder for `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteProviderDescriptor`. |

| ### Public methods |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/os/Bundle.html` | `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteProviderDescriptor#asBundle()()` Converts this object to a bundle for serialization. |
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteProviderDescriptor` | `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteProviderDescriptor#fromBundle(android.os.Bundle)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html bundle)` Creates an instance from a bundle. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteDescriptor>` | `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteProviderDescriptor#getRoutes()()` Gets the list of all routes that this provider has published. |
| `boolean` | `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteProviderDescriptor#isValid()()` Returns true if the route provider descriptor and all of the routes that it contains have all of the required fields. |
| `boolean` | `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteProviderDescriptor#supportsDynamicGroupRoute()()` Indicates whether a `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteProvider` supports dynamic group route. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteProviderDescriptor#toString()()` |

## Public methods

### asBundle

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

```
public @NonNull Bundle asBundle()
```

Converts this object to a bundle for serialization.

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/os/Bundle.html` | The contents of the object represented as a bundle. |

### fromBundle

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

```
public static @Nullable MediaRouteProviderDescriptor fromBundle(@Nullable Bundle bundle)
```

Creates an instance from a bundle.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/android/os/Bundle.html bundle` | The bundle, or null if none. |

| Returns |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteProviderDescriptor` | The new instance, or null if the bundle was null. |

### getRoutes

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

```
public @NonNull List<MediaRouteDescriptor> getRoutes()
```

Gets the list of all routes that this provider has published.

If it doesn't have any routes, it returns an empty list.

### isValid

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

```
public boolean isValid()
```

Returns true if the route provider descriptor and all of the routes that it contains have all of the required fields.

This verification is deep. If the provider descriptor is known to be valid then it is not necessary to call this method on each of its routes.

### supportsDynamicGroupRoute

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

```
public boolean supportsDynamicGroupRoute()
```

Indicates whether a `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteProvider` supports dynamic group route.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/mediarouter/media/MediaRouteProvider.DynamicGroupRouteController` |   |

### toString

```
public @NonNull String toString()
```