• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3/*
4 * Copyright (C) 2023 The Android Open Source Project
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 *     http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18-->
19<manifest xmlns:android="http://schemas.android.com/apk/res/android"
20          xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
21          xmlns:tools="http://schemas.android.com/tools"
22          package="android.ext.services"
23          android:versionCode="309999900"
24          android:versionName="2019-09"
25          coreApp="true">
26
27    <!-- Declare the broadcast as protected so only the system service can send it.  The AdServices
28    System Service will send this broadcast to the AdServices module where there is a package
29    change.-->
30    <protected-broadcast android:name="com.android.ext.adservices.PACKAGE_CHANGED"/>
31
32    <!-- Allows the system service to query app status-->
33    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
34
35    <!-- Permissions required for reading device configs -->
36    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG"/>
37
38    <!-- Used for reporting -->
39    <uses-permission android:name="android.permission.INTERNET"/>
40
41    <!-- Used for scheduling connectivity jobs -->
42    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
43
44    <!-- Allows an application to access AdServices Topics API. -->
45    <permission android:name="android.permission.ACCESS_ADSERVICES_TOPICS"
46                android:label="@string/permlab_accessAdServicesTopics"
47                android:description="@string/permdesc_accessAdServicesTopics"
48                android:protectionLevel="normal"/>
49
50    <!-- Allows an application to access AdServices Attribution APIs. -->
51    <permission android:name="android.permission.ACCESS_ADSERVICES_ATTRIBUTION"
52                android:label="@string/permlab_accessAdServicesAttribution"
53                android:description="@string/permdesc_accessAdServicesAttribution"
54                android:protectionLevel="normal"/>
55
56    <!--
57        Permissions directly related to running ad auctions include those for the Custom Audience,
58        Ad Selection, and Protected Signals APIs.
59    -->
60    <!-- Allows an application to access AdServices Custom Audience APIs. -->
61    <permission android:name="android.permission.ACCESS_ADSERVICES_CUSTOM_AUDIENCE"
62                android:label="@string/permlab_accessAdServicesCustomAudience"
63                android:description="@string/permdesc_accessAdServicesCustomAudience"
64                android:protectionLevel="normal"/>
65
66    <!-- Allows an application to access AdServices Ad Selection APIs. -->
67    <permission android:name="android.permission.ACCESS_ADSERVICES_AD_SELECTION"
68                android:label="@string/permlab_accessAdServicesAdSelection"
69                android:description="@string/permdesc_accessAdServicesAdSelection"
70                android:protectionLevel="normal"/>
71
72    <!-- Allows an application to access AdServices Protected Signals APIs. -->
73    <permission android:name="android.permission.ACCESS_ADSERVICES_PROTECTED_SIGNALS"
74                android:label="@string/permlab_accessAdServicesProtectedSignals"
75                android:description="@string/permdesc_accessAdServicesProtectedSignals"
76                android:protectionLevel="normal"/>
77
78    <!-- Allows an application to access AdServices Ad Id API. -->
79    <permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID"
80                android:label="@string/permlab_accessAdServicesAdId"
81                android:description="@string/permdesc_accessAdServicesAdId"
82                android:protectionLevel="normal"/>
83
84    <!-- Note: Signature permissions for AdServices code running in ExtServices APK must be
85    redefined with the suffix _COMPAT since the ExtServices and AdServices APKs are signed by
86    different keys. -->
87
88    <!-- Allows AdServices to access API for Ad ID. -->
89    <permission android:name="android.permission.ACCESS_PRIVILEGED_AD_ID_COMPAT"
90                android:label="@string/permlab_adServicesAccessAdId"
91                android:description="@string/permdesc_adServicesAccessAdId"
92                android:protectionLevel="signature"/>
93
94    <!-- Allows AdServices to access API for App set ID. -->
95    <permission android:name="android.permission.ACCESS_PRIVILEGED_APP_SET_ID_COMPAT"
96                android:label="@string/permlab_adServicesAccessAppSetId"
97                android:description="@string/permdesc_adServicesAccessAppSetId"
98                android:protectionLevel="signature"/>
99
100    <!-- Allows AdServices to access API for AdServices Cobalt upload. -->
101    <permission android:name="android.permission.ACCESS_PRIVILEGED_ADSERVICES_COBALT_UPLOAD_COMPAT"
102                android:label="@string/permlab_adServicesAccessAdServicesCobaltUpload"
103                android:description="@string/permdesc_adServicesAccessAdServicesCobaltUpload"
104                android:protectionLevel="signature"/>
105
106    <!-- Allows the caller to modify AdService's state via Common Service. -->
107    <permission android:name="android.permission.MODIFY_ADSERVICES_STATE_COMPAT"
108                android:label="@string/permlab_modifyAdServicesState"
109                android:description="@string/permdesc_modifyAdServicesState"
110                android:protectionLevel="signature|configurator"/>
111
112    <!-- Allows the caller to get AdService's state via Common Service. -->
113    <permission android:name="android.permission.ACCESS_ADSERVICES_STATE_COMPAT"
114                android:label="@string/permlab_accessAdServicesState"
115                android:description="@string/permdesc_accessAdServicesState"
116                android:protectionLevel="signature|configurator"/>
117
118    <!-- Permission to allow calling updating AdId Cache API via Common Service. -->
119    <permission android:name="android.permission.UPDATE_PRIVILEGED_AD_ID_COMPAT"
120                android:label="@string/permlab_updateAdservicesAdId"
121                android:description="@string/permdesc_updateAdservicesAdId"
122                android:protectionLevel="signature|configurator"/>
123
124    <uses-permission android:name="android.permission.ACCESS_PRIVILEGED_AD_ID_COMPAT"/>
125    <uses-permission android:name="android.permission.ACCESS_PRIVILEGED_APP_SET_ID_COMPAT"/>
126    <uses-permission android:name="android.permission.ACCESS_PRIVILEGED_ADSERVICES_COBALT_UPLOAD_COMPAT" />
127
128    <!-- Permission to allow self calling Common Service. -->
129    <uses-permission android:name="android.permission.ACCESS_ADSERVICES_STATE_COMPAT"/>
130    <uses-permission android:name="android.permission.MODIFY_ADSERVICES_STATE_COMPAT"/>
131
132    <!-- Allows JobScheduler to persist jobs across reboot. -->
133    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
134
135    <!-- Required for sending measurement events -->
136    <uses-permission android:name="android.permission.ondevicepersonalization.NOTIFY_MEASUREMENT_EVENT"/>
137
138    <!-- LINT.IfChange(adExtServicesApplication) -->
139    <application
140        android:name=".ExtServicesApplication"
141        android:label="@string/app_name"
142        android:forceQueryable="true"
143        android:allowBackup="false"
144        android:supportsRtl="true"
145        android:icon="@drawable/ic_android_icon"
146        android:theme="@style/FilterTouches">
147        <!-- Activity for the main view of Adservices Settings UI-->
148        <activity
149            android:name="com.android.adservices.ui.settings.activities.AdServicesSettingsMainActivity"
150            android:exported="true"
151            android:enabled="false"
152            android:theme="@style/Theme.SubSettingsBase"
153            android:process=".adservices">
154            <intent-filter android:priority="1">
155                <action android:name="android.adservices.ui.SETTINGS"/>
156                <category android:name="android.intent.category.DEFAULT"/>
157            </intent-filter>
158        </activity>
159
160        <!-- Activity for the topics view of Adservices Settings UI-->
161        <activity
162            android:name="com.android.adservices.ui.settings.activities.TopicsActivity"
163            android:exported="true"
164            android:enabled="false"
165            android:theme="@style/Theme.SubSettingsBase"
166            android:process=".adservices">
167            <intent-filter android:priority="1">
168                <action android:name="android.adservices.ui.TOPICS"/>
169                <category android:name="android.intent.category.DEFAULT"/>
170            </intent-filter>
171        </activity>
172
173        <!-- Activity for the blocked topics view of Adservices Settings UI-->
174        <activity
175            android:name="com.android.adservices.ui.settings.activities.BlockedTopicsActivity"
176            android:exported="true"
177            android:enabled="false"
178            android:theme="@style/Theme.SubSettingsBase"
179            android:process=".adservices">
180            <intent-filter android:priority="1">
181                <action android:name="android.adservices.ui.BLOCKED_TOPICS"/>
182                <category android:name="android.intent.category.DEFAULT"/>
183            </intent-filter>
184        </activity>
185
186        <!-- Activity for the apps view of Adservices Settings UI-->
187        <activity
188            android:name="com.android.adservices.ui.settings.activities.AppsActivity"
189            android:exported="true"
190            android:enabled="false"
191            android:theme="@style/Theme.SubSettingsBase"
192            android:process=".adservices">
193            <intent-filter android:priority="1">
194                <action android:name="android.adservices.ui.APPS"/>
195                <category android:name="android.intent.category.DEFAULT"/>
196            </intent-filter>
197        </activity>
198
199        <!-- Activity for the blocked apps view of Adservices Settings UI-->
200        <activity
201            android:name="com.android.adservices.ui.settings.activities.BlockedAppsActivity"
202            android:exported="true"
203            android:enabled="false"
204            android:theme="@style/Theme.SubSettingsBase"
205            android:process=".adservices">
206            <intent-filter android:priority="1">
207                <action android:name="android.adservices.ui.BLOCKED_APPS"/>
208                <category android:name="android.intent.category.DEFAULT"/>
209            </intent-filter>
210        </activity>
211
212        <!-- Activity for the ads measurement view of AdServices Settings UI-->
213        <activity
214            android:name="com.android.adservices.ui.settings.activities.MeasurementActivity"
215            android:exported="true"
216            android:enabled="false"
217            android:theme="@style/Theme.SubSettingsBase"
218            android:process=".adservices">
219            <intent-filter android:priority="1">
220                <action android:name="android.adservices.ui.MEASUREMENT"/>
221                <category android:name="android.intent.category.DEFAULT"/>
222            </intent-filter>
223        </activity>
224
225        <!-- Activity for Adservices Detailed Notification UI -->
226        <activity
227            android:name="com.android.adservices.ui.notifications.ConsentNotificationActivity"
228            android:exported="true"
229            android:enabled="false"
230            android:theme="@style/AdServices.NotificationTheme"
231            android:process=".adservices">
232            <intent-filter android:priority="1">
233                <action android:name="android.adservices.ui.NOTIFICATIONS"/>
234                <category android:name="android.intent.category.DEFAULT"/>
235            </intent-filter>
236        </activity>
237
238        <!-- Activity for Adservices to run shell command. -->
239        <!-- Dump permission limits who can call this activity, Shell has DUMP permission -->
240        <activity
241            android:name="com.android.adservices.shell.ShellCommandActivity"
242            android:exported="true"
243          android:theme="@style/Theme.SubSettingsBase"
244          android:permission="android.permission.DUMP"
245            android:process=".adservices">
246            <intent-filter android:priority="1">
247                <action android:name="android.adservices.BACK_COMPACT_SHELL_COMMAND"/>
248                <category android:name="android.intent.category.DEFAULT"/>
249            </intent-filter>
250        </activity>
251
252        <service android:name="com.android.adservices.adselection.AdSelectionService"
253                 android:enabled="@bool/isAtLeastS"
254                 android:exported="true"
255                 android:visibleToInstantApps="false"
256                 android:process=".adservices">
257            <intent-filter android:priority="1">
258                <action android:name="android.adservices.adselection.AD_SELECTION_SERVICE"/>
259            </intent-filter>
260        </service>
261
262        <service android:name=
263                     "com.android.adservices.customaudience.CustomAudienceService"
264                 android:enabled="@bool/isAtLeastS"
265                 android:exported="true"
266                 android:visibleToInstantApps="false"
267                 android:process=".adservices">
268            <intent-filter android:priority="1">
269                <action android:name=
270                            "android.adservices.customaudience.CUSTOM_AUDIENCE_SERVICE"/>
271            </intent-filter>
272        </service>
273
274        <service android:name=
275                     "android.adservices.signals.ProtectedSignalsService"
276                 android:enabled="@bool/isAtLeastS"
277                 android:exported="true"
278                 android:visibleToInstantApps="false"
279                 android:process=".adservices">
280            <intent-filter android:priority="1">
281                <action android:name=
282                            "android.adservices.signals.PROTECTED_SIGNALS_SERVICE"/>
283            </intent-filter>
284        </service>
285
286        <service android:name="com.android.adservices.topics.TopicsService"
287                 android:enabled="@bool/isAtLeastS"
288                 android:exported="true"
289                 android:visibleToInstantApps="false"
290                 android:process=".adservices">
291            <intent-filter android:priority="1">
292                <action android:name="android.adservices.TOPICS_SERVICE"/>
293            </intent-filter>
294        </service>
295
296        <service android:name="com.android.adservices.adid.AdIdService"
297                 android:exported="true"
298                 android:visibleToInstantApps="false"
299                 android:process=".adservices">
300            <intent-filter android:priority="1">
301                <action android:name="android.adservices.ADID_SERVICE"/>
302            </intent-filter>
303        </service>
304
305        <service android:name="com.android.adservices.appsetid.AppSetIdService"
306                 android:enabled="@bool/isAtLeastS"
307                 android:exported="true"
308                 android:visibleToInstantApps="false"
309                 android:process=".adservices">
310            <intent-filter android:priority="1">
311                <action android:name="android.adservices.APPSETID_SERVICE"/>
312            </intent-filter>
313        </service>
314
315        <service android:name="com.android.adservices.measurement.MeasurementService"
316                 android:exported="true"
317                 android:visibleToInstantApps="false"
318                 android:process=".adservices">
319            <intent-filter android:priority="1">
320                <action android:name="android.adservices.MEASUREMENT_SERVICE"/>
321            </intent-filter>
322        </service>
323
324        <service android:name="com.android.adservices.common.AdServicesCommonService"
325                 android:exported="true"
326                 android:visibleToInstantApps="false"
327                 android:process=".adservices">
328            <intent-filter android:priority="1">
329                <action android:name="android.adservices.AD_SERVICES_COMMON_SERVICE"/>
330            </intent-filter>
331        </service>
332
333        <!-- The JobService schedules all jobs for AdServices using SPE framework. -->
334        <service android:name="com.android.adservices.spe.AdServicesJobService"
335                 android:permission="android.permission.BIND_JOB_SERVICE"
336                 android:process=".adservices">
337        </service>
338
339        <!-- Daily maintenance Job. -->
340        <service android:name="com.android.adservices.service.MaintenanceJobService"
341                 android:permission="android.permission.BIND_JOB_SERVICE"
342                 android:process=".adservices">
343        </service>
344
345        <!-- Epoch computation Job. -->
346        <service android:name="com.android.adservices.service.topics.EpochJobService"
347                 android:permission="android.permission.BIND_JOB_SERVICE"
348                 android:process=".adservices">
349        </service>
350
351        <!-- Mdd background Job. -->
352        <service android:name="com.android.adservices.download.MddJobService"
353                 android:permission="android.permission.BIND_JOB_SERVICE"
354                 android:process=".adservices">
355        </service>
356
357        <!-- Encryption key fetch job. -->
358        <service android:name="com.android.adservices.service.encryptionkey.EncryptionKeyJobService"
359                 android:permission="android.permission.BIND_JOB_SERVICE"
360                 android:process=".adservices">
361        </service>
362
363        <!-- Enable Notification Job. -->
364        <service android:name="com.android.adservices.service.common.ConsentNotificationJobService"
365                 android:permission="android.permission.BIND_JOB_SERVICE"
366                 android:process=".adservices">
367        </service>
368
369        <!-- Measurement event main report upload job. -->
370        <service
371            android:name="com.android.adservices.service.measurement.reporting.EventReportingJobService"
372            android:permission="android.permission.BIND_JOB_SERVICE"
373            android:process=".adservices">
374        </service>
375
376        <!-- Measurement debug report upload job. -->
377        <service android:name=
378                     "com.android.adservices.service.measurement.reporting.DebugReportingJobService"
379            android:permission="android.permission.BIND_JOB_SERVICE"
380            android:process=".adservices">
381        </service>
382
383        <!-- Measurement verbose debug report upload job. -->
384        <service android:name=
385              "com.android.adservices.service.measurement.reporting.VerboseDebugReportingJobService"
386            android:permission="android.permission.BIND_JOB_SERVICE"
387            android:process=".adservices">
388        </service>
389
390        <!-- Measurement event fallback report upload job. -->
391        <service android:name=
392                     "com.android.adservices.service.measurement.reporting.EventFallbackReportingJobService"
393                 android:permission="android.permission.BIND_JOB_SERVICE"
394                 android:process=".adservices">
395        </service>
396
397        <!-- Measurement aggregate main report upload job. -->
398        <service android:name=
399                     "com.android.adservices.service.measurement.reporting.AggregateReportingJobService"
400                 android:permission="android.permission.BIND_JOB_SERVICE"
401                 android:process=".adservices">
402        </service>
403
404        <!-- Measurement aggregate fallback report upload job. -->
405        <service android:name=
406                     "com.android.adservices.service.measurement.reporting.AggregateFallbackReportingJobService"
407                 android:permission="android.permission.BIND_JOB_SERVICE"
408                 android:process=".adservices">
409        </service>
410
411        <!-- Measurement immediate aggregate report upload job. -->
412        <service android:name=
413                     "com.android.adservices.service.measurement.reporting.ImmediateAggregateReportingJobService"
414                 android:permission="android.permission.BIND_JOB_SERVICE"
415                 android:process=".adservices">
416        </service>
417
418        <!-- Measurement regular report upload job. -->
419        <service android:name=
420                     "com.android.adservices.service.measurement.reporting.ReportingJobService"
421                 android:permission="android.permission.BIND_JOB_SERVICE"
422                 android:process=".adservices">
423        </service>
424
425        <!-- Measurement Attribution Job.-->
426        <service android:name=
427                     "com.android.adservices.service.measurement.attribution.AttributionJobService"
428                 android:permission="android.permission.BIND_JOB_SERVICE"
429                 android:process=".adservices">
430        </service>
431        <!-- Measurement Attribution Fallback Job.-->
432        <service android:name=
433                     "com.android.adservices.service.measurement.attribution.AttributionFallbackJobService"
434                 android:permission="android.permission.BIND_JOB_SERVICE"
435                 android:process=".adservices">
436        </service>
437
438        <!-- Deletion Job.-->
439        <service android:name=
440                     "com.android.adservices.service.measurement.DeleteExpiredJobService"
441                 android:permission="android.permission.BIND_JOB_SERVICE"
442                 android:process=".adservices">
443        </service>
444
445        <!-- Measurement Deletion Uninstalled Apps Job. -->
446        <service android:name=
447                     "com.android.adservices.service.measurement.DeleteUninstalledJobService"
448                 android:permission="android.permission.BIND_JOB_SERVICE"
449                 android:process=".adservices">
450        </service>
451
452        <!-- FLEDGE Background Fetch Job -->
453        <service android:name=
454                     "com.android.adservices.service.customaudience.BackgroundFetchJobService"
455                 android:permission="android.permission.BIND_JOB_SERVICE"
456                 android:process=".adservices">
457        </service>
458
459        <!-- FLEDGE Schedule Custom Audience Update Job -->
460        <service android:name=
461                     "com.android.adservices.service.customaudience.ScheduleCustomAudienceUpdateJobService"
462                 android:permission="android.permission.BIND_JOB_SERVICE"
463                 android:process=".adservices">
464        </service>
465
466        <!-- FLEDGE Ad selection debug report sender Job -->
467        <service android:name=
468                     "com.android.adservices.service.adselection.debug.DebugReportSenderJobService"
469                 android:permission="android.permission.BIND_JOB_SERVICE"
470                 android:process=".adservices">
471        </service>
472
473        <!-- FLEDGE Protected Signals periodic encoding job -->
474        <service android:name=
475                     "com.android.adservices.service.signals.PeriodicEncodingJobService"
476                 android:permission="android.permission.BIND_JOB_SERVICE"
477                 android:process=".adservices">
478        </service>
479
480        <!-- FLEDGE KAnon sign join background job -->
481        <service android:name=
482                     "com.android.adservices.service.kanon.KAnonSignJoinBackgroundJobService"
483                 android:permission="android.permission.BIND_JOB_SERVICE"
484                 android:process=".adservices">
485        </service>
486
487        <!-- FLEDGE Background Key Fetch Job -->
488        <service android:name=
489                     "com.android.adservices.service.adselection.encryption.BackgroundKeyFetchJobService"
490                 android:permission="android.permission.BIND_JOB_SERVICE"
491                 android:process=".adservices">
492        </service>
493
494        <!-- Measurement Registration Job -->
495        <service android:name=
496                     "com.android.adservices.service.measurement.registration.AsyncRegistrationQueueJobService"
497                 android:permission="android.permission.BIND_JOB_SERVICE"
498                 android:process=".adservices">
499        </service>
500        <!-- Measurement Registration Fallback Job -->
501        <service android:name=
502                     "com.android.adservices.service.measurement.registration.AsyncRegistrationFallbackJobService"
503                 android:permission="android.permission.BIND_JOB_SERVICE"
504                 android:process=".adservices">
505        </service>
506
507        <!-- Measurement Verbose Debug Reporting Fallback Job. -->
508        <service android:name=
509                     "com.android.adservices.service.measurement.reporting.VerboseDebugReportingFallbackJobService"
510                 android:permission="android.permission.BIND_JOB_SERVICE"
511                 android:process=".adservices">
512        </service>
513
514        <!-- Measurement Debug Reporting Fallback Job. -->
515        <service android:name=
516                     "com.android.adservices.service.measurement.reporting.DebugReportingFallbackJobService"
517                 android:permission="android.permission.BIND_JOB_SERVICE"
518                 android:process=".adservices">
519        </service>
520
521        <!-- Cobalt Logging Job -->
522        <service android:name="com.android.adservices.cobalt.CobaltJobService"
523            android:permission="android.permission.BIND_JOB_SERVICE"
524            android:process=".adservices">
525        </service>
526
527        <!-- Ad Package Deny Pre Process Job -->
528        <service
529            android:name="com.android.adservices.service.common.AdPackageDenyPreProcessJobService"
530            android:permission="android.permission.BIND_JOB_SERVICE"
531            android:process=".adservices">
532        </service>
533
534        <provider
535            android:name=
536                "com.android.adservices.service.measurement.attribution.TriggerContentProvider"
537            android:authorities="com.android.ext.adservices.provider.trigger"
538            android:exported="false"
539            android:process=".adservices"
540        />
541
542        <provider
543            android:name=
544                "com.android.adservices.service.measurement.registration.AsyncRegistrationContentProvider"
545            android:authorities="com.android.ext.adservices.provider.asyncregistration"
546            android:exported="false"
547            android:process=".adservices"
548        />
549
550        <provider
551            android:name="com.android.adservices.service.common.AdServicesInternalProvider"
552            android:authorities="com.android.ext.adservices.provider.internal"
553            android:exported="false"
554            android:process=".adservices"
555        />
556
557        <!-- Boot completed receiver registers package changed event receivers. -->
558        <receiver android:name="com.android.adservices.service.common.AdExtBootCompletedReceiver"
559                  android:enabled="@bool/isAdExtBootCompletedReceiverEnabled"
560                  android:exported="true"
561                  android:process=".adservices">
562            <intent-filter>
563                <action android:name="android.intent.action.BOOT_COMPLETED"/>
564            </intent-filter>
565        </receiver>
566
567        <!-- On S-, this class handles intents from the system. -->
568        <receiver android:name="com.android.adservices.service.common.PackageChangedReceiver"
569                  android:enabled="false"
570                  android:exported="true"
571                  android:process=".adservices">
572            <intent-filter>
573                <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED"/>
574                <action android:name="android.intent.action.PACKAGE_DATA_CLEARED"/>
575                <action android:name="android.intent.action.PACKAGE_ADDED"/>
576                <data android:scheme="package"/>
577            </intent-filter>
578        </receiver>
579
580        <!-- Used and present only on S- -->
581        <uses-library android:name="android.ext.adservices" android:required="false"/>
582    </application>
583    <!-- LINT.ThenChange(adservices/service-core/java/com/android/adservices/service/common/compat/PackageManagerCompatUtils.java:activities_and_services) -->
584</manifest>
585