Android APIs
public class

TtsSpan

extends Object
implements ParcelableSpan
java.lang.Object
   ↳ android.text.style.TtsSpan

Class Overview

A span that supplies additional meta-data for the associated text intended for text-to-speech engines. If the text is being processed by a text-to-speech engine, the engine may use the data in this span in addition to or instead of its associated text. Each instance of a TtsSpan has a type, for example TYPE_DATE or TYPE_MEASURE. And a list of arguments, provided as key-value pairs in a bundle. The inner classes are there for convenience and provide builders for each TtsSpan type.

Summary

Nested Classes
class TtsSpan.Builder<C extends Builder<?>> A simple builder for TtsSpans. 
class TtsSpan.CardinalBuilder A builder for TtsSpans of type TYPE_CARDINAL
class TtsSpan.DateBuilder A builder for TtsSpans of type TYPE_DATE
class TtsSpan.DecimalBuilder A builder for TtsSpans of type TYPE_DECIMAL
class TtsSpan.DigitsBuilder A builder for TtsSpans of type TYPE_DIGITS
class TtsSpan.ElectronicBuilder A builder for TtsSpans of type TYPE_ELECTRONIC
class TtsSpan.FractionBuilder A builder for TtsSpans of type TYPE_FRACTION
class TtsSpan.MeasureBuilder A builder for TtsSpans of type TYPE_MEASURE
class TtsSpan.MoneyBuilder A builder for TtsSpans of type TYPE_MONEY
class TtsSpan.OrdinalBuilder A builder for TtsSpans of type TYPE_ORDINAL
class TtsSpan.SemioticClassBuilder<C extends SemioticClassBuilder<?>> A builder for TtsSpans, has setters for morphosyntactic features. 
class TtsSpan.TelephoneBuilder A builder for TtsSpans of type TYPE_TELEPHONE
class TtsSpan.TextBuilder A builder for TtsSpans of type TYPE_TEXT
class TtsSpan.TimeBuilder A builder for TtsSpans of type TYPE_TIME
class TtsSpan.VerbatimBuilder A builder for TtsSpans of type TYPE_VERBATIM
Constants
String ANIMACY_ANIMATE
String ANIMACY_INANIMATE
String ARG_ANIMACY String argument supplying animacy information.
String ARG_CASE String argument supplying case information.
String ARG_COUNTRY_CODE Argument used to specify the country code of a telephone number.
String ARG_CURRENCY Argument used to specify the currency.
String ARG_DAY Argument used to specify the day of the month of a date.
String ARG_DENOMINATOR Argument used to specify the denominator of a fraction.
String ARG_DIGITS Argument used to specify a string of digits.
String ARG_DOMAIN Argument used to specify the domain part of a URI.
String ARG_EXTENSION Argument used to specify the extension part of a telephone number.
String ARG_FRACTIONAL_PART Argument used to specify the fractional part of a decimal.
String ARG_FRAGMENT_ID Argument used to specify the fragment id of a URI.
String ARG_GENDER String argument supplying gender information.
String ARG_HOURS Argument used to specify the hours of a time.
String ARG_INTEGER_PART Argument used to specify the integer part of a decimal or fraction.
String ARG_MINUTES Argument used to specify the minutes of a time.
String ARG_MONTH Argument used to specify the month of a date.
String ARG_MULTIPLICITY String argument supplying multiplicity information.
String ARG_NUMBER Argument used to specify a whole number.
String ARG_NUMBER_PARTS Argument used to specify the main number part of a telephone number.
String ARG_NUMERATOR Argument used to specify the numerator of a fraction.
String ARG_PASSWORD Argument used to specify the password part of a URI.
String ARG_PATH Argument used to specify the path part of a URI.
String ARG_PORT Argument used to specify the port number of a URI.
String ARG_PROTOCOL Argument used to specify the protocol of a URI.
String ARG_QUANTITY Argument used to choose the suffix (thousand, million, etc) that is used to pronounce large amounts of money.
String ARG_QUERY_STRING Argument used to specify the query string of a URI.
String ARG_TEXT String supplying the text to be synthesized.
String ARG_UNIT Argument used to specify the unit of a measure.
String ARG_USERNAME Argument used to specify the username part of a URI.
String ARG_VERBATIM Argument used to specify a string where the characters are read verbatim, except whitespace.
String ARG_WEEKDAY Argument used to specify the weekday of a date.
String ARG_YEAR Argument used to specify the year of a date.
String CASE_ABLATIVE
String CASE_ACCUSATIVE
String CASE_DATIVE
String CASE_GENITIVE
String CASE_INSTRUMENTAL
String CASE_LOCATIVE
String CASE_NOMINATIVE
String CASE_VOCATIVE
String GENDER_FEMALE
String GENDER_MALE
String GENDER_NEUTRAL
int MONTH_APRIL
int MONTH_AUGUST
int MONTH_DECEMBER
int MONTH_FEBRUARY
int MONTH_JANUARY
int MONTH_JULY
int MONTH_JUNE
int MONTH_MARCH
int MONTH_MAY
int MONTH_NOVEMBER
int MONTH_OCTOBER
int MONTH_SEPTEMBER
String MULTIPLICITY_DUAL
String MULTIPLICITY_PLURAL
String MULTIPLICITY_SINGLE
String TYPE_CARDINAL The text associated with this span is a cardinal.
String TYPE_DATE The text associated with this span is a date.
String TYPE_DECIMAL The text associated with this span is a decimal number.
String TYPE_DIGITS The text associated with this span is a series of digits that have to be read sequentially.
String TYPE_ELECTRONIC The text associated with this span is a URI (can be used for URLs and email addresses).
String TYPE_FRACTION The text associated with this span is a fractional number.
String TYPE_MEASURE The text associated with this span is a measure, consisting of a number and a unit.
String TYPE_MONEY The text associated with this span is an amount of money.
String TYPE_ORDINAL The text associated with this span is an ordinal.
String TYPE_TELEPHONE The text associated with this span is a telephone number.
String TYPE_TEXT This span type can be used to add morphosyntactic features to the text it spans over, or synthesize a something else than the spanned text.
String TYPE_TIME The text associated with this span is a time, consisting of a number of hours and minutes, specified with ARG_HOURS and ARG_MINUTES.
String TYPE_VERBATIM The text associated with this span is a series of characters that have to be read verbatim.
int WEEKDAY_FRIDAY
int WEEKDAY_MONDAY
int WEEKDAY_SATURDAY
int WEEKDAY_SUNDAY
int WEEKDAY_THURSDAY
int WEEKDAY_TUESDAY
int WEEKDAY_WEDNESDAY
[Expand]
Inherited Constants
From interface android.os.Parcelable
Public Constructors
TtsSpan(String type, PersistableBundle args)
TtsSpan(Parcel src)
Public Methods
int describeContents()
Describe the kinds of special objects contained in this Parcelable's marshalled representation.
PersistableBundle getArgs()
Returns a bundle of the arguments set.
int getSpanTypeId()
Return a special type identifier for this span class.
String getType()
Returns the type.
void writeToParcel(Parcel dest, int flags)
Flatten this object in to a Parcel.
[Expand]
Inherited Methods
From class java.lang.Object
From interface android.text.ParcelableSpan
From interface android.os.Parcelable

Constants

public static final String ANIMACY_ANIMATE

Added in API level 21

Constant Value: "android.animate"

public static final String ANIMACY_INANIMATE

Added in API level 21

Constant Value: "android.inanimate"

public static final String ARG_ANIMACY

Added in API level 21

String argument supplying animacy information. Can be ANIMACY_ANIMATE or ANIMACY_INANIMATE

Constant Value: "android.arg.animacy"

public static final String ARG_CASE

Added in API level 21

String argument supplying case information. Can be any of CASE_NOMINATIVE, CASE_ACCUSATIVE, CASE_DATIVE, CASE_ABLATIVE, CASE_GENITIVE, CASE_VOCATIVE, CASE_LOCATIVE and CASE_INSTRUMENTAL

Constant Value: "android.arg.case"

public static final String ARG_COUNTRY_CODE

Added in API level 21

Argument used to specify the country code of a telephone number. Can be a string of digits optionally prefixed with a "+". Can be used with TYPE_TELEPHONE.

Constant Value: "android.arg.country_code"

public static final String ARG_CURRENCY

Added in API level 21

Argument used to specify the currency. Should be a ISO4217 currency code, e.g. "USD". Can be used with TYPE_MONEY.

Constant Value: "android.arg.money"

public static final String ARG_DAY

Added in API level 21

Argument used to specify the day of the month of a date. The value should be provided as an integer in the range from 1 up to and including 31. Can be used with TYPE_DATE.

Constant Value: "android.arg.day"

public static final String ARG_DENOMINATOR

Added in API level 21

Argument used to specify the denominator of a fraction. The value can be a string of digits of any size optionally prefixed with a + or -. Can be used with TYPE_FRACTION.

Constant Value: "android.arg.denominator"

public static final String ARG_DIGITS

Added in API level 21

Argument used to specify a string of digits. Can be used with TYPE_DIGITS.

Constant Value: "android.arg.digits"

public static final String ARG_DOMAIN

Added in API level 21

Argument used to specify the domain part of a URI. For example "source.android.com". Can be used with TYPE_ELECTRONIC.

Constant Value: "android.arg.domain"

public static final String ARG_EXTENSION

Added in API level 21

Argument used to specify the extension part of a telephone number. Can be a string of digits. Can be used with TYPE_TELEPHONE.

Constant Value: "android.arg.extension"

public static final String ARG_FRACTIONAL_PART

Added in API level 21

Argument used to specify the fractional part of a decimal. The value can be a string of digits of any size. Can be used with TYPE_DECIMAL.

Constant Value: "android.arg.fractional_part"

public static final String ARG_FRAGMENT_ID

Added in API level 21

Argument used to specify the fragment id of a URI. Should be specified as a string. Can be used with TYPE_ELECTRONIC.

Constant Value: "android.arg.fragment_id"

public static final String ARG_GENDER

Added in API level 21

String argument supplying gender information. Can be any of GENDER_NEUTRAL, GENDER_MALE and GENDER_FEMALE.

Constant Value: "android.arg.gender"

public static final String ARG_HOURS

Added in API level 21

Argument used to specify the hours of a time. The hours should be provided as an integer in the range from 0 up to and including 24. Can be used with TYPE_TIME.

Constant Value: "android.arg.hours"

public static final String ARG_INTEGER_PART

Added in API level 21

Argument used to specify the integer part of a decimal or fraction. The value can be a string of digits of any size optionally prefixed with a - or +. Can be used with TYPE_DECIMAL and TYPE_FRACTION.

Constant Value: "android.arg.integer_part"

public static final String ARG_MINUTES

Added in API level 21

Argument used to specify the minutes of a time. The hours should be provided as an integer in the range from 0 up to and including 59. Can be used with TYPE_TIME.

Constant Value: "android.arg.minutes"

public static final String ARG_MONTH

Added in API level 21

Argument used to specify the month of a date. The value should be provided as an integer and can be any of MONTH_JANUARY, MONTH_FEBRUARY, MONTH_MARCH, MONTH_APRIL, MONTH_MAY, MONTH_JUNE, MONTH_JULY, MONTH_AUGUST, MONTH_SEPTEMBER, MONTH_OCTOBER, MONTH_NOVEMBER and MONTH_DECEMBER. Can be used with TYPE_DATE.

Constant Value: "android.arg.month"

public static final String ARG_MULTIPLICITY

Added in API level 21

String argument supplying multiplicity information. Can be any of MULTIPLICITY_SINGLE, MULTIPLICITY_DUAL and MULTIPLICITY_PLURAL

Constant Value: "android.arg.multiplicity"

public static final String ARG_NUMBER

Added in API level 21

Argument used to specify a whole number. The value can be a string of digits of any size optionally prefixed with a - or +. Can be used with TYPE_CARDINAL and TYPE_ORDINAL.

Constant Value: "android.arg.number"

public static final String ARG_NUMBER_PARTS

Added in API level 21

Argument used to specify the main number part of a telephone number. Can be a string of digits where the different parts of the telephone number can be separated with a space, '-', '/' or '.'. Can be used with TYPE_TELEPHONE.

Constant Value: "android.arg.number_parts"

public static final String ARG_NUMERATOR

Added in API level 21

Argument used to specify the numerator of a fraction. The value can be a string of digits of any size optionally prefixed with a - or +. Can be used with TYPE_FRACTION.

Constant Value: "android.arg.numerator"

public static final String ARG_PASSWORD

Added in API level 21

Argument used to specify the password part of a URI. Should be set as a string. Can be used with TYPE_ELECTRONIC.

Constant Value: "android.arg.password"

public static final String ARG_PATH

Added in API level 21

Argument used to specify the path part of a URI. For example "source/index.html". Can be used with TYPE_ELECTRONIC.

Constant Value: "android.arg.path"

public static final String ARG_PORT

Added in API level 21

Argument used to specify the port number of a URI. Should be specified as an integer. Can be used with TYPE_ELECTRONIC.

Constant Value: "android.arg.port"

public static final String ARG_PROTOCOL

Added in API level 21

Argument used to specify the protocol of a URI. Examples are "http" and "ftp". Can be used with TYPE_ELECTRONIC.

Constant Value: "android.arg.protocol"

public static final String ARG_QUANTITY

Added in API level 21

Argument used to choose the suffix (thousand, million, etc) that is used to pronounce large amounts of money. For example it can be used to disambiguate between "two thousand five hundred dollars" and "two point five thousand dollars". If implemented, engines should support at least "1000", "1000000", "1000000000" and "1000000000000". Example: if the ARG_INTEGER_PART argument is "10", the ARG_FRACTIONAL_PART argument is "4", the ARG_QUANTITY argument is "1000" and the ARG_CURRENCY argument is "usd", the TTS engine may pronounce the span as "ten point four thousand dollars". With the same example but with the quantity set as "1000000" the TTS engine may pronounce the span as "ten point four million dollars". Can be used with TYPE_MONEY.

Constant Value: "android.arg.quantity"

public static final String ARG_QUERY_STRING

Added in API level 21

Argument used to specify the query string of a URI. For example "arg=value&argtwo=value". Can be used with TYPE_ELECTRONIC.

Constant Value: "android.arg.query_string"

public static final String ARG_TEXT

Added in API level 21

String supplying the text to be synthesized. The synthesizer is free to decide how to interpret the text. Can be used with TYPE_TEXT.

Constant Value: "android.arg.text"

public static final String ARG_UNIT

Added in API level 21

Argument used to specify the unit of a measure. The unit should always be specified in English singular form. Prefixes may be used. Engines will do their best to pronounce them correctly in the language used. Engines are expected to at least support the most common ones like "meter", "second", "degree celsius" and "degree fahrenheit" with some common prefixes like "milli" and "kilo". Can be used with TYPE_MEASURE.

Constant Value: "android.arg.unit"

public static final String ARG_USERNAME

Added in API level 21

Argument used to specify the username part of a URI. Should be set as a string. Can be used with TYPE_ELECTRONIC.

Constant Value: "android.arg.username"

public static final String ARG_VERBATIM

Added in API level 21

Argument used to specify a string where the characters are read verbatim, except whitespace. Can be used with TYPE_VERBATIM.

Constant Value: "android.arg.verbatim"

public static final String ARG_WEEKDAY

Added in API level 21

Argument used to specify the weekday of a date. The value should be provided as an integer and can be any of WEEKDAY_SUNDAY, WEEKDAY_MONDAY, WEEKDAY_TUESDAY, WEEKDAY_WEDNESDAY, WEEKDAY_THURSDAY, WEEKDAY_FRIDAY and WEEKDAY_SATURDAY. Can be used with TYPE_DATE.

Constant Value: "android.arg.weekday"

public static final String ARG_YEAR

Added in API level 21

Argument used to specify the year of a date. The value should be provided as a positive integer. Can be used with TYPE_DATE.

Constant Value: "android.arg.year"

public static final String CASE_ABLATIVE

Added in API level 21

Constant Value: "android.ablative"

public static final String CASE_ACCUSATIVE

Added in API level 21

Constant Value: "android.accusative"

public static final String CASE_DATIVE

Added in API level 21

Constant Value: "android.dative"

public static final String CASE_GENITIVE

Added in API level 21

Constant Value: "android.genitive"

public static final String CASE_INSTRUMENTAL

Added in API level 21

Constant Value: "android.instrumental"

public static final String CASE_LOCATIVE

Added in API level 21

Constant Value: "android.locative"

public static final String CASE_NOMINATIVE

Added in API level 21

Constant Value: "android.nominative"

public static final String CASE_VOCATIVE

Added in API level 21

Constant Value: "android.vocative"

public static final String GENDER_FEMALE

Added in API level 21

Constant Value: "android.female"

public static final String GENDER_MALE

Added in API level 21

Constant Value: "android.male"

public static final String GENDER_NEUTRAL

Added in API level 21

Constant Value: "android.neutral"

public static final int MONTH_APRIL

Added in API level 21

Constant Value: 3 (0x00000003)

public static final int MONTH_AUGUST

Added in API level 21

Constant Value: 7 (0x00000007)

public static final int MONTH_DECEMBER

Added in API level 21

Constant Value: 11 (0x0000000b)

public static final int MONTH_FEBRUARY

Added in API level 21

Constant Value: 1 (0x00000001)

public static final int MONTH_JANUARY

Added in API level 21

Constant Value: 0 (0x00000000)

public static final int MONTH_JULY

Added in API level 21

Constant Value: 6 (0x00000006)

public static final int MONTH_JUNE

Added in API level 21

Constant Value: 5 (0x00000005)

public static final int MONTH_MARCH

Added in API level 21

Constant Value: 2 (0x00000002)

public static final int MONTH_MAY

Added in API level 21

Constant Value: 4 (0x00000004)

public static final int MONTH_NOVEMBER

Added in API level 21

Constant Value: 10 (0x0000000a)

public static final int MONTH_OCTOBER

Added in API level 21

Constant Value: 9 (0x00000009)

public static final int MONTH_SEPTEMBER

Added in API level 21

Constant Value: 8 (0x00000008)

public static final String MULTIPLICITY_DUAL

Added in API level 21

Constant Value: "android.dual"

public static final String MULTIPLICITY_PLURAL

Added in API level 21

Constant Value: "android.plural"

public static final String MULTIPLICITY_SINGLE

Added in API level 21

Constant Value: "android.single"

public static final String TYPE_CARDINAL

Added in API level 21

The text associated with this span is a cardinal. Must include the number to be synthesized with ARG_NUMBER. Also accepts the arguments ARG_GENDER, ARG_ANIMACY, ARG_MULTIPLICITY and ARG_CASE.

Constant Value: "android.type.cardinal"

public static final String TYPE_DATE

Added in API level 21

The text associated with this span is a date. At least one of the arguments ARG_MONTH and ARG_YEAR has to be provided. The argument ARG_DAY is optional if ARG_MONTH is set. The argument ARG_WEEKDAY is optional if ARG_DAY is set. Also accepts the arguments ARG_GENDER, ARG_ANIMACY, ARG_MULTIPLICITY and ARG_CASE.

Constant Value: "android.type.date"

public static final String TYPE_DECIMAL

Added in API level 21

The text associated with this span is a decimal number. Must include the number to be synthesized with ARG_INTEGER_PART and ARG_FRACTIONAL_PART. Also accepts the arguments ARG_GENDER, ARG_ANIMACY, ARG_MULTIPLICITY and ARG_CASE.

Constant Value: "android.type.decimal"

public static final String TYPE_DIGITS

Added in API level 21

The text associated with this span is a series of digits that have to be read sequentially. The digits can be set with ARG_DIGITS. Also accepts the arguments ARG_GENDER, ARG_ANIMACY, ARG_MULTIPLICITY and ARG_CASE.

Constant Value: "android.type.digits"

public static final String TYPE_ELECTRONIC

Added in API level 21

The text associated with this span is a URI (can be used for URLs and email addresses). The full schema for URLs, which email addresses can effectively be seen as a subset of, is: protocol://username:password@domain:port/path?query_string#fragment_id Hence populating just username and domain will read as an email address. All arguments are optional, but at least one has to be provided: ARG_PROTOCOL, ARG_USERNAME, ARG_PASSWORD, ARG_DOMAIN, ARG_PORT, ARG_PATH, ARG_QUERY_STRING and ARG_FRAGMENT_ID. Also accepts the arguments ARG_GENDER, ARG_ANIMACY, ARG_MULTIPLICITY and ARG_CASE.

Constant Value: "android.type.electronic"

public static final String TYPE_FRACTION

Added in API level 21

The text associated with this span is a fractional number. Must include the number to be synthesized with ARG_NUMERATOR and ARG_DENOMINATOR. ARG_INTEGER_PART is optional Also accepts the arguments ARG_GENDER, ARG_ANIMACY, ARG_MULTIPLICITY and ARG_CASE.

Constant Value: "android.type.fraction"

public static final String TYPE_MEASURE

Added in API level 21

The text associated with this span is a measure, consisting of a number and a unit. The number can be a cardinal, decimal or a fraction. Set the number with the same arguments as TYPE_CARDINAL, TYPE_DECIMAL or TYPE_FRACTION. The unit can be specified with ARG_UNIT. Also accepts the arguments ARG_GENDER, ARG_ANIMACY, ARG_MULTIPLICITY and ARG_CASE.

Constant Value: "android.type.measure"

public static final String TYPE_MONEY

Added in API level 21

The text associated with this span is an amount of money. Set the amount with the same arguments as TYPE_DECIMAL. ARG_CURRENCY is used to set the currency. ARG_QUANTITY is optional. Also accepts the arguments ARG_GENDER, ARG_ANIMACY, ARG_MULTIPLICITY and ARG_CASE.

Constant Value: "android.type.money"

public static final String TYPE_ORDINAL

Added in API level 21

The text associated with this span is an ordinal. Must include the number to be synthesized with ARG_NUMBER. Also accepts the arguments ARG_GENDER, ARG_ANIMACY, ARG_MULTIPLICITY and ARG_CASE.

Constant Value: "android.type.ordinal"

public static final String TYPE_TELEPHONE

Added in API level 21

The text associated with this span is a telephone number. The argument ARG_NUMBER_PARTS is required. ARG_COUNTRY_CODE and ARG_EXTENSION are optional. Also accepts the arguments ARG_GENDER, ARG_ANIMACY, ARG_MULTIPLICITY and ARG_CASE.

Constant Value: "android.type.telephone"

public static final String TYPE_TEXT

Added in API level 21

This span type can be used to add morphosyntactic features to the text it spans over, or synthesize a something else than the spanned text. Use the argument ARG_TEXT to set a different text. Accepts the arguments ARG_GENDER, ARG_ANIMACY, ARG_MULTIPLICITY and ARG_CASE.

Constant Value: "android.type.text"

public static final String TYPE_TIME

Added in API level 21

The text associated with this span is a time, consisting of a number of hours and minutes, specified with ARG_HOURS and ARG_MINUTES. Also accepts the arguments ARG_GENDER, ARG_ANIMACY, ARG_MULTIPLICITY and ARG_CASE.

Constant Value: "android.type.time"

public static final String TYPE_VERBATIM

Added in API level 21

The text associated with this span is a series of characters that have to be read verbatim. The engine will attempt to ready out any character like punctuation but excluding whitespace. ARG_VERBATIM is required. Also accepts the arguments ARG_GENDER, ARG_ANIMACY, ARG_MULTIPLICITY and ARG_CASE.

Constant Value: "android.type.verbatim"

public static final int WEEKDAY_FRIDAY

Added in API level 21

Constant Value: 6 (0x00000006)

public static final int WEEKDAY_MONDAY

Added in API level 21

Constant Value: 2 (0x00000002)

public static final int WEEKDAY_SATURDAY

Added in API level 21

Constant Value: 7 (0x00000007)

public static final int WEEKDAY_SUNDAY

Added in API level 21

Constant Value: 1 (0x00000001)

public static final int WEEKDAY_THURSDAY

Added in API level 21

Constant Value: 5 (0x00000005)

public static final int WEEKDAY_TUESDAY

Added in API level 21

Constant Value: 3 (0x00000003)

public static final int WEEKDAY_WEDNESDAY

Added in API level 21

Constant Value: 4 (0x00000004)

Public Constructors

public TtsSpan (String type, PersistableBundle args)

Added in API level 21

public TtsSpan (Parcel src)

Added in API level 21

Public Methods

public int describeContents ()

Added in API level 21

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

Returns
  • a bitmask indicating the set of special object types marshalled by the Parcelable.

public PersistableBundle getArgs ()

Added in API level 21

Returns a bundle of the arguments set.

Returns
  • The bundle of the arguments set.

public int getSpanTypeId ()

Added in API level 21

Return a special type identifier for this span class.

public String getType ()

Added in API level 21

Returns the type.

Returns
  • The type of this instance.

public void writeToParcel (Parcel dest, int flags)

Added in API level 21

Flatten this object in to a Parcel.

Parameters
dest The Parcel in which the object should be written.
flags Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE.