1 /*
2  * Copyright (C) 2023 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.measurement;
18 
19 /** POJO for storing wipeout status */
20 public class WipeoutStatus {
21     /** Enums are tied to the AdservicesMeasurementWipeoutStatus atom */
22     public enum WipeoutType {
23         UNKNOWN(0),
24         UNINSTALL(1),
25         CONSENT_FLIP(2),
26         CLEAR_DATA(3),
27         DELETE_REGISTRATIONS_API(4),
28         PACKAGE_CHANGED_WIPEOUT_CAUSE(5), // deprecated in favor of DELETE_REGISTRATIONS_API
29         ROLLBACK_WIPEOUT_CAUSE(6);
30 
31         private final int mValue;
32 
WipeoutType(int value)33         WipeoutType(int value) {
34             mValue = value;
35         }
36 
getValue()37         public int getValue() {
38             return mValue;
39         }
40     }
41 
42     private WipeoutType mWipeoutType;
43 
WipeoutStatus()44     public WipeoutStatus() {
45         mWipeoutType = WipeoutType.UNKNOWN;
46     }
47 
48     /** Get the type of wipeout that occurred. */
getWipeoutType()49     public WipeoutType getWipeoutType() {
50         return mWipeoutType;
51     }
52 
53     /** Set the type of wipeout that occurred. */
setWipeoutType(WipeoutType type)54     public void setWipeoutType(WipeoutType type) {
55         mWipeoutType = type;
56     }
57 }
58