/* * 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. */ package android.adservices.common; import android.annotation.FlaggedApi; import android.annotation.SystemApi; import com.android.adservices.flags.Flags; /** Permissions used by the AdServices APIs. */ public class AdServicesPermissions { private AdServicesPermissions() {} /** This permission needs to be declared by the caller of Topics APIs. */ public static final String ACCESS_ADSERVICES_TOPICS = "android.permission.ACCESS_ADSERVICES_TOPICS"; /** This permission needs to be declared by the caller of Attribution APIs. */ public static final String ACCESS_ADSERVICES_ATTRIBUTION = "android.permission.ACCESS_ADSERVICES_ATTRIBUTION"; /** This permission needs to be declared by the caller of Custom Audiences APIs. */ public static final String ACCESS_ADSERVICES_CUSTOM_AUDIENCE = "android.permission.ACCESS_ADSERVICES_CUSTOM_AUDIENCE"; /** This permission needs to be declared by the caller of Protected Signals APIs. */ @FlaggedApi(Flags.FLAG_PROTECTED_SIGNALS_ENABLED) public static final String ACCESS_ADSERVICES_PROTECTED_SIGNALS = "android.permission.ACCESS_ADSERVICES_PROTECTED_SIGNALS"; /** This permission needs to be declared by the caller of Protected Signals APIs. */ @SuppressWarnings("FlaggedApi") // aconfig not available on this branch @FlaggedApi(Flags.FLAG_PROTECTED_SIGNALS_ENABLED) public static final String ACCESS_ADSERVICES_AD_SELECTION = "android.permission.ACCESS_ADSERVICES_AD_SELECTION"; /** This permission needs to be declared by the caller of Advertising ID APIs. */ public static final String ACCESS_ADSERVICES_AD_ID = "android.permission.ACCESS_ADSERVICES_AD_ID"; /** * This is a signature permission that needs to be declared by the AdServices apk to access API * for AdID provided by another provider service. The signature permission is required to make * sure that only AdServices is permitted to access this api. * * @hide */ @SystemApi public static final String ACCESS_PRIVILEGED_AD_ID = "android.permission.ACCESS_PRIVILEGED_AD_ID"; /** * This is a signature permission needs to be declared by the AdServices apk to access API for * AppSetId provided by another provider service. The signature permission is required to make * sure that only AdServices is permitted to access this api. * * @hide */ @SystemApi public static final String ACCESS_PRIVILEGED_APP_SET_ID = "android.permission.ACCESS_PRIVILEGED_APP_SET_ID"; /** * The permission that lets it modify AdService's enablement state modification API. * * @hide */ @SystemApi public static final String MODIFY_ADSERVICES_STATE = "android.permission.MODIFY_ADSERVICES_STATE"; /** * The permission that lets it modify AdService's enablement state modification API on S-. * * @hide */ @SystemApi public static final String MODIFY_ADSERVICES_STATE_COMPAT = "android.permission.MODIFY_ADSERVICES_STATE_COMPAT"; /** * The permission that lets it access AdService's enablement state modification API. * * @hide */ @SystemApi public static final String ACCESS_ADSERVICES_STATE = "android.permission.ACCESS_ADSERVICES_STATE"; /** * The permission that lets it access AdService's enablement state modification API on S-. * * @hide */ @SystemApi public static final String ACCESS_ADSERVICES_STATE_COMPAT = "android.permission.ACCESS_ADSERVICES_STATE_COMPAT"; /** * The permission needed to call AdServicesManager APIs * * @hide */ public static final String ACCESS_ADSERVICES_MANAGER = "android.permission.ACCESS_ADSERVICES_MANAGER"; /** * This is a signature permission needs to be declared by the AdServices apk to access API for * AdServices Cobalt upload service provided by another provider service. The signature * permission is required to make sure that only AdServices is permitted to access this api. * * @hide */ @SystemApi public static final String ACCESS_PRIVILEGED_ADSERVICES_COBALT_UPLOAD = "android.permission.ACCESS_PRIVILEGED_AD_SERVICES_COBALT_UPLOAD"; /** * The permission that allows calling updating AdId Cache API via Common Service. * * @hide */ @SystemApi @FlaggedApi(Flags.FLAG_AD_ID_CACHE_ENABLED) public static final String UPDATE_PRIVILEGED_AD_ID = "android.permission.UPDATE_PRIVILEGED_AD_ID"; /** * The permission that allows calling updating AdId Cache API via Common Service on S-. * * @hide */ @SystemApi @FlaggedApi(Flags.FLAG_AD_ID_CACHE_ENABLED) public static final String UPDATE_PRIVILEGED_AD_ID_COMPAT = "android.permission.UPDATE_PRIVILEGED_AD_ID_COMPAT"; }