diff --git a/proto/src/metrics_constants.proto b/proto/src/metrics_constants.proto index 0cc60e3146d78..b3ec8d022d080 100644 --- a/proto/src/metrics_constants.proto +++ b/proto/src/metrics_constants.proto @@ -3964,7 +3964,8 @@ message MetricsEvent { // Type TYPE_FAILURE: The request failed // Package: Package of app that is autofilled // Tag FIELD_AUTOFILL_SERVICE: Package of service that processed the request - // Tag FIELD_AUTOFILL_NUM_DATASETS: The number of datasets returned (only in success case) + // Tag FIELD_AUTOFILL_NUM_DATASETS: The number of datasets returned in the response, or -1 if + // the service returned a null response. // NOTE: starting on OS P, it also added: // Type TYPE_CLOSE: Service returned a null response. // Tag FIELD_AUTOFILL_NUM_FIELD_CLASSIFICATION_IDS: if service requested field classification, diff --git a/services/autofill/java/com/android/server/autofill/Session.java b/services/autofill/java/com/android/server/autofill/Session.java index 7f57615163022..55c0372dc3a03 100644 --- a/services/autofill/java/com/android/server/autofill/Session.java +++ b/services/autofill/java/com/android/server/autofill/Session.java @@ -596,6 +596,9 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState } if (response == null) { processNullResponseLocked(requestFlags); + mMetricsLogger.write(newLogMaker(MetricsEvent.AUTOFILL_REQUEST, servicePackageName) + .setType(MetricsEvent.TYPE_SUCCESS) + .addTaggedData(MetricsEvent.FIELD_AUTOFILL_NUM_DATASETS, -1)); return; }