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        <!-- Daily maintenance Job. -->
101        <!-- Used by SettingsGaUiAutomatorTest on S- -->
102        <service android:name="com.android.adservices.service.MaintenanceJobService"
103                 android:permission="android.permission.BIND_JOB_SERVICE">
104        </service>
105
106        <!-- START - Used by BlockedTopicsSettingsUiAutomatorTest ConsentManager.enable() on S- -->
107
108        <!-- Epoch computation Job. -->
109        <service android:name="com.android.adservices.service.topics.EpochJobService"
110                 android:permission="android.permission.BIND_JOB_SERVICE">
111        </service>
112
113        <!-- Mdd background Job. -->
114        <service android:name="com.android.adservices.download.MddJobService"
115                 android:permission="android.permission.BIND_JOB_SERVICE">
116        </service>
117
118        <!-- Measurement aggregate main report upload job. -->
119        <service android:name=
120                     "com.android.adservices.service.measurement.reporting.AggregateReportingJobService"
121                 android:permission="android.permission.BIND_JOB_SERVICE">
122        </service>
123
124        <!-- Measurement aggregate fallback report upload job. -->
125        <service android:name=
126                     "com.android.adservices.service.measurement.reporting.AggregateFallbackReportingJobService"
127                 android:permission="android.permission.BIND_JOB_SERVICE">
128        </service>
129
130        <!-- Attribution Job.-->
131        <service android:name=
132                     "com.android.adservices.service.measurement.attribution.AttributionJobService"
133                 android:permission="android.permission.BIND_JOB_SERVICE">
134        </service>
135
136        <!-- Measurement event main report upload job. -->
137        <service
138            android:name="com.android.adservices.service.measurement.reporting.EventReportingJobService"
139            android:permission="android.permission.BIND_JOB_SERVICE">
140        </service>
141
142        <!-- Measurement event fallback report upload job. -->
143        <service android:name=
144                     "com.android.adservices.service.measurement.reporting.EventFallbackReportingJobService"
145                 android:permission="android.permission.BIND_JOB_SERVICE">
146        </service>
147
148        <!-- Deletion Job.-->
149        <service android:name=
150                     "com.android.adservices.service.measurement.DeleteExpiredJobService"
151                 android:permission="android.permission.BIND_JOB_SERVICE">
152        </service>
153
154        <!-- Measurement Deletion Uninstalled Apps Job. -->
155        <service android:name=
156                     "com.android.adservices.service.measurement.DeleteUninstalledJobService"
157                 android:permission="android.permission.BIND_JOB_SERVICE">
158        </service>
159
160        <!-- Registration Queue job. -->
161        <service android:name=
162                     "com.android.adservices.service.measurement.registration.AsyncRegistrationQueueJobService"
163                 android:permission="android.permission.BIND_JOB_SERVICE">
164        </service>
165
166        <!-- END - Used by ConsentManager.enable() in BlockedTopicsSettingsUiAutomatorTest on S- -->
167
168        <uses-library android:name="android.ext.adservices" android:required="false"/>
169    </application>
170
171    <instrumentation
172        android:name="androidx.test.runner.AndroidJUnitRunner"
173        android:label="AdServices UI Test Cases"
174        android:targetPackage="com.android.adextservices.tests.ui"/>
175</manifest>
176