in AutofillFramework/afservice/src/main/java/com/example/android/autofill/service/data/adapter/ResponseAdapter.java [70:107]
public FillResponse buildResponse(HashMap<String, FieldTypeWithHeuristics> fieldTypesByAutofillHint,
List<DatasetWithFilledAutofillFields> datasets, boolean datasetAuth) {
FillResponse.Builder responseBuilder = new FillResponse.Builder();
if (datasets != null) {
for (DatasetWithFilledAutofillFields datasetWithFilledAutofillFields : datasets) {
if (datasetWithFilledAutofillFields != null) {
Dataset dataset;
String datasetName = datasetWithFilledAutofillFields.autofillDataset
.getDatasetName();
if (datasetAuth) {
IntentSender intentSender = AuthActivity.getAuthIntentSenderForDataset(
mContext, datasetName);
RemoteViews remoteViews = RemoteViewsHelper.viewsWithAuth(
mPackageName, datasetName);
dataset = mDatasetAdapter.buildDataset(fieldTypesByAutofillHint,
datasetWithFilledAutofillFields, remoteViews, intentSender);
} else {
RemoteViews remoteViews = RemoteViewsHelper.viewsWithNoAuth(
mPackageName, datasetName);
dataset = mDatasetAdapter.buildDataset(fieldTypesByAutofillHint,
datasetWithFilledAutofillFields, remoteViews);
}
if (dataset != null) {
responseBuilder.addDataset(dataset);
}
}
}
}
int saveType = mClientViewMetadata.getSaveType();
AutofillId[] autofillIds = mClientViewMetadata.getAutofillIds();
if (autofillIds != null && autofillIds.length > 0) {
SaveInfo saveInfo = new SaveInfo.Builder(saveType, autofillIds).build();
responseBuilder.setSaveInfo(saveInfo);
return responseBuilder.build();
} else {
return null;
}
}