CustomDescription
public
final
class
CustomDescription
extends Object
implements
Parcelable
java.lang.Object | |
↳ | android.service.autofill.CustomDescription |
Defines a custom description for the autofill save UI.
This is useful when the autofill service needs to show a detailed view of what would be saved; for example, when the screen contains a credit card, it could display a logo of the credit card bank, the last four digits of the credit card number, and its expiration number.
A custom description is made of 2 parts:
- A
presentation template
containing children views. Transformations
to populate the children views.
For the credit card example mentioned above, the (simplified) template would be:
<LinearLayout> <ImageView android:id="@+id/templateccLogo"/> <TextView android:id="@+id/templateCcNumber"/> <TextView android:id="@+id/templateExpDate"/> </LinearLayout>
Which in code translates to:
CustomDescription.Builder buider = new Builder(new RemoteViews(pgkName, R.layout.cc_template);
Then the value of each of the 3 children would be changed at runtime based on the the value of
the screen fields and the Transformations
:
// Image child - different logo for each bank, based on credit card prefix builder.addChild(R.id.templateccLogo, new ImageTransformation.Builder(ccNumberId) .addOption(Pattern.compile("^4815.*$"), R.drawable.ic_credit_card_logo1) .addOption(Pattern.compile("^1623.*$"), R.drawable.ic_credit_card_logo2) .addOption(Pattern.compile("^42.*$"), R.drawable.ic_credit_card_logo3) .build(); // Masked credit card number (as .....LAST_4_DIGITS) builder.addChild(R.id.templateCcNumber, new CharSequenceTransformation .Builder(ccNumberId, Pattern.compile("^.*(\\d\\d\\d\\d)$"), "...$1") .build(); // Expiration date as MM / YYYY: builder.addChild(R.id.templateExpDate, new CharSequenceTransformation .Builder(ccExpMonthId, Pattern.compile("^(\\d\\d)$"), "Exp: $1") .addField(ccExpYearId, Pattern.compile("^(\\d\\d)$"), "/$1") .build();
See ImageTransformation
, CharSequenceTransformation
for more info about these
transformations.
Summary
Nested classes | |
---|---|
class |
CustomDescription.Builder
Builder for |
Inherited constants | ||||
---|---|---|---|---|
|
Fields | |
---|---|
public
static
final
Creator<CustomDescription> |
CREATOR
|
Public methods | |
---|---|
int
|
describeContents()
Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
String
|
toString()
Returns a string representation of the object. |
void
|
writeToParcel(Parcel dest, int flags)
Flatten this object in to a Parcel. |
Inherited methods | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||
|
Fields
Public methods
describeContents
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 |
toString
public String toString ()
Returns a string representation of the object.
Returns | |
---|---|
String |
a string representation of the object. |
writeToParcel
public void writeToParcel (Parcel dest, int flags)
Flatten this object in to a Parcel.
Parameters | |
---|---|
dest |
Parcel : The Parcel in which the object should be written.
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 |