MediaRouteProvider.RouteController


public abstract class MediaRouteProvider.RouteController

Known direct subclasses
MediaRouteProvider.DynamicGroupRouteController

Provides control over a dynamic group route.


Provides control over a particular route.

The media router obtains a route controller for a route whenever it needs to control a route. When a route is selected, the media router invokes the onSelect method of its route controller. While selected, the media router may call other methods of the route controller to request that it perform certain actions to the route. When a route is unselected, the media router invokes the onUnselect method of its route controller. When the media route no longer needs the route controller it will invoke the onRelease method to allow the route controller to free its resources.

There may be multiple route controllers simultaneously active for the same route. Each route controller will be released separately.

All operations on the route controller are asynchronous and results are communicated via callbacks.

Summary

Public constructors

Public methods

boolean

Performs a media control request asynchronously on behalf of the route.

void

Releases the route controller, allowing it to free its resources.

void

Selects the route.

void
onSetVolume(int volume)

Requests to set the volume of the route.

void

This method is deprecated.

Use onUnselect instead.

void
onUnselect(int reason)

Unselects the route and provides a reason.

void
onUpdateVolume(int delta)

Requests an incremental volume update for the route.

Public constructors

RouteController

Added in 1.1.0
public RouteController()

Public methods

onControlRequest

Added in 1.1.0
public boolean onControlRequest(
    @NonNull Intent intent,
    @Nullable MediaRouter.ControlRequestCallback callback
)

Performs a media control request asynchronously on behalf of the route.

Parameters
@NonNull Intent intent

A media control intent.

@Nullable MediaRouter.ControlRequestCallback callback

A ControlRequestCallback to invoke with the result of the request, or null if no result is required.

Returns
boolean

True if the controller intends to handle the request and will invoke the callback when finished. False if the controller will not handle the request and will not invoke the callback.

onRelease

Added in 1.1.0
public void onRelease()

Releases the route controller, allowing it to free its resources.

onSelect

Added in 1.1.0
public void onSelect()

Selects the route.

onSetVolume

Added in 1.1.0
public void onSetVolume(int volume)

Requests to set the volume of the route.

Parameters
int volume

The new volume value between 0 and getVolumeMax.

onUnselect

Added in 1.1.0
Deprecated in 1.2.0
public void onUnselect()

Unselects the route.

onUnselect

Added in 1.1.0
public void onUnselect(int reason)

Unselects the route and provides a reason. The default implementation calls onUnselect.

The reason provided will be one of the following:

Parameters
int reason

The reason for unselecting the route.

onUpdateVolume

Added in 1.1.0
public void onUpdateVolume(int delta)

Requests an incremental volume update for the route.

Parameters
int delta

The delta to add to the current volume.