• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2025 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 
17 package com.android.adservices.service.stats;
18 
19 import com.google.auto.value.AutoValue;
20 
21 @AutoValue
22 public abstract class ReportingWithDestinationPerformedStats {
23     /** Returns the status of the report impression performed */
24     @AdsRelevanceStatusUtils.ReportingCallStatsStatus
getStatus()25     public abstract int getStatus();
26 
27     /** Returns the destination of the report impression */
28     @AdsRelevanceStatusUtils.ReportingCallStatsDestination
getDestination()29     public abstract int getDestination();
30 
31     /** Returns the type of reporting for this logs (report event/report impression). */
32     @AdsRelevanceStatusUtils.ReportingApiType
getReportingType()33     public abstract int getReportingType();
34 
builder()35     public static Builder builder() {
36         return new AutoValue_ReportingWithDestinationPerformedStats.Builder();
37     }
38 
39     @AutoValue.Builder
40     public abstract static class Builder {
41         /** Sets the status for the report impression performed. */
setStatus( @dsRelevanceStatusUtils.ReportingCallStatsStatus int status)42         public abstract Builder setStatus(
43                 @AdsRelevanceStatusUtils.ReportingCallStatsStatus int status);
44 
45         /** Sets the type of destination. */
setDestination( @dsRelevanceStatusUtils.ReportingCallStatsDestination int destination)46         public abstract Builder setDestination(
47                 @AdsRelevanceStatusUtils.ReportingCallStatsDestination int destination);
48 
49         /** Sets the type of reporting performed. */
setReportingType( @dsRelevanceStatusUtils.ReportingApiType int reportingType)50         public abstract Builder setReportingType(
51                 @AdsRelevanceStatusUtils.ReportingApiType int reportingType);
52 
53         /**
54          * Returns a new instance of {@link ReportingWithDestinationPerformedStats} built from the
55          * values set in this builder
56          */
build()57         public abstract ReportingWithDestinationPerformedStats build();
58     }
59 }
60