• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2022 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 android.annotation.NonNull;
20 import android.annotation.Nullable;
21 
22 import java.util.Objects;
23 
24 /** Class for measurement registration response Stats. */
25 public class MeasurementRegistrationResponseStats {
26     private final int mCode;
27     private final int mRegistrationType;
28     private final long mResponseSize;
29     private final String mAdTechDomain;
30     private final int mInteractionType;
31     private final int mSurfaceType;
32     private final int mRegistrationStatus;
33     private final int mFailureType;
34     private final long mRegistrationDelay;
35     private final String mSourceRegistrant;
36     private final int mRetryCount;
37     private final boolean mIsRedirectOnly;
38     private final boolean mIsPARequest;
39     private final int mNumDeletedEntities;
40     private final boolean mIsEventLevelEpsilonEnabled;
41     private final boolean mIsTriggerAggregatableValueFiltersConfigured;
42     private final boolean mIsTriggerFilteringIdConfigured;
43     private final boolean mIsTriggerContextIdConfigured;
44 
MeasurementRegistrationResponseStats(Builder builder)45     private MeasurementRegistrationResponseStats(Builder builder) {
46         mCode = builder.mCode;
47         mRegistrationType = builder.mRegistrationType;
48         mResponseSize = builder.mResponseSize;
49         mAdTechDomain = builder.mAdTechDomain;
50         mInteractionType = builder.mInteractionType;
51         mSurfaceType = builder.mSurfaceType;
52         mRegistrationStatus = builder.mRegistrationStatus;
53         mFailureType = builder.mFailureType;
54         mRegistrationDelay = builder.mRegistrationDelay;
55         mSourceRegistrant = builder.mSourceRegistrant;
56         mRetryCount = builder.mRetryCount;
57         mIsRedirectOnly = builder.mIsRedirectOnly;
58         mIsPARequest = builder.mIsPARequest;
59         mNumDeletedEntities = builder.mNumDeletedEntities;
60         mIsEventLevelEpsilonEnabled = builder.mIsEventLevelEpsilonEnabled;
61         mIsTriggerAggregatableValueFiltersConfigured =
62                 builder.mIsTriggerAggregatableValueFiltersConfigured;
63         mIsTriggerFilteringIdConfigured = builder.mIsTriggerFilteringIdConfigured;
64         mIsTriggerContextIdConfigured = builder.mIsTriggerContextIdConfigured;
65     }
66 
67     @Override
equals(Object o)68     public boolean equals(Object o) {
69         if (this == o) return true;
70         if (!(o instanceof MeasurementRegistrationResponseStats)) return false;
71         MeasurementRegistrationResponseStats that = (MeasurementRegistrationResponseStats) o;
72         return mCode == that.mCode
73                 && mRegistrationType == that.mRegistrationType
74                 && mResponseSize == that.mResponseSize
75                 && Objects.equals(mAdTechDomain, that.mAdTechDomain)
76                 && mInteractionType == that.mInteractionType
77                 && mSurfaceType == that.mSurfaceType
78                 && mRegistrationStatus == that.mRegistrationStatus
79                 && mFailureType == that.mFailureType
80                 && mRegistrationDelay == that.mRegistrationDelay
81                 && Objects.equals(mSourceRegistrant, that.mSourceRegistrant)
82                 && mRetryCount == that.mRetryCount
83                 && mIsRedirectOnly == that.mIsRedirectOnly
84                 && mIsPARequest == that.mIsPARequest
85                 && mNumDeletedEntities == that.mNumDeletedEntities
86                 && mIsEventLevelEpsilonEnabled == that.mIsEventLevelEpsilonEnabled
87                 && mIsTriggerAggregatableValueFiltersConfigured
88                         == that.mIsTriggerAggregatableValueFiltersConfigured
89                 && mIsTriggerFilteringIdConfigured == that.mIsTriggerFilteringIdConfigured
90                 && mIsTriggerContextIdConfigured == that.mIsTriggerContextIdConfigured;
91     }
92 
93     @Override
hashCode()94     public int hashCode() {
95         return Objects.hash(
96                 mCode,
97                 mRegistrationType,
98                 mResponseSize,
99                 mAdTechDomain,
100                 mInteractionType,
101                 mSurfaceType,
102                 mRegistrationStatus,
103                 mFailureType,
104                 mRegistrationDelay,
105                 mSourceRegistrant,
106                 mRetryCount,
107                 mIsRedirectOnly,
108                 mIsPARequest,
109                 mNumDeletedEntities,
110                 mIsEventLevelEpsilonEnabled,
111                 mIsTriggerAggregatableValueFiltersConfigured,
112                 mIsTriggerFilteringIdConfigured,
113                 mIsTriggerContextIdConfigured);
114     }
115 
116     @Override
toString()117     public String toString() {
118         return "MeasurementRegistrationResponseStats{"
119                 + "mCode="
120                 + mCode
121                 + ", mRegistrationType="
122                 + mRegistrationType
123                 + ", mResponseSize="
124                 + mResponseSize
125                 + ", mAdTechDomain='"
126                 + mAdTechDomain
127                 + ", mInteractionType="
128                 + mInteractionType
129                 + ", mSurfaceType="
130                 + mSurfaceType
131                 + ", mRegistrationStatus="
132                 + mRegistrationStatus
133                 + ", mFailureType="
134                 + mFailureType
135                 + ", mRegistrationDelay="
136                 + mRegistrationDelay
137                 + ", mSourceRegistrant="
138                 + mSourceRegistrant
139                 + ", mRetryCount="
140                 + mRetryCount
141                 + ", mIsRedirectOnly="
142                 + mIsRedirectOnly
143                 + ", mIsPARequest="
144                 + mIsPARequest
145                 + ", mNumDeletedEntities="
146                 + mNumDeletedEntities
147                 + ", mIsEventLevelEpsilonEnabled="
148                 + mIsEventLevelEpsilonEnabled
149                 + ", mIsTriggerAggregatableValueFiltersConfigured="
150                 + mIsTriggerAggregatableValueFiltersConfigured
151                 + ", mIsTriggerFilteringIdConfigured="
152                 + mIsTriggerFilteringIdConfigured
153                 + ", mIsTriggerContextIdConfigured="
154                 + mIsTriggerContextIdConfigured
155                 + '}';
156     }
157 
getCode()158     public int getCode() {
159         return mCode;
160     }
161 
getRegistrationType()162     public int getRegistrationType() {
163         return mRegistrationType;
164     }
165 
getResponseSize()166     public long getResponseSize() {
167         return mResponseSize;
168     }
169 
170     @Nullable
getAdTechDomain()171     public String getAdTechDomain() {
172         return mAdTechDomain;
173     }
174 
getInteractionType()175     public int getInteractionType() {
176         return mInteractionType;
177     }
178 
getSurfaceType()179     public int getSurfaceType() {
180         return mSurfaceType;
181     }
182 
getRegistrationStatus()183     public int getRegistrationStatus() {
184         return mRegistrationStatus;
185     }
186 
getFailureType()187     public int getFailureType() {
188         return mFailureType;
189     }
190 
getRegistrationDelay()191     public long getRegistrationDelay() {
192         return mRegistrationDelay;
193     }
194 
getSourceRegistrant()195     public String getSourceRegistrant() {
196         return mSourceRegistrant;
197     }
198 
getRetryCount()199     public int getRetryCount() {
200         return mRetryCount;
201     }
202 
isRedirectOnly()203     public boolean isRedirectOnly() {
204         return mIsRedirectOnly;
205     }
206 
isPARequest()207     public boolean isPARequest() {
208         return mIsPARequest;
209     }
210 
getNumDeletedEntities()211     public int getNumDeletedEntities() {
212         return mNumDeletedEntities;
213     }
214 
isEventLevelEpsilonEnabled()215     public boolean isEventLevelEpsilonEnabled() {
216         return mIsEventLevelEpsilonEnabled;
217     }
218 
isTriggerAggregatableValueFiltersConfigured()219     public boolean isTriggerAggregatableValueFiltersConfigured() {
220         return mIsTriggerAggregatableValueFiltersConfigured;
221     }
222 
isTriggerFilteringIdConfigured()223     public boolean isTriggerFilteringIdConfigured() {
224         return mIsTriggerFilteringIdConfigured;
225     }
226 
isTriggerContextIdConfigured()227     public boolean isTriggerContextIdConfigured() {
228         return mIsTriggerContextIdConfigured;
229     }
230 
231     /** Builder for {@link MeasurementRegistrationResponseStats}. */
232     public static final class Builder {
233         private final int mCode;
234         private final int mRegistrationType;
235         private final long mResponseSize;
236         private String mAdTechDomain;
237         private final int mInteractionType;
238         private final int mSurfaceType;
239         private final int mRegistrationStatus;
240         private final int mFailureType;
241         private final long mRegistrationDelay;
242         private final String mSourceRegistrant;
243         private final int mRetryCount;
244         private final boolean mIsRedirectOnly;
245         private final boolean mIsPARequest;
246         private final int mNumDeletedEntities;
247         private final boolean mIsEventLevelEpsilonEnabled;
248         private final boolean mIsTriggerAggregatableValueFiltersConfigured;
249         private final boolean mIsTriggerFilteringIdConfigured;
250         private final boolean mIsTriggerContextIdConfigured;
251 
Builder( int code, int registrationType, long responseSize, int interactionType, int surfaceType, int registrationStatus, int failureType, long registrationDelay, String sourceRegistrant, int retryCount, boolean isRedirectOnly, boolean isPARequest, int numDeletedEntities, boolean isEventLevelEpsilonEnabled, boolean isTriggerAggregatableValueFiltersConfigured, boolean isTriggerFilteringIdConfigured, boolean isTriggerContextIdConfigured)252         public Builder(
253                 int code,
254                 int registrationType,
255                 long responseSize,
256                 int interactionType,
257                 int surfaceType,
258                 int registrationStatus,
259                 int failureType,
260                 long registrationDelay,
261                 String sourceRegistrant,
262                 int retryCount,
263                 boolean isRedirectOnly,
264                 boolean isPARequest,
265                 int numDeletedEntities,
266                 boolean isEventLevelEpsilonEnabled,
267                 boolean isTriggerAggregatableValueFiltersConfigured,
268                 boolean isTriggerFilteringIdConfigured,
269                 boolean isTriggerContextIdConfigured) {
270             mCode = code;
271             mRegistrationType = registrationType;
272             mResponseSize = responseSize;
273             mInteractionType = interactionType;
274             mSurfaceType = surfaceType;
275             mRegistrationStatus = registrationStatus;
276             mFailureType = failureType;
277             mRegistrationDelay = registrationDelay;
278             mSourceRegistrant = sourceRegistrant;
279             mRetryCount = retryCount;
280             mIsRedirectOnly = isRedirectOnly;
281             mIsPARequest = isPARequest;
282             mNumDeletedEntities = numDeletedEntities;
283             mIsEventLevelEpsilonEnabled = isEventLevelEpsilonEnabled;
284             mIsTriggerAggregatableValueFiltersConfigured =
285                     isTriggerAggregatableValueFiltersConfigured;
286             mIsTriggerFilteringIdConfigured = isTriggerFilteringIdConfigured;
287             mIsTriggerContextIdConfigured = isTriggerContextIdConfigured;
288         }
289 
290         /** See {@link MeasurementRegistrationResponseStats#getAdTechDomain()} . */
291         @NonNull
setAdTechDomain( @ullable String adTechDomain)292         public MeasurementRegistrationResponseStats.Builder setAdTechDomain(
293                 @Nullable String adTechDomain) {
294             mAdTechDomain = adTechDomain;
295             return this;
296         }
297 
298         /** Build the {@link MeasurementRegistrationResponseStats}. */
299         @NonNull
build()300         public MeasurementRegistrationResponseStats build() {
301             return new MeasurementRegistrationResponseStats(this);
302         }
303     }
304 }
305