• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.spe;
18 
19 import java.util.Collections;
20 import java.util.HashMap;
21 import java.util.Map;
22 
23 /** Enum class to store background jobs metadata. */
24 public enum AdservicesJobInfo {
25     MAINTENANCE_JOB("MAINTENANCE_JOB", 1),
26 
27     TOPICS_EPOCH_JOB("TOPICS_EPOCH_JOB", 2),
28 
29     MEASUREMENT_EVENT_MAIN_REPORTING_JOB("MEASUREMENT_EVENT_MAIN_REPORTING_JOB", 3),
30 
31     MEASUREMENT_DELETE_EXPIRED_JOB("MEASUREMENT_DELETE_EXPIRED_JOB", 4),
32 
33     MEASUREMENT_ATTRIBUTION_JOB("MEASUREMENT_ATTRIBUTION_JOB", 5),
34 
35     MEASUREMENT_EVENT_FALLBACK_REPORTING_JOB("MEASUREMENT_EVENT_FALLBACK_REPORTING_JOB", 6),
36 
37     MEASUREMENT_AGGREGATE_MAIN_REPORTING_JOB("MEASUREMENT_AGGREGATE_MAIN_REPORTING_JOB", 7),
38 
39     MEASUREMENT_AGGREGATE_FALLBACK_REPORTING_JOB("MEASUREMENT_AGGREGATE_FALLBACK_REPORTING_JOB", 8),
40 
41     FLEDGE_BACKGROUND_FETCH_JOB("FLEDGE_BACKGROUND_FETCH_JOB", 9),
42 
43     CONSENT_NOTIFICATION_JOB("CONSENT_NOTIFICATION_JOB", 10),
44 
45     MDD_MAINTENANCE_PERIODIC_TASK_JOB("MDD_MAINTENANCE_PERIODIC_TASK_JOB", 11),
46 
47     MDD_CHARGING_PERIODIC_TASK_JOB("MDD_CHARGING_PERIODIC_TASK_JOB", 12),
48 
49     MDD_CELLULAR_CHARGING_PERIODIC_TASK_JOB("MDD_CELLULAR_CHARGING_PERIODIC_TASK_JOB", 13),
50 
51     MDD_WIFI_CHARGING_PERIODIC_TASK_JOB("MDD_WIFI_CHARGING_PERIODIC_TASK_JOB", 14),
52 
53     @Deprecated
54     DEPRECATED_ASYNC_REGISTRATION_QUEUE_JOB("DEPRECATED_ASYNC_REGISTRATION_QUEUE_JOB", 15),
55 
56     MEASUREMENT_DELETE_UNINSTALLED_JOB("MEASUREMENT_DELETE_UNINSTALLED_JOB", 16),
57 
58     MEASUREMENT_DEBUG_REPORT_JOB("MEASUREMENT_DEBUG_REPORT_JOB", 17),
59 
60     MEASUREMENT_DEBUG_REPORT_API_JOB("MEASUREMENT_DEBUG_REPORT_API_JOB", 18),
61 
62     MEASUREMENT_ASYNC_REGISTRATION_FALLBACK_JOB("MEASUREMENT_ASYNC_REGISTRATION_FALLBACK_JOB", 19),
63 
64     MEASUREMENT_ASYNC_REGISTRATION_JOB("MEASUREMENT_ASYNC_REGISTRATION_JOB", 20),
65 
66     MEASUREMENT_ATTRIBUTION_FALLBACK_JOB("MEASUREMENT_ATTRIBUTION_FALLBACK_JOB", 21);
67 
68     private final String mJobServiceName;
69     private final int mJobId;
70 
71     // The reverse mapping to get Job Info by Job ID.
72     private static final Map<Integer, AdservicesJobInfo> JOB_ID_TO_INFO_MAP =
73             Collections.unmodifiableMap(initializeMapping());
74 
AdservicesJobInfo(String jobServiceName, int jobId)75     AdservicesJobInfo(String jobServiceName, int jobId) {
76         mJobServiceName = jobServiceName;
77         mJobId = jobId;
78     }
79 
80     /**
81      * Get the job name of a job info.
82      *
83      * @return the job name
84      */
getJobServiceName()85     public String getJobServiceName() {
86         return mJobServiceName;
87     }
88 
89     /**
90      * Get the job id of a job info.
91      *
92      * @return the job id
93      */
getJobId()94     public int getJobId() {
95         return mJobId;
96     }
97 
getJobIdToInfoMap()98     static Map<Integer, AdservicesJobInfo> getJobIdToInfoMap() {
99         return JOB_ID_TO_INFO_MAP;
100     }
101 
initializeMapping()102     private static Map<Integer, AdservicesJobInfo> initializeMapping() {
103         Map<Integer, AdservicesJobInfo> map = new HashMap<>();
104         for (AdservicesJobInfo info : AdservicesJobInfo.values()) {
105             map.put(info.getJobId(), info);
106         }
107 
108         return map;
109     }
110 }
111