1<?xml version="1.0" encoding="utf-8"?>
2<!--
3  ~ Copyright (C) 2023 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 xmlns:android="http://schemas.android.com/apk/res/android"
19    package="com.android.adservices.uiunittest" >
20
21    <uses-permission android:name="android.permission.INTERNET" />
22    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
23
24    <uses-permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID" />
25    <uses-permission android:name="android.permission.ACCESS_ADSERVICES_TOPICS" />
26    <uses-permission android:name="android.permission.ACCESS_ADSERVICES_CUSTOM_AUDIENCE" />
27
28    <!-- Needed to resolve Intent to ComponentName for measurement verifiedDestination -->
29    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
30
31    <!-- Needed to schedule MDD jobs to persist across device reboots  -->
32    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
33
34    <!-- Permissions required for reading device configs -->
35    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG"/>
36
37    <!-- android:debuggable="true is needed. See b/228384531 -->
38    <application
39        android:debuggable="true"
40        android:networkSecurityConfig="@xml/network_security_config">
41        <property android:name="android.adservices.AD_SERVICES_CONFIG"
42            android:resource="@xml/ad_services_config" />
43
44        <!-- App Manifest Config that does not declare <includes-sdk-library> -->
45        <property android:name="android.adservices.AD_SERVICES_CONFIG.sdkTagMissing"
46            android:resource="@xml/ad_services_config_missing_sdk_tag" />
47
48        <!-- App Manifest Config that does not include the sdk using Topics -->
49        <property android:name="android.adservices.AD_SERVICES_CONFIG.sdkMissing"
50            android:resource="@xml/ad_services_config_missing_sdk" />
51
52        <!-- FLEDGE Background Fetch Job -->
53        <service android:name=
54            "com.android.adservices.service.customaudience.BackgroundFetchJobService"
55            android:permission="android.permission.BIND_JOB_SERVICE">
56        </service>
57        <!-- FLEDGE Background Key Fetch Job -->
58        <service android:name=
59            "com.android.adservices.service.adselection.encryption.BackgroundKeyFetchJobService"
60            android:permission="android.permission.BIND_JOB_SERVICE">
61        </service>
62        <!-- FLEDGE Ad selection debug report sender Job -->
63        <service android:name=
64            "com.android.adservices.service.adselection.DebugReportSenderJobService"
65            android:permission="android.permission.BIND_JOB_SERVICE">
66        </service>
67        <!-- FLEDGE Protected Signals periodic encoding job -->
68        <service android:name=
69            "com.android.adservices.service.signals.PeriodicEncodingJobService"
70            android:permission="android.permission.BIND_JOB_SERVICE">
71        </service>
72
73        <!-- FLEDGE Schedule Custom Audience Update Job -->
74        <service android:name=
75            "com.android.adservices.service.customaudience.ScheduleCustomAudienceUpdateJobService"
76            android:permission="android.permission.BIND_JOB_SERVICE">
77        </service>
78
79        <!-- Topics Epoch/Maintenance Service Job. Must be defined here in order to schedule them in
80        job scheduler. -->
81        <service android:name=
82            "com.android.adservices.service.topics.EpochJobService"
83            android:permission="android.permission.BIND_JOB_SERVICE">
84        </service>
85        <service android:name=
86            "com.android.adservices.service.MaintenanceJobService"
87            android:permission="android.permission.BIND_JOB_SERVICE">
88        </service>
89        <!-- Measurement debug report upload job. -->
90        <service android:name="com.android.adservices.service.measurement.reporting.DebugReportingJobService"
91            android:permission="android.permission.BIND_JOB_SERVICE">
92        </service>
93        <!-- Measurement verbose debug report upload job. -->
94        <service android:name="com.android.adservices.service.measurement.reporting.VerboseDebugReportingJobService"
95            android:permission="android.permission.BIND_JOB_SERVICE">
96        </service>
97        <!-- MDD Service Job. Must be defined here in order to schedule them in Tests. -->
98        <service android:name=
99            "com.android.adservices.download.MddJobService"
100            android:permission="android.permission.BIND_JOB_SERVICE">
101        </service>
102        <!-- Cobalt Logging Job -->
103        <service
104            android:name="com.android.adservices.cobalt.CobaltJobService"
105            android:permission="android.permission.BIND_JOB_SERVICE">
106        </service>
107        <uses-library android:name="android.ext.adservices" android:required="false" />
108    </application>
109    <instrumentation
110        android:name="androidx.test.runner.AndroidJUnitRunner"
111        android:targetPackage="com.android.adservices.uiunittest" >
112    </instrumentation>
113</manifest>
114