Stay organized with collections
Save and categorize content based on your preferences.
class CharSequenceTransformation : Parcelable, Transformation
Replaces a TextView
child of a CustomDescription
with the contents of one or more regular expressions (regexs).
When it contains more than one field, the fields that match their regex are added to the overall transformation result.
For example, a transformation to mask a credit card number contained in just one field would be:
new CharSequenceTransformation
.Builder(ccNumberId, Pattern.compile("^.*(\\d\\d\\d\\d)$"), "...$1")
.build();
But a transformation that generates a Exp: MM / YYYY
credit expiration date from two fields (month and year) would be:
new CharSequenceTransformation
.Builder(ccExpMonthId, Pattern.compile("^(\\d\\d)$"), "Exp: $1")
.addField(ccExpYearId, Pattern.compile("^(\\d\\d\\d\\d)$"), " / $1");
Summary
Inherited constants |
From class Parcelable
Int |
CONTENTS_FILE_DESCRIPTOR
Descriptor bit used with describeContents() : indicates that the Parcelable object's flattened representation includes a file descriptor.
|
Int |
PARCELABLE_WRITE_RETURN_VALUE
Flag for use with writeToParcel : the object being written is a return value, that is the result of a function such as "Parcelable someFunction() ", "void someFunction(out Parcelable) ", or "void someFunction(inout Parcelable) ". Some implementations may want to release resources at this point.
|
|
Public methods
describeContents
fun describeContents(): Int
toString
fun toString(): String
Return |
String |
a string representation of the object. |
writeToParcel
fun writeToParcel(
parcel: Parcel,
flags: Int
): Unit
Properties
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# CharSequenceTransformation\n\nAdded in [API level 27](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)\n\nCharSequenceTransformation\n==========================\n\n*** ** * ** ***\n\nKotlin \\|[Java](/reference/android/service/autofill/CharSequenceTransformation \"View this page in Java\") \n\n```\nclass CharSequenceTransformation : Parcelable, Transformation\n```\n\n|---|----------------------------------------------------------|\n| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) ||\n| ↳ | [android.service.autofill.CharSequenceTransformation](#) |\n\nReplaces a [TextView](../../widget/TextView.html#) child of a [CustomDescription](/reference/kotlin/android/service/autofill/CustomDescription) with the contents of one or more regular expressions (regexs).\n\nWhen it contains more than one field, the fields that match their regex are added to the overall transformation result.\n\nFor example, a transformation to mask a credit card number contained in just one field would be: \n\n```kotlin\nnew CharSequenceTransformation\n .Builder(ccNumberId, Pattern.compile(\"^.*(\\\\d\\\\d\\\\d\\\\d)$\"), \"...$1\")\n .build();\n \n```\n\nBut a transformation that generates a `Exp: MM / YYYY` credit expiration date from two fields (month and year) would be: \n\n```kotlin\nnew CharSequenceTransformation\n .Builder(ccExpMonthId, Pattern.compile(\"^(\\\\d\\\\d)$\"), \"Exp: $1\")\n .addField(ccExpYearId, Pattern.compile(\"^(\\\\d\\\\d\\\\d\\\\d)$\"), \" / $1\");\n \n```\n\nSummary\n-------\n\n| Nested classes ||\n|---|-----------------------------------------------------------------------------------------------------------------------------------------------|\n| | [Builder](/reference/kotlin/android/service/autofill/CharSequenceTransformation.Builder) Builder for [CharSequenceTransformation](#) objects. |\n\n| Inherited constants ||\n|---|---|\n| From class [Parcelable](../../os/Parcelable.html#) |----------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [CONTENTS_FILE_DESCRIPTOR](../../os/Parcelable.html#CONTENTS_FILE_DESCRIPTOR:kotlin.Int) Descriptor bit used with [describeContents()](../../os/Parcelable.html#describeContents()): indicates that the Parcelable object's flattened representation includes a file descriptor. \u003cbr /\u003e | | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [PARCELABLE_WRITE_RETURN_VALUE](../../os/Parcelable.html#PARCELABLE_WRITE_RETURN_VALUE:kotlin.Int) Flag for use with [writeToParcel](../../os/Parcelable.html#writeToParcel(android.os.Parcel,%20kotlin.Int)): the object being written is a return value, that is the result of a function such as \"`Parcelable someFunction()`\", \"`void someFunction(out Parcelable)`\", or \"`void someFunction(inout Parcelable)`\". Some implementations may want to release resources at this point. \u003cbr /\u003e | ||\n\n| Public methods ||\n|----------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [describeContents](#describeContents())`()` \u003cbr /\u003e |\n| [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | [toString](#toString())`()` \u003cbr /\u003e |\n| [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [writeToParcel](#writeToParcel(android.os.Parcel,%20kotlin.Int))`(`parcel:` `[Parcel](../../os/Parcel.html#)`, `flags:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` \u003cbr /\u003e |\n\n| Properties ||\n|----------------------------------------------------------------------------------------------------|----------------------------------------------------------|\n| static [Parcelable.Creator](../../os/Parcelable.Creator.html#)\\\u003c[CharSequenceTransformation](#)!\\\u003e | [CREATOR](#CREATOR:android.os.Parcelable.Creator) \u003cbr /\u003e |\n\nPublic methods\n--------------\n\n### describeContents\n\nAdded in [API level 27](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nfun describeContents(): Int\n```\n\n| Return ||\n|----------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either `0` or [android.os.Parcelable#CONTENTS_FILE_DESCRIPTOR](../../os/Parcelable.html#CONTENTS_FILE_DESCRIPTOR:kotlin.Int) |\n\n### toString\n\nAdded in [API level 27](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nfun toString(): String\n```\n\n| Return ||\n|----------------------------------------------------------------------------------|----------------------------------------|\n| [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | a string representation of the object. |\n\n### writeToParcel\n\nAdded in [API level 27](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nfun writeToParcel(\n parcel: Parcel, \n flags: Int\n): Unit\n```\n\n| Parameters ||\n|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `dest` | The Parcel in which the object should be written. This value cannot be `null`. |\n| `flags` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html): Additional flags about how the object should be written. May be 0 or [PARCELABLE_WRITE_RETURN_VALUE](../../os/Parcelable.html#PARCELABLE_WRITE_RETURN_VALUE:kotlin.Int). Value is either `0` or a combination of [android.os.Parcelable#PARCELABLE_WRITE_RETURN_VALUE](../../os/Parcelable.html#PARCELABLE_WRITE_RETURN_VALUE:kotlin.Int), and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES |\n\nProperties\n----------\n\n### CREATOR\n\nAdded in [API level 27](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nstatic val CREATOR: Parcelable.Creator\u003cCharSequenceTransformation!\u003e\n```"]]