RouteListingPreference.Item


public static final class RouteListingPreference.Item
extends Object implements Parcelable

java.lang.Object
   ↳ android.media.RouteListingPreference.Item


Holds preference information for a specific route in a RouteListingPreference.

Summary

Nested classes

class RouteListingPreference.Item.Builder

Builder for Item

Constants

int FLAG_ONGOING_SESSION

The corresponding route is already hosting a session with the app that owns this listing preference.

int FLAG_ONGOING_SESSION_MANAGED

Signals that the ongoing session on the corresponding route is managed by the current user of the app.

int FLAG_SUGGESTED

The corresponding route is specially likely to be selected by the user.

int SELECTION_BEHAVIOR_GO_TO_APP

If the user selects the corresponding route, the system takes the user to the application.

int SELECTION_BEHAVIOR_NONE

The corresponding route is not selectable by the user.

int SELECTION_BEHAVIOR_TRANSFER

If the user selects the corresponding route, the media transfers to the said route.

int SUBTEXT_AD_ROUTING_DISALLOWED

The corresponding route's subtext must indicate that it is not available because an ad is in progress.

int SUBTEXT_CUSTOM

The corresponding route's subtext must be obtained from getCustomSubtextMessage().

int SUBTEXT_DEVICE_LOW_POWER

The corresponding route's subtext must indicate that it is not available because the device is in low-power mode.

int SUBTEXT_DOWNLOADED_CONTENT_ROUTING_DISALLOWED

The corresponding route's subtext must indicate that downloaded content cannot be routed to it.

int SUBTEXT_ERROR_UNKNOWN

The corresponding route's subtext must indicate that it is not available because of an unknown error.

int SUBTEXT_NONE

The corresponding route has no associated subtext.

int SUBTEXT_SUBSCRIPTION_REQUIRED

The corresponding route's subtext must indicate that it requires a special subscription in order to be available for routing.

int SUBTEXT_TRACK_UNSUPPORTED

The corresponding route's subtext must indicate that it is not available because the device does not support the current media track.

int SUBTEXT_UNAUTHORIZED

The corresponding route's subtext must indicate that it is not available because the user is not authorized to route to it.

Inherited constants

Fields

public static final Creator<RouteListingPreference.Item> CREATOR

Public methods

int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

boolean equals(Object other)

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

CharSequence getCustomSubtextMessage()

Returns a human-readable CharSequence providing the subtext for the corresponding route.

int getFlags()

Returns the flags associated to the route that corresponds to this item.

String getRouteId()

Returns the id of the route that corresponds to this route listing preference item.

int getSelectionBehavior()

Returns the behavior that the corresponding route has if the user selects it.

int getSubText()

Returns the type of subtext associated to this route.

int hashCode()

Returns a hash code value for the object.

void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Inherited methods

Constants

FLAG_ONGOING_SESSION

Added in API level 34
public static final int FLAG_ONGOING_SESSION

The corresponding route is already hosting a session with the app that owns this listing preference.

Constant Value: 1 (0x00000001)

FLAG_ONGOING_SESSION_MANAGED

Added in API level 34
public static final int FLAG_ONGOING_SESSION_MANAGED

Signals that the ongoing session on the corresponding route is managed by the current user of the app.

The system can use this flag to provide visual indication that the route is not only hosting a session, but also that the user has ownership over said session.

This flag is ignored if FLAG_ONGOING_SESSION is not set, or if the corresponding route is not currently selected.

This flag does not affect volume adjustment (see VolumeProvider, and MediaRoute2Info.getVolumeHandling()), or any aspect other than the visual representation of the corresponding item.

Constant Value: 2 (0x00000002)

FLAG_SUGGESTED

Added in API level 34
public static final int FLAG_SUGGESTED

The corresponding route is specially likely to be selected by the user.

A UI reflecting this preference may reserve a specific space for suggested routes, making it more accessible to the user. If the number of suggested routes exceeds the number supported by the UI, the routes listed first in RouteListingPreference.getItems() will take priority.

Constant Value: 4 (0x00000004)

SELECTION_BEHAVIOR_GO_TO_APP

Added in API level 34
public static final int SELECTION_BEHAVIOR_GO_TO_APP

If the user selects the corresponding route, the system takes the user to the application.

The system uses RouteListingPreference.getLinkedItemComponentName() in order to navigate to the app.

Constant Value: 2 (0x00000002)

SELECTION_BEHAVIOR_NONE

Added in API level 34
public static final int SELECTION_BEHAVIOR_NONE

The corresponding route is not selectable by the user.

Constant Value: 0 (0x00000000)

SELECTION_BEHAVIOR_TRANSFER

Added in API level 34
public static final int SELECTION_BEHAVIOR_TRANSFER

If the user selects the corresponding route, the media transfers to the said route.

Constant Value: 1 (0x00000001)

SUBTEXT_AD_ROUTING_DISALLOWED

Added in API level 34
public static final int SUBTEXT_AD_ROUTING_DISALLOWED

The corresponding route's subtext must indicate that it is not available because an ad is in progress.

Constant Value: 4 (0x00000004)

SUBTEXT_CUSTOM

Added in API level 34
public static final int SUBTEXT_CUSTOM

The corresponding route's subtext must be obtained from getCustomSubtextMessage().

Applications should strongly prefer one of the other disable reasons (for the full list, see getSubText()) in order to guarantee correct localization and rendering across all form factors.

Constant Value: 10000 (0x00002710)

SUBTEXT_DEVICE_LOW_POWER

Added in API level 34
public static final int SUBTEXT_DEVICE_LOW_POWER

The corresponding route's subtext must indicate that it is not available because the device is in low-power mode.

Constant Value: 5 (0x00000005)

SUBTEXT_DOWNLOADED_CONTENT_ROUTING_DISALLOWED

Added in API level 34
public static final int SUBTEXT_DOWNLOADED_CONTENT_ROUTING_DISALLOWED

The corresponding route's subtext must indicate that downloaded content cannot be routed to it.

Constant Value: 3 (0x00000003)

SUBTEXT_ERROR_UNKNOWN

Added in API level 34
public static final int SUBTEXT_ERROR_UNKNOWN

The corresponding route's subtext must indicate that it is not available because of an unknown error.

Constant Value: 1 (0x00000001)

SUBTEXT_NONE

Added in API level 34
public static final int SUBTEXT_NONE

The corresponding route has no associated subtext.

Constant Value: 0 (0x00000000)

SUBTEXT_SUBSCRIPTION_REQUIRED

Added in API level 34
public static final int SUBTEXT_SUBSCRIPTION_REQUIRED

The corresponding route's subtext must indicate that it requires a special subscription in order to be available for routing.

Constant Value: 2 (0x00000002)

SUBTEXT_TRACK_UNSUPPORTED

Added in API level 34
public static final int SUBTEXT_TRACK_UNSUPPORTED

The corresponding route's subtext must indicate that it is not available because the device does not support the current media track.

Constant Value: 7 (0x00000007)

SUBTEXT_UNAUTHORIZED

Added in API level 34
public static final int SUBTEXT_UNAUTHORIZED

The corresponding route's subtext must indicate that it is not available because the user is not authorized to route to it.

Constant Value: 6 (0x00000006)

Fields

CREATOR

Added in API level 34
public static final Creator<RouteListingPreference.Item> CREATOR

Public methods

describeContents

Added in API level 34
public int describeContents ()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(android.os.Parcel, int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or CONTENTS_FILE_DESCRIPTOR

equals

Added in API level 34
public boolean equals (Object other)

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

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
other Object: the reference object with which to compare.

Returns
boolean true if this object is the same as the obj argument; false otherwise.

getCustomSubtextMessage

Added in API level 34
public CharSequence getCustomSubtextMessage ()

Returns a human-readable CharSequence providing the subtext for the corresponding route.

This value is ignored if the subtext for this item is not SUBTEXT_CUSTOM..

Applications must provide a localized message that matches the system's locale. See Locale.getDefault().

Applications should avoid using custom messages (and instead use one of non-custom subtexts listed in getSubText() in order to guarantee correct visual representation and localization on all form factors.

Returns
CharSequence This value may be null.

getFlags

Added in API level 34
public int getFlags ()

Returns the flags associated to the route that corresponds to this item.

Returns
int Value is either 0 or a combination of FLAG_ONGOING_SESSION, FLAG_ONGOING_SESSION_MANAGED, and FLAG_SUGGESTED

getRouteId

Added in API level 34
public String getRouteId ()

Returns the id of the route that corresponds to this route listing preference item.

Returns
String This value cannot be null.

getSelectionBehavior

Added in API level 34
public int getSelectionBehavior ()

Returns the behavior that the corresponding route has if the user selects it.

Returns
int

getSubText

Added in API level 34
public int getSubText ()

Returns the type of subtext associated to this route.

Subtext types other than SUBTEXT_NONE and SUBTEXT_CUSTOM must not have SELECTION_BEHAVIOR_TRANSFER.

If this method returns SUBTEXT_CUSTOM, then the subtext is obtained form getCustomSubtextMessage().

Returns
int Value is SUBTEXT_NONE, SUBTEXT_ERROR_UNKNOWN, SUBTEXT_SUBSCRIPTION_REQUIRED, SUBTEXT_DOWNLOADED_CONTENT_ROUTING_DISALLOWED, SUBTEXT_AD_ROUTING_DISALLOWED, SUBTEXT_DEVICE_LOW_POWER, SUBTEXT_UNAUTHORIZED, SUBTEXT_TRACK_UNSUPPORTED, or SUBTEXT_CUSTOM

hashCode

Added in API level 34
public int hashCode ()

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

Returns
int a hash code value for this object.

writeToParcel

Added in API level 34
public void writeToParcel (Parcel dest, 
                int flags)

Flatten this object in to a Parcel.

Parameters
dest Parcel: This value cannot be null.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES