Autofill Sample Extra Use Cases\n(For Verifying Service) Common Use Cases Sample Login Using a Custom Virtual View Sample Credit Card Check Out Using EditTexts Sample Credit Card Check Out Using Spinners Sample Login Using EditTexts Sample Login Using AutoCompleteTextViews Sample Email Compose Using EditTexts Sample Credit Card Check Out Using Compound Views Sample Credit Card Check Out Using Date Picker Sample Page with Multiple Data Partitions Sample Login Using a WebView Sample Credit Card Anti Pattern Username Password Success! Sign in using standard views Sign in using standard views that trigger AutoComplete dialogs when focused CC Number CC Expiration CC Exp Date CC Exp Day CC Exp Month CC Exp Year CC Security Code CSC OK / Cancel Clear Login To Body Submit Credit Card Expiration Month Credit Card Expiration Year This is a sample login page that uses standard EditTexts from the UI toolkit. EditTexts are already optimized for autofill so extra autofill-specific code is almost never needed. This is a sample login page that uses AutoCompleteTextViews instead of EditTexts. The AutoComplete dialogs can potentially interfere with the Autofill dialogs, so it is necessary to implement the AutofillCallback to disable AutoComplete when Autofill is working. This is a sample login page that uses a custom View with virtual children. Since the Autofill framework does not know how to autofill the virtual children out of the box, it is necessary implement certain Autofill-specific methods and interface directly with AutofillManager. This is a sample credit card checkout page that uses EditTexts to input data into the form. This is a sample credit card checkout page that uses EditTexts and Spinners to input data into the form. While EditTexts are optimized out of the box, Spinners can require a small amount of work when using a custom array adapter. In that case, you need to tell the Autofill framework which values in the adapter map to which indices. This is a sample email compose page that uses EditTexts to compose the email. Since none of the fields on the page are important to autofill, it is necessary to set the android:importantForAutofill XML property appropriately for each View. You can either set it to "no" on all non-autofillable Views, or set "noExcludeDescendants" on the root View if all Views in the hierarchy should not be autofilled. In this case, we did the latter. This is a sample credit card checkout page that uses a custom compound View to input the credit card\'s expiration date and an EditText to input the credit card number. While the EditText is optimized out of the box for autofill, this example shows how to implement certain Autofill-specific methods and XML properties for the custom compound view. This is a sample login page that uses a WebView to control the UI. The HTML on the web page uses standard W3C autofill hints that the autofill service recognizes. No extra code is needed other than these hints. This is a sample credit card checkout page that uses a custom EditText and a DatePicker to input the credit card\'s expiration date and an EditText to input the credit card number. While the EditText is optimized out of the box for autofill, this example shows how to use it to autofill a date field. This is a sample page that contains multiple partitions (login credentials, address, credit card info) and can be used to make sure that only one partition can be autofilled at time. This is a sample credit card checkout page that uses a standard EditText fields to represent the full credit card expiration date (which is tagged with the View.AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE hint). This is an anti-pattern because its autofill type is View.AUTOFILL_TYPE_TEXT, which makes it harder for the autofill service to figure out how to fill them. For example, should a month/year date be represent as "04/2020", "4/2020" or "4/20"? Or perhaps the year comes first, so it could be "2020/04", "2020/4" or "20/4"? The proper way to represent a View.AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE field is through a View.AUTOFILL_TYPE_DATE value, which is what the other credit card sample activities use. Credentials Credit Card Autofilled partition \'%1$s\' No partition for id %1$d on %2$s Blocked cross-partitions: %1$s Ignoring autofill on read-only field %1$s INVALID Representing expiration dates as %1$s Finished Showing step %1$d %1$s: %2$s Prev Next Finish Automatically return to main page in %d second. Automatically return to main page in %d seconds. user-1 user-2 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27