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

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.

Parameters
suitabilityStatus int: Value is MediaRoute2Info.SUITABILITY_STATUS_SUITABLE_FOR_DEFAULT_TRANSFER, MediaRoute2Info.SUITABILITY_STATUS_SUITABLE_FOR_MANUAL_TRANSFER, or MediaRoute2Info.SUITABILITY_STATUS_NOT_SUITABLE_FOR_TRANSFER

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.

Parameters
type int: Value is MediaRoute2Info.TYPE_UNKNOWN, MediaRoute2Info.TYPE_BUILTIN_SPEAKER, MediaRoute2Info.TYPE_WIRED_HEADSET, MediaRoute2Info.TYPE_WIRED_HEADPHONES, MediaRoute2Info.TYPE_BLUETOOTH_A2DP, MediaRoute2Info.TYPE_HDMI, MediaRoute2Info.TYPE_HDMI_ARC, MediaRoute2Info.TYPE_HDMI_EARC, android.media.MediaRoute2Info.TYPE_LINE_DIGITAL, android.media.MediaRoute2Info.TYPE_LINE_ANALOG, android.media.MediaRoute2Info.TYPE_AUX_LINE, MediaRoute2Info.TYPE_USB_DEVICE, MediaRoute2Info.TYPE_USB_ACCESSORY, MediaRoute2Info.TYPE_DOCK, MediaRoute2Info.TYPE_USB_HEADSET, MediaRoute2Info.TYPE_HEARING_AID, MediaRoute2Info.TYPE_BLE_HEADSET, MediaRoute2Info.TYPE_REMOTE_TV, MediaRoute2Info.TYPE_REMOTE_SPEAKER, MediaRoute2Info.TYPE_REMOTE_AUDIO_VIDEO_RECEIVER, MediaRoute2Info.TYPE_REMOTE_TABLET, MediaRoute2Info.TYPE_REMOTE_TABLET_DOCKED, MediaRoute2Info.TYPE_REMOTE_COMPUTER, MediaRoute2Info.TYPE_REMOTE_GAME_CONSOLE, MediaRoute2Info.TYPE_REMOTE_CAR, MediaRoute2Info.TYPE_REMOTE_SMARTWATCH, MediaRoute2Info.TYPE_REMOTE_SMARTPHONE, or MediaRoute2Info.TYPE_GROUP

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.

Parameters
volumeHandling int: Value is MediaRoute2Info.PLAYBACK_VOLUME_FIXED, or MediaRoute2Info.PLAYBACK_VOLUME_VARIABLE

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.