From 4ed8a9b1c6d5431a7ab9fb4ab1d1c2a7722687c1 Mon Sep 17 00:00:00 2001 From: Adam He Date: Tue, 29 Jun 2021 15:52:34 -0700 Subject: [PATCH] Remove activity name from autofill metrics logger. Bug: 192370727 Test: atest CtsAutoFillServiceTestCases Change-Id: I88765d5ef92ed9fb03bc5c3c161ddad22e297fd6 --- .../android/service/autofill/augmented/Helper.java | 5 ++++- .../android/view/autofill/AutofillManager.java | 5 ++++- .../autofill/AutofillManagerServiceImpl.java | 14 ++++---------- .../java/com/android/server/autofill/Helper.java | 5 ++++- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/core/java/android/service/autofill/augmented/Helper.java b/core/java/android/service/autofill/augmented/Helper.java index afcd8b7afedc3..e5cbff490f918 100644 --- a/core/java/android/service/autofill/augmented/Helper.java +++ b/core/java/android/service/autofill/augmented/Helper.java @@ -32,9 +32,12 @@ public final class Helper { */ public static void logResponse(int type, @NonNull String servicePackageName, @NonNull ComponentName componentName, int mSessionId, long durationMs) { + // Remove activity name from logging + final ComponentName sanitizedComponentName = + new ComponentName(componentName.getPackageName(), ""); final LogMaker log = new LogMaker(MetricsEvent.AUTOFILL_AUGMENTED_RESPONSE) .setType(type) - .setComponentName(componentName) + .setComponentName(sanitizedComponentName) .addTaggedData(MetricsEvent.FIELD_AUTOFILL_SESSION_ID, mSessionId) .addTaggedData(MetricsEvent.FIELD_AUTOFILL_SERVICE, servicePackageName) .addTaggedData(MetricsEvent.FIELD_AUTOFILL_DURATION, durationMs); diff --git a/core/java/android/view/autofill/AutofillManager.java b/core/java/android/view/autofill/AutofillManager.java index 4df8fd29c64d5..d0651472bd163 100644 --- a/core/java/android/view/autofill/AutofillManager.java +++ b/core/java/android/view/autofill/AutofillManager.java @@ -2459,7 +2459,10 @@ public final class AutofillManager { // Client should never be null here, but it doesn't hurt to check... log.setPackageName(mContext.getPackageName()); } else { - log.setComponentName(client.autofillClientGetComponentName()); + // Remove activity name from logging + final ComponentName sanitizedComponentName = + new ComponentName(client.autofillClientGetComponentName().getPackageName(), ""); + log.setComponentName(sanitizedComponentName); } return log; } diff --git a/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java b/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java index 5f2d4e82883c3..aa42e8deb5813 100644 --- a/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java +++ b/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java @@ -1515,16 +1515,10 @@ final class AutofillManagerServiceImpl final int intDuration = duration > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int) duration; - // NOTE: not using Helper.newLogMaker() because we're setting the componentName instead - // of package name - final LogMaker log = new LogMaker(MetricsEvent.AUTOFILL_SERVICE_DISABLED_ACTIVITY) - .setComponentName(componentName) - .addTaggedData(MetricsEvent.FIELD_AUTOFILL_SERVICE, getServicePackageName()) - .addTaggedData(MetricsEvent.FIELD_AUTOFILL_DURATION, intDuration) - .addTaggedData(MetricsEvent.FIELD_AUTOFILL_SESSION_ID, sessionId); - if (compatMode) { - log.addTaggedData(MetricsEvent.FIELD_AUTOFILL_COMPAT_MODE, 1); - } + + final LogMaker log = Helper.newLogMaker(MetricsEvent.AUTOFILL_SERVICE_DISABLED_ACTIVITY, + componentName, getServicePackageName(), sessionId, compatMode) + .addTaggedData(MetricsEvent.FIELD_AUTOFILL_DURATION, intDuration); mMetricsLogger.write(log); } } diff --git a/services/autofill/java/com/android/server/autofill/Helper.java b/services/autofill/java/com/android/server/autofill/Helper.java index e35c0ee4e59b2..bc5d6457c945f 100644 --- a/services/autofill/java/com/android/server/autofill/Helper.java +++ b/services/autofill/java/com/android/server/autofill/Helper.java @@ -127,8 +127,11 @@ public final class Helper { @NonNull public static LogMaker newLogMaker(int category, @NonNull ComponentName componentName, @NonNull String servicePackageName, int sessionId, boolean compatMode) { + // Remove activity name from logging + final ComponentName sanitizedComponentName = + new ComponentName(componentName.getPackageName(), ""); return newLogMaker(category, servicePackageName, sessionId, compatMode) - .setComponentName(componentName); + .setComponentName(sanitizedComponentName); } public static void printlnRedactedText(@NonNull PrintWriter pw, @Nullable CharSequence text) {