1 /*
2  * Copyright (C) 2019 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package android.service.autofill.augmented;
17 
18 import android.annotation.NonNull;
19 import android.content.ComponentName;
20 import android.metrics.LogMaker;
21 
22 import com.android.internal.logging.MetricsLogger;
23 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
24 
25 /** @hide */
26 public final class Helper {
27 
28     private static final MetricsLogger sMetricsLogger = new MetricsLogger();
29 
30     /**
31      * Logs a {@code MetricsEvent.AUTOFILL_AUGMENTED_RESPONSE} event.
32      */
logResponse(int type, @NonNull String servicePackageName, @NonNull ComponentName componentName, int mSessionId, long durationMs)33     public static void logResponse(int type, @NonNull String servicePackageName,
34             @NonNull ComponentName componentName, int mSessionId, long durationMs) {
35         // Remove activity name from logging
36         final ComponentName sanitizedComponentName =
37                 new ComponentName(componentName.getPackageName(), "");
38         final LogMaker log = new LogMaker(MetricsEvent.AUTOFILL_AUGMENTED_RESPONSE)
39                 .setType(type)
40                 .setComponentName(sanitizedComponentName)
41                 .addTaggedData(MetricsEvent.FIELD_AUTOFILL_SESSION_ID, mSessionId)
42                 .addTaggedData(MetricsEvent.FIELD_AUTOFILL_SERVICE, servicePackageName)
43                 .addTaggedData(MetricsEvent.FIELD_AUTOFILL_DURATION, durationMs);
44         sMetricsLogger.write(log);
45     }
46 
Helper()47     private Helper() {
48         throw new UnsupportedOperationException("contains only static methods");
49     }
50 }
51