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    xmlns:tools="http://schemas.android.com/tools"
21    package="com.android.adextservices.tests.ui">
22
23    <!-- New permission introduced in T+ devices needed to show notifications. -->
24    <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
25
26    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
27    <!--acts as an application that uses adservices in order for PPAPI to be enabled and notification to be displayed-->
28    <uses-permission android:name="android.permission.ACCESS_ADSERVICES_TOPICS"/>
29    <!-- Permissions required for reading device configs -->
30    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG"/>
31    <!-- Allows JobScheduler to persist jobs across reboot. -->
32    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
33    <!-- Allows to see other sample apps installed on the device. -->
34    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
35                     tools:ignore="QueryAllPackagesPermission" />
36
37    <application android:debuggable="true">
38        <!-- Activity for the main view of Adservices Settings UI-->
39        <activity
40            android:name="com.android.adservices.ui.settings.activities.AdServicesSettingsMainActivity"
41            android:exported="true"
42            android:theme="@style/Theme.SubSettingsBase">
43            <intent-filter android:priority="1">
44                <action android:name="android.test.adservices.ui.MAIN"/>
45                <category android:name="android.intent.category.DEFAULT"/>
46            </intent-filter>
47        </activity>
48
49        <!-- Activity for the topics view of Adservices Settings UI-->
50        <activity
51            android:name="com.android.adservices.ui.settings.activities.TopicsActivity"
52            android:exported="true"
53            android:theme="@style/Theme.SubSettingsBase">
54            <intent-filter android:priority="1">
55                <action android:name="android.test.adservices.ui.TOPICS"/>
56                <category android:name="android.intent.category.DEFAULT"/>
57            </intent-filter>
58        </activity>
59
60        <!-- Activity for the blocked topics view of Adservices Settings UI-->
61        <activity
62            android:name="com.android.adservices.ui.settings.activities.BlockedTopicsActivity"
63            android:exported="true"
64            android:theme="@style/Theme.SubSettingsBase">
65            <intent-filter android:priority="1">
66                <action android:name="android.test.adservices.ui.BLOCKED_TOPICS"/>
67                <category android:name="android.intent.category.DEFAULT"/>
68            </intent-filter>
69        </activity>
70
71        <!-- Activity for the apps view of Adservices Settings UI-->
72        <activity
73            android:name="com.android.adservices.ui.settings.activities.AppsActivity"
74            android:exported="true"
75            android:theme="@style/Theme.SubSettingsBase">
76            <intent-filter android:priority="1">
77                <action android:name="android.test.adservices.ui.APPS"/>
78                <category android:name="android.intent.category.DEFAULT"/>
79            </intent-filter>
80        </activity>
81
82        <!-- Activity for the blocked apps view of Adservices Settings UI-->
83        <activity
84            android:name="com.android.adservices.ui.settings.activities.BlockedAppsActivity"
85            android:exported="true"
86            android:theme="@style/Theme.SubSettingsBase">
87            <intent-filter android:priority="1">
88                <action android:name="android.test.adservices.ui.BLOCKED_APPS"/>
89                <category android:name="android.intent.category.DEFAULT"/>
90            </intent-filter>
91        </activity>
92
93        <!-- Activity for the ads measurement view of AdServices Settings UI-->
94        <activity
95            android:name="com.android.adservices.ui.settings.activities.MeasurementActivity"
96            android:exported="true"
97            android:theme="@style/Theme.SubSettingsBase">
98            <intent-filter android:priority="1">
99                <action android:name="android.adservices.ui.MEASUREMENT"/>
100                <category android:name="android.intent.category.DEFAULT"/>
101            </intent-filter>
102        </activity>
103
104        <activity
105            android:name="com.android.adservices.ui.notifications.ConsentNotificationActivity"
106            android:exported="true"
107            android:theme="@style/AdServices.NotificationTheme">
108            <intent-filter>
109                <action android:name="android.test.adservices.ui.NOTIFICATIONS"/>
110                <category android:name="android.intent.category.DEFAULT"/>
111            </intent-filter>
112        </activity>
113
114        <!-- Daily maintenance Job. -->
115        <!-- Used by SettingsGaUiAutomatorTest on S- -->
116        <service android:name="com.android.adservices.service.MaintenanceJobService"
117                 android:permission="android.permission.BIND_JOB_SERVICE">
118        </service>
119
120        <!-- START - Used by BlockedTopicsSettingsUiAutomatorTest ConsentManager.enable() on S- -->
121
122        <!-- Epoch computation Job. -->
123        <service android:name="com.android.adservices.service.topics.EpochJobService"
124                 android:permission="android.permission.BIND_JOB_SERVICE">
125        </service>
126
127        <!-- Mdd background Job. -->
128        <service android:name="com.android.adservices.download.MddJobService"
129                 android:permission="android.permission.BIND_JOB_SERVICE">
130        </service>
131
132        <!-- Measurement aggregate main report upload job. -->
133        <service android:name=
134                     "com.android.adservices.service.measurement.reporting.AggregateReportingJobService"
135                 android:permission="android.permission.BIND_JOB_SERVICE">
136        </service>
137
138        <!-- Measurement aggregate fallback report upload job. -->
139        <service android:name=
140                     "com.android.adservices.service.measurement.reporting.AggregateFallbackReportingJobService"
141                 android:permission="android.permission.BIND_JOB_SERVICE">
142        </service>
143
144        <!-- Measurement immediate aggregate report upload job. -->
145        <service android:name=
146                     "com.android.adservices.service.measurement.reporting.ImmediateAggregateReportingJobService"
147                 android:permission="android.permission.BIND_JOB_SERVICE">
148        </service>
149
150        <!-- Measurement regular report upload job. -->
151        <service android:name=
152                     "com.android.adservices.service.measurement.reporting.ReportingJobService"
153                 android:permission="android.permission.BIND_JOB_SERVICE">
154        </service>
155
156
157        <!-- Attribution Job.-->
158        <service android:name=
159                     "com.android.adservices.service.measurement.attribution.AttributionJobService"
160                 android:permission="android.permission.BIND_JOB_SERVICE">
161        </service>
162
163        <!-- Measurement event main report upload job. -->
164        <service
165            android:name="com.android.adservices.service.measurement.reporting.EventReportingJobService"
166            android:permission="android.permission.BIND_JOB_SERVICE">
167        </service>
168
169        <!-- Measurement event fallback report upload job. -->
170        <service android:name=
171                     "com.android.adservices.service.measurement.reporting.EventFallbackReportingJobService"
172                 android:permission="android.permission.BIND_JOB_SERVICE">
173        </service>
174
175        <!-- Deletion Job.-->
176        <service android:name=
177                     "com.android.adservices.service.measurement.DeleteExpiredJobService"
178                 android:permission="android.permission.BIND_JOB_SERVICE">
179        </service>
180
181        <!-- Measurement Deletion Uninstalled Apps Job. -->
182        <service android:name=
183                     "com.android.adservices.service.measurement.DeleteUninstalledJobService"
184                 android:permission="android.permission.BIND_JOB_SERVICE">
185        </service>
186
187        <!-- Registration Queue job. -->
188        <service android:name=
189                     "com.android.adservices.service.measurement.registration.AsyncRegistrationQueueJobService"
190                 android:permission="android.permission.BIND_JOB_SERVICE">
191        </service>
192
193        <!-- END - Used by ConsentManager.enable() in BlockedTopicsSettingsUiAutomatorTest on S- -->
194
195        <uses-library android:name="android.ext.adservices" android:required="false"/>
196    </application>
197
198    <instrumentation
199        android:name="androidx.test.runner.AndroidJUnitRunner"
200        android:label="AdServices UI Test Cases"
201        android:targetPackage="com.android.adextservices.tests.ui"/>
202</manifest>
203