MediaRoute2Info.Builder


public static final class MediaRoute2Info.Builder
extends Object

java.lang.Object
   ↳ android.media.MediaRoute2Info.Builder


Builder for media route info.

Summary

Public constructors

Builder(MediaRoute2Info routeInfo)

Constructor for builder to create MediaRoute2Info with existing MediaRoute2Info instance.

Builder(String id, CharSequence name)

Constructor for builder to create MediaRoute2Info.

Public methods

MediaRoute2Info.Builder addFeature(String feature)

Adds a feature for the route.

MediaRoute2Info.Builder addFeatures(Collection<String> features)

Adds features for the route.

MediaRoute2Info build()

Builds the media route info.

MediaRoute2Info.Builder clearFeatures()

Clears the features of the route.

MediaRoute2Info.Builder setClientPackageName(String packageName)

Sets the package name of the app using the route.

MediaRoute2Info.Builder setConnectionState(int connectionState)

Sets the route's connection state.

MediaRoute2Info.Builder setDeduplicationIds(Set<String> id)

Sets the deduplication IDs of the route.

MediaRoute2Info.Builder setDescription(CharSequence description)

Sets the user-visible description of the route.

MediaRoute2Info.Builder setExtras(Bundle extras)

Sets a bundle of extras for the route.

MediaRoute2Info.Builder setIconUri(Uri iconUri)

Sets the URI of the icon representing this route.

MediaRoute2Info.Builder setSuitabilityStatus(int suitabilityStatus)

Sets route suitability status.

MediaRoute2Info.Builder setType(int type)

Sets the route's type.

MediaRoute2Info.Builder setVisibilityPublic()

Sets the visibility of this route to public.

MediaRoute2Info.Builder setVisibilityRestricted(Set<String> allowedPackages)

Sets the visibility of this route to restricted.

MediaRoute2Info.Builder setVolume(int volume)

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

MediaRoute2Info.Builder setVolumeHandling(int volumeHandling)

Sets the route's volume handling.

MediaRoute2Info.Builder setVolumeMax(int volumeMax)

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

Inherited methods

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(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 wait(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 wait()

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

Public constructors

Builder

Added in API level 30
public Builder (MediaRoute2Info routeInfo)

Constructor for builder to create MediaRoute2Info with existing MediaRoute2Info instance.

Parameters
routeInfo MediaRoute2Info: the existing instance to copy data from. This value cannot be null.

Builder

Added in API level 30
public Builder (String id, 
                CharSequence name)

Constructor for builder to create MediaRoute2Info.

In order to ensure ID uniqueness, the ID of a route info obtained from MediaRouter2 can be different from what was set in MediaRoute2ProviderService.

Parameters
id String: The ID of the route. Must not be empty. This value cannot be null.

name CharSequence: The user-visible name of the route. This value cannot be null.

Public methods

addFeature

Added in API level 30
public MediaRoute2Info.Builder addFeature (String feature)

Adds a feature for the route.

Parameters
feature String: a feature that the route has. May be one of predefined features such as MediaRoute2Info.FEATURE_LIVE_AUDIO, MediaRoute2Info.FEATURE_LIVE_VIDEO or MediaRoute2Info.FEATURE_REMOTE_PLAYBACK or a custom feature defined by a provider. This value cannot be null.

Returns
MediaRoute2Info.Builder This value cannot be null.

addFeatures

Added in API level 30
public MediaRoute2Info.Builder addFeatures (Collection<String> features)

Adds features for the route. A route must support at least one route type.

Parameters
features Collection: features that the route has. May include predefined features such as MediaRoute2Info.FEATURE_LIVE_AUDIO, MediaRoute2Info.FEATURE_LIVE_VIDEO or MediaRoute2Info.FEATURE_REMOTE_PLAYBACK or custom features defined by a provider. This value cannot be null.

Returns
MediaRoute2Info.Builder This value cannot be null.

See also:

build

Added in API level 30
public MediaRoute2Info build ()

Builds the media route info.

Returns
MediaRoute2Info This value cannot be null.

Throws
IllegalArgumentException if no features are added.

clearFeatures

Added in API level 30
public MediaRoute2Info.Builder clearFeatures ()

Clears the features of the route. A route must support at least one route type.

Returns
MediaRoute2Info.Builder This value cannot be null.

setClientPackageName

Added in API level 30
public MediaRoute2Info.Builder setClientPackageName (String packageName)

Sets the package name of the app using the route.

Parameters
packageName String: This value may be null.

Returns
MediaRoute2Info.Builder This value cannot be null.

setDeduplicationIds

Added in API level 34
public MediaRoute2Info.Builder setDeduplicationIds (Set<String> id)

Sets the deduplication IDs of the route.

Parameters
id Set: This value cannot be null.

Returns
MediaRoute2Info.Builder This value cannot be null.

setDescription

Added in API level 30
public MediaRoute2Info.Builder setDescription (CharSequence description)

Sets the user-visible description of the route.

Parameters
description CharSequence: This value may be null.

Returns
MediaRoute2Info.Builder This value cannot be null.

setExtras

Added in API level 30
public MediaRoute2Info.Builder setExtras (Bundle extras)

Sets a bundle of extras for the route.

Note: The extras will not affect the result of MediaRoute2Info.equals(Object).

Parameters
extras Bundle: This value may be null.

Returns
MediaRoute2Info.Builder This value cannot be null.

setIconUri

Added in API level 30
public MediaRoute2Info.Builder setIconUri (Uri iconUri)

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:

Parameters
iconUri Uri: This value may be null.

Returns
MediaRoute2Info.Builder This value cannot be null.

setSuitabilityStatus

Added in API level 35
public MediaRoute2Info.Builder setSuitabilityStatus (int suitabilityStatus)

Sets route suitability status.

The default value is MediaRoute2Info.SUITABILITY_STATUS_SUITABLE_FOR_DEFAULT_TRANSFER.

Apps are not supposed to set MediaRoute2Info.SUITABILITY_STATUS_NOT_SUITABLE_FOR_TRANSFER. Publishing a non-system route with such status throws SecurityException.

Returns
MediaRoute2Info.Builder This value cannot be null.

setType

Added in API level 34
public MediaRoute2Info.Builder setType (int type)

Sets the route's type.

Returns
MediaRoute2Info.Builder This value cannot be null.

setVisibilityPublic

Added in API level 34
public MediaRoute2Info.Builder setVisibilityPublic ()

Sets the visibility of this route to public.

By default, unless you call setVisibilityRestricted(Set), the new route will be public.

Public routes are visible to any application with a matching feature.

Calls to this method override previous calls to setVisibilityPublic() and setVisibilityRestricted(Set).

Returns
MediaRoute2Info.Builder This value cannot be null.

setVisibilityRestricted

Added in API level 34
public MediaRoute2Info.Builder setVisibilityRestricted (Set<String> allowedPackages)

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 feature.

Calls to this method override previous calls to setVisibilityPublic() and setVisibilityRestricted(Set).

Parameters
allowedPackages Set: set of package names which are allowed to see this route. This value cannot be null.

Returns
MediaRoute2Info.Builder This value cannot be null.

setVolume

Added in API level 30
public MediaRoute2Info.Builder setVolume (int volume)

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

Parameters
volume int

Returns
MediaRoute2Info.Builder This value cannot be null.

setVolumeHandling

Added in API level 30
public MediaRoute2Info.Builder setVolumeHandling (int volumeHandling)

Sets the route's volume handling.

Returns
MediaRoute2Info.Builder This value cannot be null.

setVolumeMax

Added in API level 30
public MediaRoute2Info.Builder setVolumeMax (int volumeMax)

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

Parameters
volumeMax int

Returns
MediaRoute2Info.Builder This value cannot be null.