# Print output for @column tags ?>
public
static
final
class
FillEventHistory.Event
extends Object
java.lang.Object | |
↳ | android.service.autofill.FillEventHistory.Event |
Description of an event that occured after the latest call to
FillCallback#onSuccess(FillResponse)
.
Constants | |
---|---|
int |
TYPE_AUTHENTICATION_SELECTED
A |
int |
TYPE_CONTEXT_COMMITTED
A committed autofill context for which the autofill service provided datasets. |
int |
TYPE_DATASETS_SHOWN
A dataset selector was shown. |
int |
TYPE_DATASET_AUTHENTICATION_SELECTED
A |
int |
TYPE_DATASET_SELECTED
A dataset was selected. |
int |
TYPE_SAVE_SHOWN
A save UI was shown. |
Public methods | |
---|---|
Map<AutofillId, String>
|
getChangedFields()
Returns which fields in the selected datasets were changed by the user after the dataset was selected. |
Bundle
|
getClientState()
Returns the client state from the |
String
|
getDatasetId()
Returns the id of dataset the id was on. |
Map<AutofillId, FieldClassification>
|
getFieldsClassification()
Gets the field classification results. |
Set<String>
|
getIgnoredDatasetIds()
Returns which datasets were NOT selected by the user. |
Map<AutofillId, Set<String>>
|
getManuallyEnteredField()
Returns which fields were available on datasets provided by the service but manually entered by the user. |
Set<String>
|
getSelectedDatasetIds()
Returns which datasets were selected by the user. |
int
|
getType()
Returns the type of the event. |
String
|
toString()
Returns a string representation of the object. |
Inherited methods | |
---|---|
public static final int TYPE_AUTHENTICATION_SELECTED
A FillResponse.Builder#setAuthentication(android.view.autofill.AutofillId[],
IntentSender, android.widget.RemoteViews)
was selected.
Constant Value: 2 (0x00000002)
public static final int TYPE_CONTEXT_COMMITTED
A committed autofill context for which the autofill service provided datasets.
This event is useful to track:
getSelectedDatasetIds()
).
getIgnoredDatasetIds()
).
getChangedFields()
.
UserData
set by the service.
Note: This event is only generated when:
FillResponse
associated with the context.
FillResponse
associated with the context has the
FillResponse#FLAG_TRACK_CONTEXT_COMMITED
flag.
See AutofillManager
for more information about autofill
contexts.
Constant Value: 4 (0x00000004)
public static final int TYPE_DATASETS_SHOWN
A dataset selector was shown.
This event is fired whenever the autofill UI was presented to the user.
Constant Value: 5 (0x00000005)
public static final int TYPE_DATASET_AUTHENTICATION_SELECTED
A Dataset.Builder#setAuthentication(IntentSender)
was
selected. The dataset authenticated can be read from getDatasetId()
.
Constant Value: 1 (0x00000001)
public static final int TYPE_DATASET_SELECTED
A dataset was selected. The dataset selected can be read from getDatasetId()
.
Note: on Android Build.VERSION_CODES.O
, this event was also
incorrectly reported after a
Dataset.Builder#setAuthentication(IntentSender)
was
selected and the service returned a dataset in the
AutofillManager#EXTRA_AUTHENTICATION_RESULT
of the activity launched from that
IntentSender
. This behavior was fixed on Android
Build.VERSION_CODES.O_MR1
.
Constant Value: 0 (0x00000000)
public static final int TYPE_SAVE_SHOWN
A save UI was shown.
Constant Value: 3 (0x00000003)
public Map<AutofillId, String> getChangedFields ()
Returns which fields in the selected datasets were changed by the user after the dataset was selected.
For example, server provides:
FillResponse response = new FillResponse.Builder() .addDataset(new Dataset.Builder(presentation1) .setId("4815") .setValue(usernameId, AutofillValue.forText("MrPlow")) .build()) .addDataset(new Dataset.Builder(presentation2) .setId("162342") .setValue(passwordId, AutofillValue.forText("D'OH")) .build()) .build();
User select both datasets (for username and password) but after the fields are autofilled, user changes them to:
username = "ElBarto"; password = "AyCaramba";
Then the result is the following map:
usernameId => "4815" passwordId => "162342"
Note: Only set on events of type TYPE_CONTEXT_COMMITTED
.
Returns | |
---|---|
Map<AutofillId, String> |
map map whose key is the id of the change fields, and value is the id of
dataset that has that field and was selected by the user.
This value cannot be null . |
public Bundle getClientState ()
Returns the client state from the FillResponse
used to generate this event.
Note: the state is associated with the app that was autofilled in the previous
AutofillService#onFillRequest(FillRequest, android.os.CancellationSignal, FillCallback)
,
which is not necessary the same app being autofilled now.
Returns | |
---|---|
Bundle |
This value may be null . |
public String getDatasetId ()
Returns the id of dataset the id was on.
Returns | |
---|---|
String |
The id of dataset, or null the event is not associated with a dataset. |
public Map<AutofillId, FieldClassification> getFieldsClassification ()
Gets the field classification results.
Note: Only set on events of type TYPE_CONTEXT_COMMITTED
, when the
service requested FillResponse.Builder#setFieldClassificationIds(AutofillId...)
.
Returns | |
---|---|
Map<AutofillId, FieldClassification> |
This value cannot be null . |
public Set<String> getIgnoredDatasetIds ()
Returns which datasets were NOT selected by the user.
Note: Only set on events of type TYPE_CONTEXT_COMMITTED
.
Returns | |
---|---|
Set<String> |
This value cannot be null . |
public Map<AutofillId, Set<String>> getManuallyEnteredField ()
Returns which fields were available on datasets provided by the service but manually entered by the user.
For example, server provides:
FillResponse response = new FillResponse.Builder() .addDataset(new Dataset.Builder(presentation1) .setId("4815") .setValue(usernameId, AutofillValue.forText("MrPlow")) .setValue(passwordId, AutofillValue.forText("AyCaramba")) .build()) .addDataset(new Dataset.Builder(presentation2) .setId("162342") .setValue(usernameId, AutofillValue.forText("ElBarto")) .setValue(passwordId, AutofillValue.forText("D'OH")) .build()) .addDataset(new Dataset.Builder(presentation3) .setId("108") .setValue(usernameId, AutofillValue.forText("MrPlow")) .setValue(passwordId, AutofillValue.forText("D'OH")) .build()) .build();
User doesn't select a dataset but manually enters:
username = "MrPlow"; password = "D'OH";
Then the result is the following map:
usernameId => { "4815", "108"} passwordId => { "162342", "108" }
Note: Only set on events of type TYPE_CONTEXT_COMMITTED
.
Returns | |
---|---|
Map<AutofillId, Set<String>> |
map map whose key is the id of the manually-entered field, and value is the
ids of the datasets that have that value but were not selected by the user.
This value cannot be null . |
public Set<String> getSelectedDatasetIds ()
Returns which datasets were selected by the user.
Note: Only set on events of type TYPE_CONTEXT_COMMITTED
.
Returns | |
---|---|
Set<String> |
This value cannot be null . |
public int getType ()
Returns the type of the event.
Returns | |
---|---|
int |
The type of the event |
public String toString ()
Returns a string representation of the object. In general, the
toString
method returns a string that
"textually represents" this object. The result should
be a concise but informative representation that is easy for a
person to read.
It is recommended that all subclasses override this method.
The toString
method for class Object
returns a string consisting of the name of the class of which the
object is an instance, the at-sign character `@
', and
the unsigned hexadecimal representation of the hash code of the
object. In other words, this method returns a string equal to the
value of:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Returns | |
---|---|
String |
a string representation of the object. |