1<?xml version="1.0" encoding="utf-8"?>
2<!--
3  ~ Copyright (C) 2022 The Android Open Source Project
4  ~
5  ~ Licensed under the Apache License, Version 2.0 (the "License");
6  ~ you may not use this file except in compliance with the License.
7  ~ You may obtain a copy of the License at
8  ~
9  ~      http://www.apache.org/licenses/LICENSE-2.0
10  ~
11  ~ Unless required by applicable law or agreed to in writing, software
12  ~ distributed under the License is distributed on an "AS IS" BASIS,
13  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  ~ See the License for the specific language governing permissions and
15  ~ limitations under the License.
16  -->
17
18<manifest
19    xmlns:android="http://schemas.android.com/apk/res/android"
20    package="com.android.adextservices.tests.ui">
21
22    <!-- New permission introduced in T+ devices needed to show notifications. -->
23    <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
24
25    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
26    <!--acts as an application that uses adservices in order for PPAPI to be enabled and notification to be displayed-->
27    <uses-permission android:name="android.permission.ACCESS_ADSERVICES_TOPICS"/>
28    <!-- Permissions required for reading device configs -->
29    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG"/>
30    <!-- Allows JobScheduler to persist jobs across reboot. -->
31    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
32
33    <application android:debuggable="true">
34        <!-- Activity for the main view of Adservices Settings UI-->
35        <activity
36            android:name="com.android.adservices.ui.settings.activities.AdServicesSettingsMainActivity"
37            android:exported="true"
38            android:theme="@style/Theme.SubSettingsBase">
39            <intent-filter android:priority="1">
40                <action android:name="android.test.adservices.ui.MAIN"/>
41                <category android:name="android.intent.category.DEFAULT"/>
42            </intent-filter>
43        </activity>
44
45        <!-- Activity for the topics view of Adservices Settings UI-->
46        <activity
47            android:name="com.android.adservices.ui.settings.activities.TopicsActivity"
48            android:exported="true"
49            android:theme="@style/Theme.SubSettingsBase">
50            <intent-filter android:priority="1">
51                <action android:name="android.test.adservices.ui.TOPICS"/>
52                <category android:name="android.intent.category.DEFAULT"/>
53            </intent-filter>
54        </activity>
55
56        <!-- Activity for the blocked topics view of Adservices Settings UI-->
57        <activity
58            android:name="com.android.adservices.ui.settings.activities.BlockedTopicsActivity"
59            android:exported="true"
60            android:theme="@style/Theme.SubSettingsBase">
61            <intent-filter android:priority="1">
62                <action android:name="android.test.adservices.ui.BLOCKED_TOPICS"/>
63                <category android:name="android.intent.category.DEFAULT"/>
64            </intent-filter>
65        </activity>
66
67        <!-- Activity for the apps view of Adservices Settings UI-->
68        <activity
69            android:name="com.android.adservices.ui.settings.activities.AppsActivity"
70            android:exported="true"
71            android:theme="@style/Theme.SubSettingsBase">
72            <intent-filter android:priority="1">
73                <action android:name="android.test.adservices.ui.APPS"/>
74                <category android:name="android.intent.category.DEFAULT"/>
75            </intent-filter>
76        </activity>
77
78        <!-- Activity for the blocked apps view of Adservices Settings UI-->
79        <activity
80            android:name="com.android.adservices.ui.settings.activities.BlockedAppsActivity"
81            android:exported="true"
82            android:theme="@style/Theme.SubSettingsBase">
83            <intent-filter android:priority="1">
84                <action android:name="android.test.adservices.ui.BLOCKED_APPS"/>
85                <category android:name="android.intent.category.DEFAULT"/>
86            </intent-filter>
87        </activity>
88
89        <!-- Activity for the ads measurement view of AdServices Settings UI-->
90        <activity
91            android:name="com.android.adservices.ui.settings.activities.MeasurementActivity"
92            android:exported="true"
93            android:theme="@style/Theme.SubSettingsBase">
94            <intent-filter android:priority="1">
95                <action android:name="android.adservices.ui.MEASUREMENT"/>
96                <category android:name="android.intent.category.DEFAULT"/>
97            </intent-filter>
98        </activity>
99
100        <activity
101            android:name="com.android.adservices.ui.notifications.ConsentNotificationActivity"
102            android:exported="true"
103            android:theme="@style/AdServices.NotificationTheme">
104            <intent-filter>
105                <action android:name="android.test.adservices.ui.NOTIFICATIONS"/>
106                <category android:name="android.intent.category.DEFAULT"/>
107            </intent-filter>
108        </activity>
109
110        <!-- Daily maintenance Job. -->
111        <!-- Used by SettingsGaUiAutomatorTest on S- -->
112        <service android:name="com.android.adservices.service.MaintenanceJobService"
113                 android:permission="android.permission.BIND_JOB_SERVICE">
114        </service>
115
116        <!-- START - Used by BlockedTopicsSettingsUiAutomatorTest ConsentManager.enable() on S- -->
117
118        <!-- Epoch computation Job. -->
119        <service android:name="com.android.adservices.service.topics.EpochJobService"
120                 android:permission="android.permission.BIND_JOB_SERVICE">
121        </service>
122
123        <!-- Mdd background Job. -->
124        <service android:name="com.android.adservices.download.MddJobService"
125                 android:permission="android.permission.BIND_JOB_SERVICE">
126        </service>
127
128        <!-- Measurement aggregate main report upload job. -->
129        <service android:name=
130                     "com.android.adservices.service.measurement.reporting.AggregateReportingJobService"
131                 android:permission="android.permission.BIND_JOB_SERVICE">
132        </service>
133
134        <!-- Measurement aggregate fallback report upload job. -->
135        <service android:name=
136                     "com.android.adservices.service.measurement.reporting.AggregateFallbackReportingJobService"
137                 android:permission="android.permission.BIND_JOB_SERVICE">
138        </service>
139
140        <!-- Measurement immediate aggregate report upload job. -->
141        <service android:name=
142                     "com.android.adservices.service.measurement.reporting.ImmediateAggregateReportingJobService"
143                 android:permission="android.permission.BIND_JOB_SERVICE">
144        </service>
145
146        <!-- Measurement regular report upload job. -->
147        <service android:name=
148                     "com.android.adservices.service.measurement.reporting.ReportingJobService"
149                 android:permission="android.permission.BIND_JOB_SERVICE">
150        </service>
151
152
153        <!-- Attribution Job.-->
154        <service android:name=
155                     "com.android.adservices.service.measurement.attribution.AttributionJobService"
156                 android:permission="android.permission.BIND_JOB_SERVICE">
157        </service>
158
159        <!-- Measurement event main report upload job. -->
160        <service
161            android:name="com.android.adservices.service.measurement.reporting.EventReportingJobService"
162            android:permission="android.permission.BIND_JOB_SERVICE">
163        </service>
164
165        <!-- Measurement event fallback report upload job. -->
166        <service android:name=
167                     "com.android.adservices.service.measurement.reporting.EventFallbackReportingJobService"
168                 android:permission="android.permission.BIND_JOB_SERVICE">
169        </service>
170
171        <!-- Deletion Job.-->
172        <service android:name=
173                     "com.android.adservices.service.measurement.DeleteExpiredJobService"
174                 android:permission="android.permission.BIND_JOB_SERVICE">
175        </service>
176
177        <!-- Measurement Deletion Uninstalled Apps Job. -->
178        <service android:name=
179                     "com.android.adservices.service.measurement.DeleteUninstalledJobService"
180                 android:permission="android.permission.BIND_JOB_SERVICE">
181        </service>
182
183        <!-- Registration Queue job. -->
184        <service android:name=
185                     "com.android.adservices.service.measurement.registration.AsyncRegistrationQueueJobService"
186                 android:permission="android.permission.BIND_JOB_SERVICE">
187        </service>
188
189        <!-- END - Used by ConsentManager.enable() in BlockedTopicsSettingsUiAutomatorTest on S- -->
190
191        <uses-library android:name="android.ext.adservices" android:required="false"/>
192    </application>
193
194    <instrumentation
195        android:name="androidx.test.runner.AndroidJUnitRunner"
196        android:label="AdServices UI Test Cases"
197        android:targetPackage="com.android.adextservices.tests.ui"/>
198</manifest>
199