369 lines
17 KiB
XML
369 lines
17 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
/*
|
|
* Copyright (C) 2022 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
-->
|
|
<manifest
|
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
package="com.android.adservices.api">
|
|
|
|
<!-- Declare the broadcast as protected so only the system service can send it. The AdServices
|
|
System Service will send this broadcast to the AdServices module where there is a package
|
|
change.-->
|
|
<protected-broadcast android:name="com.android.adservices.PACKAGE_CHANGED"/>
|
|
|
|
<!-- Allows the system service to query app status-->
|
|
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
|
|
|
|
<!-- Permissions required for showing notifications. -->
|
|
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
|
|
|
|
<!-- Permissions required for reading device configs -->
|
|
<uses-permission android:name="android.permission.READ_DEVICE_CONFIG"/>
|
|
|
|
<!-- Used for reporting -->
|
|
<uses-permission android:name="android.permission.INTERNET"/>
|
|
|
|
<!-- Used for scheduling connectivity jobs -->
|
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
|
|
|
<!-- Used to verify if the calling application is running in foreground. -->
|
|
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"/>
|
|
|
|
<!-- Used for persisting scheduled jobs -->
|
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
|
|
|
<!-- Allows an application to access AdServices Topics API. -->
|
|
<permission android:name="android.permission.ACCESS_ADSERVICES_TOPICS"
|
|
android:label="@string/permlab_accessAdServicesTopics"
|
|
android:description="@string/permdesc_accessAdServicesTopics"
|
|
android:protectionLevel="normal"/>
|
|
|
|
<!-- Allows an application to access AdServices Attribution APIs. -->
|
|
<permission android:name="android.permission.ACCESS_ADSERVICES_ATTRIBUTION"
|
|
android:label="@string/permlab_accessAdServicesAttribution"
|
|
android:description="@string/permdesc_accessAdServicesAttribution"
|
|
android:protectionLevel="normal"/>
|
|
|
|
<!-- Allows an application to access AdServices Custom Audience APIs. -->
|
|
<permission android:name="android.permission.ACCESS_ADSERVICES_CUSTOM_AUDIENCE"
|
|
android:label="@string/permlab_accessAdServicesCustomAudience"
|
|
android:description="@string/permdesc_accessAdServicesCustomAudience"
|
|
android:protectionLevel="normal"/>
|
|
|
|
<!-- Allows an application to access AdServices Ad Id API. -->
|
|
<permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID"
|
|
android:label="@string/permlab_accessAdServicesAdId"
|
|
android:description="@string/permdesc_accessAdServicesAdId"
|
|
android:protectionLevel="normal"/>
|
|
|
|
<!-- Allows AdServices to access API for Ad ID. -->
|
|
<permission android:name="android.permission.ACCESS_PRIVILEGED_AD_ID"
|
|
android:label="@string/permlab_adServicesAccessAdId"
|
|
android:description="@string/permdesc_adServicesAccessAdId"
|
|
android:protectionLevel="signature"/>
|
|
|
|
<!-- Allows AdServices to access API for App set ID. -->
|
|
<permission android:name="android.permission.ACCESS_PRIVILEGED_APP_SET_ID"
|
|
android:label="@string/permlab_adServicesAccessAppSetId"
|
|
android:description="@string/permdesc_adServicesAccessAppSetId"
|
|
android:protectionLevel="signature"/>
|
|
|
|
<!-- Allows the caller to modify AdService's state via Common Service. -->
|
|
<permission android:name="android.permission.MODIFY_ADSERVICES_STATE"
|
|
android:label="@string/permlab_modifyAdServicesState"
|
|
android:description="@string/permdesc_modifyAdServicesState"
|
|
android:protectionLevel="signature|configurator"/>
|
|
|
|
<!-- Allows the caller to get AdService's state via Common Service. -->
|
|
<permission android:name="android.permission.ACCESS_ADSERVICES_STATE"
|
|
android:label="@string/permlab_accessAdServicesState"
|
|
android:description="@string/permdesc_accessAdServicesState"
|
|
android:protectionLevel="signature|configurator"/>
|
|
|
|
<!-- Permission to allow calling AdServiceManager's APIs. -->
|
|
<permission android:name="android.permission.ACCESS_ADSERVICES_MANAGER"
|
|
android:label="@string/permlab_accessAdServicesManager"
|
|
android:description="@string/permdesc_accessAdServicesManager"
|
|
android:protectionLevel="signature"/>
|
|
|
|
<!-- Allow AdServicesApk (PPAPI) to call AdService's system service. -->
|
|
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_MANAGER"/>
|
|
|
|
<uses-permission android:name="android.permission.ACCESS_PRIVILEGED_AD_ID"/>
|
|
<uses-permission android:name="android.permission.ACCESS_PRIVILEGED_APP_SET_ID"/>
|
|
|
|
<!-- Allows JobScheduler to persist jobs across reboot. -->
|
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
|
|
|
<application
|
|
android:label="@string/app_label"
|
|
android:forceQueryable="true"
|
|
android:allowBackup="false"
|
|
android:supportsRtl="true"
|
|
android:icon="@drawable/ic_android_icon"
|
|
android:theme="@style/FilterTouches">
|
|
<!-- Activity for the main view of Adservices Settings UI-->
|
|
<activity
|
|
android:name="com.android.adservices.ui.settings.activities.AdServicesSettingsMainActivity"
|
|
android:exported="true"
|
|
android:theme="@style/Theme.SubSettingsBase">
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.adservices.ui.SETTINGS"/>
|
|
<category android:name="android.intent.category.DEFAULT"/>
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<!-- Activity for the topics view of Adservices Settings UI-->
|
|
<activity
|
|
android:name="com.android.adservices.ui.settings.activities.TopicsActivity"
|
|
android:exported="true"
|
|
android:theme="@style/Theme.SubSettingsBase">
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.adservices.ui.TOPICS"/>
|
|
<category android:name="android.intent.category.DEFAULT"/>
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<!-- Activity for the blocked topics view of Adservices Settings UI-->
|
|
<activity
|
|
android:name="com.android.adservices.ui.settings.activities.BlockedTopicsActivity"
|
|
android:exported="true"
|
|
android:theme="@style/Theme.SubSettingsBase">
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.adservices.ui.BLOCKED_TOPICS"/>
|
|
<category android:name="android.intent.category.DEFAULT"/>
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<!-- Activity for the apps view of Adservices Settings UI-->
|
|
<activity
|
|
android:name="com.android.adservices.ui.settings.activities.AppsActivity"
|
|
android:exported="true"
|
|
android:theme="@style/Theme.SubSettingsBase">
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.adservices.ui.APPS"/>
|
|
<category android:name="android.intent.category.DEFAULT"/>
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<!-- Activity for the blocked apps view of Adservices Settings UI-->
|
|
<activity
|
|
android:name="com.android.adservices.ui.settings.activities.BlockedAppsActivity"
|
|
android:exported="true"
|
|
android:theme="@style/Theme.SubSettingsBase">
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.adservices.ui.BLOCKED_APPS"/>
|
|
<category android:name="android.intent.category.DEFAULT"/>
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<!-- Activity for the ads measurement view of AdServices Settings UI-->
|
|
<activity
|
|
android:name="com.android.adservices.ui.settings.activities.MeasurementActivity"
|
|
android:exported="true"
|
|
android:theme="@style/Theme.SubSettingsBase">
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.adservices.ui.MEASUREMENT"/>
|
|
<category android:name="android.intent.category.DEFAULT"/>
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<!-- Activity for Adservices Detailed Notification UI -->
|
|
<activity
|
|
android:name="com.android.adservices.ui.notifications.ConsentNotificationActivity"
|
|
android:exported="true"
|
|
android:theme="@style/AdServices.NotificationTheme">
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.adservices.ui.NOTIFICATIONS"/>
|
|
<category android:name="android.intent.category.DEFAULT"/>
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<service android:name="com.android.adservices.adselection.AdSelectionService"
|
|
android:exported="true"
|
|
android:visibleToInstantApps="false">
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.adservices.adselection.AD_SELECTION_SERVICE"/>
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<service android:name=
|
|
"com.android.adservices.customaudience.CustomAudienceService"
|
|
android:exported="true"
|
|
android:visibleToInstantApps="false">
|
|
<intent-filter android:priority="1">
|
|
<action android:name=
|
|
"android.adservices.customaudience.CUSTOM_AUDIENCE_SERVICE"/>
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<service android:name="com.android.adservices.topics.TopicsService"
|
|
android:exported="true"
|
|
android:visibleToInstantApps="false">
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.adservices.TOPICS_SERVICE"/>
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<service android:name="com.android.adservices.adid.AdIdService"
|
|
android:exported="true"
|
|
android:visibleToInstantApps="false">
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.adservices.ADID_SERVICE"/>
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<service android:name="com.android.adservices.appsetid.AppSetIdService"
|
|
android:exported="true"
|
|
android:visibleToInstantApps="false">
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.adservices.APPSETID_SERVICE"/>
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<service android:name="com.android.adservices.measurement.MeasurementService"
|
|
android:exported="true"
|
|
android:visibleToInstantApps="false">
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.adservices.MEASUREMENT_SERVICE"/>
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<service android:name="com.android.adservices.common.AdServicesCommonService"
|
|
android:exported="true"
|
|
android:visibleToInstantApps="false"
|
|
>
|
|
<intent-filter android:priority="1">
|
|
<action android:name="android.adservices.AD_SERVICES_COMMON_SERVICE"/>
|
|
</intent-filter>
|
|
</service>
|
|
|
|
<!-- Daily maintenance Job. -->
|
|
<service android:name="com.android.adservices.service.MaintenanceJobService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE">
|
|
</service>
|
|
|
|
<!-- Epoch computation Job. -->
|
|
<service android:name="com.android.adservices.service.topics.EpochJobService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE">
|
|
</service>
|
|
|
|
<!-- Mdd background Job. -->
|
|
<service android:name="com.android.adservices.download.MddJobService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE">
|
|
</service>
|
|
|
|
<!-- Enable Notification Job. -->
|
|
<service android:name="com.android.adservices.service.common.ConsentNotificationJobService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE">
|
|
</service>
|
|
|
|
<!-- Measurement event main report upload job. -->
|
|
<service
|
|
android:name="com.android.adservices.service.measurement.reporting.EventReportingJobService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE">
|
|
</service>
|
|
|
|
<!-- Measurement debug report upload job. -->
|
|
<service
|
|
android:name="com.android.adservices.service.measurement.reporting.DebugReportingJobService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE">
|
|
</service>
|
|
|
|
<!-- Measurement event fallback report upload job. -->
|
|
<service android:name=
|
|
"com.android.adservices.service.measurement.reporting.EventFallbackReportingJobService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE">
|
|
</service>
|
|
|
|
<!-- Measurement aggregate main report upload job. -->
|
|
<service android:name=
|
|
"com.android.adservices.service.measurement.reporting.AggregateReportingJobService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE">
|
|
</service>
|
|
|
|
<!-- Measurement aggregate fallback report upload job. -->
|
|
<service android:name=
|
|
"com.android.adservices.service.measurement.reporting.AggregateFallbackReportingJobService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE">
|
|
</service>
|
|
|
|
<!-- Measurement Attribution Job.-->
|
|
<service android:name=
|
|
"com.android.adservices.service.measurement.attribution.AttributionJobService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE">
|
|
</service>
|
|
<!-- Measurement Attribution Fallback Job.-->
|
|
<service android:name=
|
|
"com.android.adservices.service.measurement.attribution.AttributionFallbackJobService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE">
|
|
</service>
|
|
|
|
<!-- Deletion Job.-->
|
|
<service android:name=
|
|
"com.android.adservices.service.measurement.DeleteExpiredJobService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE">
|
|
</service>
|
|
|
|
<!-- Measurement Deletion Uninstalled Apps Job. -->
|
|
<service android:name=
|
|
"com.android.adservices.service.measurement.DeleteUninstalledJobService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE">
|
|
</service>
|
|
|
|
<!-- FLEDGE Background Fetch Job -->
|
|
<service android:name=
|
|
"com.android.adservices.service.customaudience.BackgroundFetchJobService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE">
|
|
</service>
|
|
|
|
<!-- Measurement Registration Job -->
|
|
<service android:name=
|
|
"com.android.adservices.service.measurement.registration.AsyncRegistrationQueueJobService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE">
|
|
</service>
|
|
<!-- Measurement Registration Fallback Job -->
|
|
<service android:name=
|
|
"com.android.adservices.service.measurement.registration.AsyncRegistrationFallbackJobService"
|
|
android:permission="android.permission.BIND_JOB_SERVICE">
|
|
</service>
|
|
|
|
<receiver android:name="com.android.adservices.service.common.PackageChangedReceiver"
|
|
android:enabled="false"
|
|
android:exported="true">
|
|
<intent-filter>
|
|
<!-- This intent must match the intent definition in the AdServices system
|
|
service. -->
|
|
<action android:name="com.android.adservices.PACKAGE_CHANGED"/>
|
|
</intent-filter>
|
|
</receiver>
|
|
|
|
<provider
|
|
android:name=
|
|
"com.android.adservices.service.measurement.attribution.TriggerContentProvider"
|
|
android:authorities="com.android.adservices.provider.trigger"
|
|
android:exported="false"
|
|
/>
|
|
<provider
|
|
android:name=
|
|
"com.android.adservices.service.measurement.registration.AsyncRegistrationContentProvider"
|
|
android:authorities="com.android.adservices.provider.asyncregistration"
|
|
android:exported="false"
|
|
/>
|
|
</application>
|
|
</manifest>
|