MediaRouteDescriptor
class MediaRouteDescriptor
Describes the properties of a route.
Each route is uniquely identified by an opaque id string. This token may take any form as long as it is unique within the media route provider.
This object is immutable once created using a Builder instance.
Summary
Nested types |
|---|
|
Builder for |
Public functions |
|
|---|---|
Bundle |
asBundle()Converts this object to a bundle for serialization. |
Boolean |
Gets whether the route can be disconnected without stopping playback. |
java-static MediaRouteDescriptor? |
fromBundle(bundle: Bundle?)Creates an instance from a bundle. |
(Mutable)Set<String!> |
Gets the set of allowed packages which are able to see the route or an empty set if only the route provider's package is allowed to see this route. |
Int |
Gets the connection state of the route. |
(Mutable)List<IntentFilter!> |
Gets the route's |
(Mutable)Set<String!> |
Gets the route's deduplication ids. |
String? |
Gets the user-visible description of the route. |
Int |
Gets the type of the receiver device associated with this route. |
Bundle? |
Gets a bundle of extras for this route descriptor. |
Uri? |
Gets the URI of the icon representing this route. |
String |
getId()Gets the unique id of the route. |
String |
getName()Gets the user-visible name of the route. |
Int |
Gets the route's playback stream. |
Int |
Gets the type of playback associated with this route. |
Int |
Gets the route's presentation display id, or -1 if none. |
IntentSender? |
Gets an |
Int |
Gets the route's current volume, or 0 if unknown. |
Int |
Gets information about how volume is handled on the route. |
Int |
Gets the route's maximum volume, or 0 if unknown. |
Boolean |
This function is deprecated. Use |
Boolean |
Returns if this route is a dynamic group route. |
Boolean |
Gets whether the route is enabled. |
Boolean |
Returns |
Boolean |
isValid()Returns true if the route descriptor has all of the required fields. |
Boolean |
Gets whether the route visibility is public or not. |
String |
toString() |
Public functions
asBundle
fun asBundle(): Bundle
Converts this object to a bundle for serialization.
| Returns | |
|---|---|
Bundle |
The contents of the object represented as a bundle. |
canDisconnectAndKeepPlaying
fun canDisconnectAndKeepPlaying(): Boolean
Gets whether the route can be disconnected without stopping playback.
The route can normally be disconnected without stopping playback when the destination device on the route is connected to two or more source devices. The route provider should update the route immediately when the number of connected devices changes.
To specify that the route should disconnect without stopping use unselect with UNSELECT_REASON_DISCONNECTED.
fromBundle
java-static fun fromBundle(bundle: Bundle?): MediaRouteDescriptor?
Creates an instance from a bundle.
| Parameters | |
|---|---|
bundle: Bundle? |
The bundle, or null if none. |
| Returns | |
|---|---|
MediaRouteDescriptor? |
The new instance, or null if the bundle was null. |
getAllowedPackages
fun getAllowedPackages(): (Mutable)Set<String!>
Gets the set of allowed packages which are able to see the route or an empty set if only the route provider's package is allowed to see this route. This applies only when isVisibilityPublic returns false.
getConnectionState
fun getConnectionState(): Int
Gets the connection state of the route.
| Returns | |
|---|---|
Int |
The connection state of this route: |
getControlFilters
fun getControlFilters(): (Mutable)List<IntentFilter!>
Gets the route's media control intent filters.
getDeduplicationIds
fun getDeduplicationIds(): (Mutable)Set<String!>
Gets the route's deduplication ids.
Two routes are considered to come from the same receiver device if any of their respective deduplication ids match.
getDescription
fun getDescription(): String?
Gets 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.
getDeviceType
fun getDeviceType(): Int
Gets the type of the receiver device associated with this route.
| Returns | |
|---|---|
Int |
The type of the receiver device associated with this route. |
getExtras
fun getExtras(): Bundle?
Gets a bundle of extras for this route descriptor. The extras will be ignored by the media router but they may be used by applications.
getIconUri
fun getIconUri(): Uri?
Gets the URI of the icon representing this route.
This icon will be used in picker UIs if available.
getId
fun getId(): String
Gets 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.
getName
fun getName(): String
Gets 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.
getPlaybackType
fun getPlaybackType(): Int
Gets the type of playback associated with this route.
| Returns | |
|---|---|
Int |
The type of playback associated with this route: |
getPresentationDisplayId
fun getPresentationDisplayId(): Int
Gets the route's presentation display id, or -1 if none.
getSettingsActivity
fun getSettingsActivity(): IntentSender?
Gets an IntentSender for starting a settings activity for this route. The activity may have specific route settings or general settings for the connected device or route provider.
| Returns | |
|---|---|
IntentSender? |
An |
getVolumeHandling
fun getVolumeHandling(): Int
Gets information about how volume is handled on the route.
| Returns | |
|---|---|
Int |
How volume is handled on the route: |
getVolumeMax
fun getVolumeMax(): Int
Gets the route's maximum volume, or 0 if unknown.
isDynamicGroupRoute
fun isDynamicGroupRoute(): Boolean
Returns if this route is a dynamic group route.
MediaRouteProvider creates a dynamic group route when onCreateDynamicGroupRouteController is called. It happens when a single route or a single static group is selected.
If a single device or a static group is selected, the associated dynamic group route should not be seen by any client app because there is already one for the device. After user added more devices into the session, it should be seen by the client app. The provider can treat this by not setting the media intent for the dynamic group route if it contains only one member.
| Returns | |
|---|---|
Boolean |
|
isSystemRoute
fun isSystemRoute(): Boolean
Returns true if this route is a system route.
System routes are routes controlled by the system, like the device's built-in speakers, wired headsets, and bluetooth devices.
To use system routes, your application should write media sample data to a media framework API, typically via Exoplayer.
isValid
fun isValid(): Boolean
Returns true if the route descriptor has all of the required fields.
isVisibilityPublic
fun isVisibilityPublic(): Boolean
Gets whether the route visibility is public or not.