summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-04-06 03:06:58 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-04-06 03:06:58 +0000
commitd3f7374b1f17b04f60ecc3b3a850a6d64485ded2 (patch)
tree8c8316db98bd642ec9729c42c9ac0afce0fbf1f2
parentcf248e9e2f9e06dd1a6a426bf4b29e66074cf4ba (diff)
parent5e3dcc8021f0b6d76e95b8fb69648472cef7e5af (diff)
downloadsdk-android13-mainline-permission-release.tar.gz
Snap for 9890127 from 5e3dcc8021f0b6d76e95b8fb69648472cef7e5af to mainline-permission-releaseaml_per_331812030android13-mainline-permission-release
Change-Id: I935325579c5be8b8915254feb1871ad9761196a7
-rw-r--r--extensions/6/module-lib/api/framework-adservices-removed.txt1
-rw-r--r--extensions/6/module-lib/api/framework-adservices.txt9
-rw-r--r--extensions/6/module-lib/api/framework-sdksandbox-removed.txt1
-rw-r--r--extensions/6/module-lib/api/framework-sdksandbox.txt9
-rw-r--r--extensions/6/module-lib/framework-adservices.jarbin0 -> 45893 bytes
-rw-r--r--extensions/6/module-lib/framework-sdksandbox.jarbin0 -> 7322 bytes
-rw-r--r--extensions/6/public/api/framework-adservices-removed.txt9
-rw-r--r--extensions/6/public/api/framework-adservices.txt416
-rw-r--r--extensions/6/public/api/framework-sdksandbox-removed.txt1
-rw-r--r--extensions/6/public/api/framework-sdksandbox.txt83
-rw-r--r--extensions/6/public/api/service-adservices-removed.txt1
-rw-r--r--extensions/6/public/api/service-adservices.txt1
-rw-r--r--extensions/6/public/api/service-sdksandbox-removed.txt1
-rw-r--r--extensions/6/public/api/service-sdksandbox.txt1
-rw-r--r--extensions/6/public/framework-adservices.jarbin0 -> 43076 bytes
-rw-r--r--extensions/6/public/framework-sdksandbox.jarbin0 -> 6778 bytes
-rw-r--r--extensions/6/public/service-adservices.jarbin0 -> 285 bytes
-rw-r--r--extensions/6/public/service-sdksandbox.jarbin0 -> 285 bytes
-rw-r--r--extensions/6/system-server/api/service-adservices-removed.txt1
-rw-r--r--extensions/6/system-server/api/service-adservices.txt1
-rw-r--r--extensions/6/system-server/api/service-sdksandbox-removed.txt1
-rw-r--r--extensions/6/system-server/api/service-sdksandbox.txt16
-rw-r--r--extensions/6/system-server/service-adservices.jarbin0 -> 285 bytes
-rw-r--r--extensions/6/system-server/service-sdksandbox.jarbin0 -> 1410 bytes
-rw-r--r--extensions/6/system/api/framework-adservices-removed.txt1
-rw-r--r--extensions/6/system/api/framework-adservices.txt40
-rw-r--r--extensions/6/system/api/framework-sdksandbox-removed.txt1
-rw-r--r--extensions/6/system/api/framework-sdksandbox.txt1
-rw-r--r--extensions/6/system/framework-adservices.jarbin0 -> 45368 bytes
-rw-r--r--extensions/6/system/framework-sdksandbox.jarbin0 -> 6765 bytes
-rw-r--r--extensions/README.md1
31 files changed, 596 insertions, 0 deletions
diff --git a/extensions/6/module-lib/api/framework-adservices-removed.txt b/extensions/6/module-lib/api/framework-adservices-removed.txt
new file mode 100644
index 000000000..d802177e2
--- /dev/null
+++ b/extensions/6/module-lib/api/framework-adservices-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/extensions/6/module-lib/api/framework-adservices.txt b/extensions/6/module-lib/api/framework-adservices.txt
new file mode 100644
index 000000000..3a3276d5f
--- /dev/null
+++ b/extensions/6/module-lib/api/framework-adservices.txt
@@ -0,0 +1,9 @@
+// Signature format: 2.0
+package android.adservices {
+
+ public class AdServicesFrameworkInitializer {
+ method public static void registerServiceWrappers();
+ }
+
+}
+
diff --git a/extensions/6/module-lib/api/framework-sdksandbox-removed.txt b/extensions/6/module-lib/api/framework-sdksandbox-removed.txt
new file mode 100644
index 000000000..d802177e2
--- /dev/null
+++ b/extensions/6/module-lib/api/framework-sdksandbox-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/extensions/6/module-lib/api/framework-sdksandbox.txt b/extensions/6/module-lib/api/framework-sdksandbox.txt
new file mode 100644
index 000000000..c4fcb762e
--- /dev/null
+++ b/extensions/6/module-lib/api/framework-sdksandbox.txt
@@ -0,0 +1,9 @@
+// Signature format: 2.0
+package android.app.sdksandbox {
+
+ public class SdkSandboxManagerFrameworkInitializer {
+ method public static void registerServiceWrappers();
+ }
+
+}
+
diff --git a/extensions/6/module-lib/framework-adservices.jar b/extensions/6/module-lib/framework-adservices.jar
new file mode 100644
index 000000000..e968b3691
--- /dev/null
+++ b/extensions/6/module-lib/framework-adservices.jar
Binary files differ
diff --git a/extensions/6/module-lib/framework-sdksandbox.jar b/extensions/6/module-lib/framework-sdksandbox.jar
new file mode 100644
index 000000000..d47395969
--- /dev/null
+++ b/extensions/6/module-lib/framework-sdksandbox.jar
Binary files differ
diff --git a/extensions/6/public/api/framework-adservices-removed.txt b/extensions/6/public/api/framework-adservices-removed.txt
new file mode 100644
index 000000000..8374d753e
--- /dev/null
+++ b/extensions/6/public/api/framework-adservices-removed.txt
@@ -0,0 +1,9 @@
+// Signature format: 2.0
+package android.adservices {
+
+ public class AdServicesVersion {
+ field public static final int API_VERSION;
+ }
+
+}
+
diff --git a/extensions/6/public/api/framework-adservices.txt b/extensions/6/public/api/framework-adservices.txt
new file mode 100644
index 000000000..8f5252321
--- /dev/null
+++ b/extensions/6/public/api/framework-adservices.txt
@@ -0,0 +1,416 @@
+// Signature format: 2.0
+package android.adservices {
+
+ public class AdServicesState {
+ method public static boolean isAdServicesStateEnabled();
+ }
+
+}
+
+package android.adservices.adid {
+
+ public class AdId {
+ ctor public AdId(@NonNull String, boolean);
+ method @NonNull public String getAdId();
+ method public boolean isLimitAdTrackingEnabled();
+ field public static final String ZERO_OUT = "00000000-0000-0000-0000-000000000000";
+ }
+
+ public class AdIdManager {
+ method @NonNull public static android.adservices.adid.AdIdManager get(@NonNull android.content.Context);
+ method @NonNull @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_AD_ID) public void getAdId(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.adservices.adid.AdId,java.lang.Exception>);
+ }
+
+}
+
+package android.adservices.adselection {
+
+ public final class AdSelectionConfig implements android.os.Parcelable {
+ method public int describeContents();
+ method @NonNull public android.adservices.common.AdSelectionSignals getAdSelectionSignals();
+ method @NonNull public java.util.List<android.adservices.common.AdTechIdentifier> getCustomAudienceBuyers();
+ method @NonNull public android.net.Uri getDecisionLogicUri();
+ method @NonNull public java.util.Map<android.adservices.common.AdTechIdentifier,android.adservices.common.AdSelectionSignals> getPerBuyerSignals();
+ method @NonNull public android.adservices.common.AdTechIdentifier getSeller();
+ method @NonNull public android.adservices.common.AdSelectionSignals getSellerSignals();
+ method @NonNull public android.net.Uri getTrustedScoringSignalsUri();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.adservices.adselection.AdSelectionConfig> CREATOR;
+ }
+
+ public static final class AdSelectionConfig.Builder {
+ ctor public AdSelectionConfig.Builder();
+ method @NonNull public android.adservices.adselection.AdSelectionConfig build();
+ method @NonNull public android.adservices.adselection.AdSelectionConfig.Builder setAdSelectionSignals(@NonNull android.adservices.common.AdSelectionSignals);
+ method @NonNull public android.adservices.adselection.AdSelectionConfig.Builder setCustomAudienceBuyers(@NonNull java.util.List<android.adservices.common.AdTechIdentifier>);
+ method @NonNull public android.adservices.adselection.AdSelectionConfig.Builder setDecisionLogicUri(@NonNull android.net.Uri);
+ method @NonNull public android.adservices.adselection.AdSelectionConfig.Builder setPerBuyerSignals(@NonNull java.util.Map<android.adservices.common.AdTechIdentifier,android.adservices.common.AdSelectionSignals>);
+ method @NonNull public android.adservices.adselection.AdSelectionConfig.Builder setSeller(@NonNull android.adservices.common.AdTechIdentifier);
+ method @NonNull public android.adservices.adselection.AdSelectionConfig.Builder setSellerSignals(@NonNull android.adservices.common.AdSelectionSignals);
+ method @NonNull public android.adservices.adselection.AdSelectionConfig.Builder setTrustedScoringSignalsUri(@NonNull android.net.Uri);
+ }
+
+ public class AdSelectionManager {
+ method @NonNull public static android.adservices.adselection.AdSelectionManager get(@NonNull android.content.Context);
+ method @NonNull public android.adservices.adselection.TestAdSelectionManager getTestAdSelectionManager();
+ method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE) public void reportImpression(@NonNull android.adservices.adselection.ReportImpressionRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>);
+ method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE) public void selectAds(@NonNull android.adservices.adselection.AdSelectionConfig, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.adservices.adselection.AdSelectionOutcome,java.lang.Exception>);
+ }
+
+ public class AdSelectionOutcome {
+ method @NonNull public long getAdSelectionId();
+ method @NonNull public android.net.Uri getRenderUri();
+ }
+
+ public static final class AdSelectionOutcome.Builder {
+ ctor public AdSelectionOutcome.Builder();
+ method @NonNull public android.adservices.adselection.AdSelectionOutcome build();
+ method @NonNull public android.adservices.adselection.AdSelectionOutcome.Builder setAdSelectionId(long);
+ method @NonNull public android.adservices.adselection.AdSelectionOutcome.Builder setRenderUri(@NonNull android.net.Uri);
+ }
+
+ public class AddAdSelectionOverrideRequest {
+ ctor public AddAdSelectionOverrideRequest(@NonNull android.adservices.adselection.AdSelectionConfig, @NonNull String, @NonNull android.adservices.common.AdSelectionSignals);
+ method @NonNull public android.adservices.adselection.AdSelectionConfig getAdSelectionConfig();
+ method @NonNull public String getDecisionLogicJs();
+ method @NonNull public android.adservices.common.AdSelectionSignals getTrustedScoringSignals();
+ }
+
+ public class RemoveAdSelectionOverrideRequest {
+ ctor public RemoveAdSelectionOverrideRequest(@NonNull android.adservices.adselection.AdSelectionConfig);
+ method @NonNull public android.adservices.adselection.AdSelectionConfig getAdSelectionConfig();
+ }
+
+ public class ReportImpressionRequest {
+ ctor public ReportImpressionRequest(long, @NonNull android.adservices.adselection.AdSelectionConfig);
+ method @NonNull public android.adservices.adselection.AdSelectionConfig getAdSelectionConfig();
+ method public long getAdSelectionId();
+ }
+
+ public class TestAdSelectionManager {
+ method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE) public void overrideAdSelectionConfigRemoteInfo(@NonNull android.adservices.adselection.AddAdSelectionOverrideRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>);
+ method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE) public void removeAdSelectionConfigRemoteInfoOverride(@NonNull android.adservices.adselection.RemoveAdSelectionOverrideRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>);
+ method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE) public void resetAllAdSelectionConfigRemoteOverrides(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>);
+ }
+
+}
+
+package android.adservices.appsetid {
+
+ public class AppSetId {
+ ctor public AppSetId(@NonNull String, int);
+ method @NonNull public String getId();
+ method public int getScope();
+ field public static final int SCOPE_APP = 1; // 0x1
+ field public static final int SCOPE_DEVELOPER = 2; // 0x2
+ }
+
+ public class AppSetIdManager {
+ method @NonNull public static android.adservices.appsetid.AppSetIdManager get(@NonNull android.content.Context);
+ method @NonNull public void getAppSetId(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.adservices.appsetid.AppSetId,java.lang.Exception>);
+ }
+
+}
+
+package android.adservices.common {
+
+ public final class AdData implements android.os.Parcelable {
+ method public int describeContents();
+ method @NonNull public String getMetadata();
+ method @NonNull public android.net.Uri getRenderUri();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.adservices.common.AdData> CREATOR;
+ }
+
+ public static final class AdData.Builder {
+ ctor public AdData.Builder();
+ method @NonNull public android.adservices.common.AdData build();
+ method @NonNull public android.adservices.common.AdData.Builder setMetadata(@NonNull String);
+ method @NonNull public android.adservices.common.AdData.Builder setRenderUri(@NonNull android.net.Uri);
+ }
+
+ public final class AdSelectionSignals implements android.os.Parcelable {
+ method public int describeContents();
+ method @NonNull public static android.adservices.common.AdSelectionSignals fromString(@NonNull String);
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.adservices.common.AdSelectionSignals> CREATOR;
+ field public static final android.adservices.common.AdSelectionSignals EMPTY;
+ }
+
+ public class AdServicesPermissions {
+ field public static final String ACCESS_ADSERVICES_AD_ID = "android.permission.ACCESS_ADSERVICES_AD_ID";
+ field public static final String ACCESS_ADSERVICES_ATTRIBUTION = "android.permission.ACCESS_ADSERVICES_ATTRIBUTION";
+ field public static final String ACCESS_ADSERVICES_CUSTOM_AUDIENCE = "android.permission.ACCESS_ADSERVICES_CUSTOM_AUDIENCE";
+ field public static final String ACCESS_ADSERVICES_TOPICS = "android.permission.ACCESS_ADSERVICES_TOPICS";
+ }
+
+ public final class AdTechIdentifier implements android.os.Parcelable {
+ method public int describeContents();
+ method @NonNull public static android.adservices.common.AdTechIdentifier fromString(@NonNull String);
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.adservices.common.AdTechIdentifier> CREATOR;
+ }
+
+}
+
+package android.adservices.customaudience {
+
+ public class AddCustomAudienceOverrideRequest {
+ ctor public AddCustomAudienceOverrideRequest(@NonNull android.adservices.common.AdTechIdentifier, @NonNull String, @NonNull String, @NonNull android.adservices.common.AdSelectionSignals);
+ method @NonNull public String getBiddingLogicJs();
+ method @NonNull public android.adservices.common.AdTechIdentifier getBuyer();
+ method @NonNull public String getName();
+ method @NonNull public android.adservices.common.AdSelectionSignals getTrustedBiddingSignals();
+ }
+
+ public static final class AddCustomAudienceOverrideRequest.Builder {
+ ctor public AddCustomAudienceOverrideRequest.Builder();
+ method @NonNull public android.adservices.customaudience.AddCustomAudienceOverrideRequest build();
+ method @NonNull public android.adservices.customaudience.AddCustomAudienceOverrideRequest.Builder setBiddingLogicJs(@NonNull String);
+ method @NonNull public android.adservices.customaudience.AddCustomAudienceOverrideRequest.Builder setBuyer(@NonNull android.adservices.common.AdTechIdentifier);
+ method @NonNull public android.adservices.customaudience.AddCustomAudienceOverrideRequest.Builder setName(@NonNull String);
+ method @NonNull public android.adservices.customaudience.AddCustomAudienceOverrideRequest.Builder setTrustedBiddingSignals(@NonNull android.adservices.common.AdSelectionSignals);
+ }
+
+ public final class CustomAudience implements android.os.Parcelable {
+ method public int describeContents();
+ method @Nullable public java.time.Instant getActivationTime();
+ method @NonNull public java.util.List<android.adservices.common.AdData> getAds();
+ method @NonNull public android.net.Uri getBiddingLogicUri();
+ method @NonNull public android.adservices.common.AdTechIdentifier getBuyer();
+ method @NonNull public android.net.Uri getDailyUpdateUri();
+ method @Nullable public java.time.Instant getExpirationTime();
+ method @NonNull public String getName();
+ method @Nullable public android.adservices.customaudience.TrustedBiddingData getTrustedBiddingData();
+ method @Nullable public android.adservices.common.AdSelectionSignals getUserBiddingSignals();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.adservices.customaudience.CustomAudience> CREATOR;
+ }
+
+ public static final class CustomAudience.Builder {
+ ctor public CustomAudience.Builder();
+ method @NonNull public android.adservices.customaudience.CustomAudience build();
+ method @NonNull public android.adservices.customaudience.CustomAudience.Builder setActivationTime(@Nullable java.time.Instant);
+ method @NonNull public android.adservices.customaudience.CustomAudience.Builder setAds(@Nullable java.util.List<android.adservices.common.AdData>);
+ method @NonNull public android.adservices.customaudience.CustomAudience.Builder setBiddingLogicUri(@NonNull android.net.Uri);
+ method @NonNull public android.adservices.customaudience.CustomAudience.Builder setBuyer(@NonNull android.adservices.common.AdTechIdentifier);
+ method @NonNull public android.adservices.customaudience.CustomAudience.Builder setDailyUpdateUri(@NonNull android.net.Uri);
+ method @NonNull public android.adservices.customaudience.CustomAudience.Builder setExpirationTime(@Nullable java.time.Instant);
+ method @NonNull public android.adservices.customaudience.CustomAudience.Builder setName(@NonNull String);
+ method @NonNull public android.adservices.customaudience.CustomAudience.Builder setTrustedBiddingData(@Nullable android.adservices.customaudience.TrustedBiddingData);
+ method @NonNull public android.adservices.customaudience.CustomAudience.Builder setUserBiddingSignals(@Nullable android.adservices.common.AdSelectionSignals);
+ }
+
+ public class CustomAudienceManager {
+ method @NonNull public static android.adservices.customaudience.CustomAudienceManager get(@NonNull android.content.Context);
+ method @NonNull public android.adservices.customaudience.TestCustomAudienceManager getTestCustomAudienceManager();
+ method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE) public void joinCustomAudience(@NonNull android.adservices.customaudience.JoinCustomAudienceRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>);
+ method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE) public void leaveCustomAudience(@NonNull android.adservices.customaudience.LeaveCustomAudienceRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>);
+ }
+
+ public class JoinCustomAudienceRequest {
+ method @NonNull public android.adservices.customaudience.CustomAudience getCustomAudience();
+ }
+
+ public static final class JoinCustomAudienceRequest.Builder {
+ ctor public JoinCustomAudienceRequest.Builder();
+ method @NonNull public android.adservices.customaudience.JoinCustomAudienceRequest build();
+ method @NonNull public android.adservices.customaudience.JoinCustomAudienceRequest.Builder setCustomAudience(@NonNull android.adservices.customaudience.CustomAudience);
+ }
+
+ public final class LeaveCustomAudienceRequest {
+ method @NonNull public android.adservices.common.AdTechIdentifier getBuyer();
+ method @NonNull public String getName();
+ }
+
+ public static final class LeaveCustomAudienceRequest.Builder {
+ ctor public LeaveCustomAudienceRequest.Builder();
+ method @NonNull public android.adservices.customaudience.LeaveCustomAudienceRequest build();
+ method @NonNull public android.adservices.customaudience.LeaveCustomAudienceRequest.Builder setBuyer(@NonNull android.adservices.common.AdTechIdentifier);
+ method @NonNull public android.adservices.customaudience.LeaveCustomAudienceRequest.Builder setName(@NonNull String);
+ }
+
+ public class RemoveCustomAudienceOverrideRequest {
+ ctor public RemoveCustomAudienceOverrideRequest(@NonNull android.adservices.common.AdTechIdentifier, @NonNull String);
+ method @NonNull public android.adservices.common.AdTechIdentifier getBuyer();
+ method @NonNull public String getName();
+ }
+
+ public static final class RemoveCustomAudienceOverrideRequest.Builder {
+ ctor public RemoveCustomAudienceOverrideRequest.Builder();
+ method @NonNull public android.adservices.customaudience.RemoveCustomAudienceOverrideRequest build();
+ method @NonNull public android.adservices.customaudience.RemoveCustomAudienceOverrideRequest.Builder setBuyer(@NonNull android.adservices.common.AdTechIdentifier);
+ method @NonNull public android.adservices.customaudience.RemoveCustomAudienceOverrideRequest.Builder setName(@NonNull String);
+ }
+
+ public class TestCustomAudienceManager {
+ method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE) public void overrideCustomAudienceRemoteInfo(@NonNull android.adservices.customaudience.AddCustomAudienceOverrideRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>);
+ method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE) public void removeCustomAudienceRemoteInfoOverride(@NonNull android.adservices.customaudience.RemoveCustomAudienceOverrideRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>);
+ method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE) public void resetAllCustomAudienceOverrides(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>);
+ }
+
+ public final class TrustedBiddingData implements android.os.Parcelable {
+ method public int describeContents();
+ method @NonNull public java.util.List<java.lang.String> getTrustedBiddingKeys();
+ method @NonNull public android.net.Uri getTrustedBiddingUri();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.adservices.customaudience.TrustedBiddingData> CREATOR;
+ }
+
+ public static final class TrustedBiddingData.Builder {
+ ctor public TrustedBiddingData.Builder();
+ method @NonNull public android.adservices.customaudience.TrustedBiddingData build();
+ method @NonNull public android.adservices.customaudience.TrustedBiddingData.Builder setTrustedBiddingKeys(@NonNull java.util.List<java.lang.String>);
+ method @NonNull public android.adservices.customaudience.TrustedBiddingData.Builder setTrustedBiddingUri(@NonNull android.net.Uri);
+ }
+
+}
+
+package android.adservices.exceptions {
+
+ public class AdServicesException extends java.lang.Exception {
+ ctor public AdServicesException(@Nullable String, @Nullable Throwable);
+ ctor public AdServicesException(@Nullable String);
+ }
+
+}
+
+package android.adservices.measurement {
+
+ public class DeletionRequest {
+ method public int getDeletionMode();
+ method @NonNull public java.util.List<android.net.Uri> getDomainUris();
+ method @NonNull public java.time.Instant getEnd();
+ method public int getMatchBehavior();
+ method @NonNull public java.util.List<android.net.Uri> getOriginUris();
+ method @NonNull public java.time.Instant getStart();
+ field public static final int DELETION_MODE_ALL = 0; // 0x0
+ field public static final int DELETION_MODE_EXCLUDE_INTERNAL_DATA = 1; // 0x1
+ field public static final int MATCH_BEHAVIOR_DELETE = 0; // 0x0
+ field public static final int MATCH_BEHAVIOR_PRESERVE = 1; // 0x1
+ }
+
+ public static final class DeletionRequest.Builder {
+ ctor public DeletionRequest.Builder();
+ method @NonNull public android.adservices.measurement.DeletionRequest build();
+ method @NonNull public android.adservices.measurement.DeletionRequest.Builder setDeletionMode(int);
+ method @NonNull public android.adservices.measurement.DeletionRequest.Builder setDomainUris(@Nullable java.util.List<android.net.Uri>);
+ method @NonNull public android.adservices.measurement.DeletionRequest.Builder setEnd(@NonNull java.time.Instant);
+ method @NonNull public android.adservices.measurement.DeletionRequest.Builder setMatchBehavior(int);
+ method @NonNull public android.adservices.measurement.DeletionRequest.Builder setOriginUris(@Nullable java.util.List<android.net.Uri>);
+ method @NonNull public android.adservices.measurement.DeletionRequest.Builder setStart(@NonNull java.time.Instant);
+ }
+
+ public class MeasurementManager {
+ method public void deleteRegistrations(@NonNull android.adservices.measurement.DeletionRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>);
+ method @NonNull public static android.adservices.measurement.MeasurementManager get(@NonNull android.content.Context);
+ method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_ATTRIBUTION) public void getMeasurementApiStatus(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Integer,java.lang.Exception>);
+ method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_ATTRIBUTION) public void registerSource(@NonNull android.net.Uri, @Nullable android.view.InputEvent, @Nullable java.util.concurrent.Executor, @Nullable android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>);
+ method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_ATTRIBUTION) public void registerTrigger(@NonNull android.net.Uri, @Nullable java.util.concurrent.Executor, @Nullable android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>);
+ method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_ATTRIBUTION) public void registerWebSource(@NonNull android.adservices.measurement.WebSourceRegistrationRequest, @Nullable java.util.concurrent.Executor, @Nullable android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>);
+ method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_ATTRIBUTION) public void registerWebTrigger(@NonNull android.adservices.measurement.WebTriggerRegistrationRequest, @Nullable java.util.concurrent.Executor, @Nullable android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>);
+ field public static final int MEASUREMENT_API_STATE_DISABLED = 0; // 0x0
+ field public static final int MEASUREMENT_API_STATE_ENABLED = 1; // 0x1
+ }
+
+ public final class WebSourceParams implements android.os.Parcelable {
+ method public int describeContents();
+ method @NonNull public android.net.Uri getRegistrationUri();
+ method public boolean isDebugKeyAllowed();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.adservices.measurement.WebSourceParams> CREATOR;
+ }
+
+ public static final class WebSourceParams.Builder {
+ ctor public WebSourceParams.Builder(@NonNull android.net.Uri);
+ method @NonNull public android.adservices.measurement.WebSourceParams build();
+ method @NonNull public android.adservices.measurement.WebSourceParams.Builder setDebugKeyAllowed(boolean);
+ }
+
+ public final class WebSourceRegistrationRequest implements android.os.Parcelable {
+ method public int describeContents();
+ method @Nullable public android.net.Uri getAppDestination();
+ method @Nullable public android.view.InputEvent getInputEvent();
+ method @NonNull public java.util.List<android.adservices.measurement.WebSourceParams> getSourceParams();
+ method @NonNull public android.net.Uri getTopOriginUri();
+ method @Nullable public android.net.Uri getVerifiedDestination();
+ method @Nullable public android.net.Uri getWebDestination();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.adservices.measurement.WebSourceRegistrationRequest> CREATOR;
+ }
+
+ public static final class WebSourceRegistrationRequest.Builder {
+ ctor public WebSourceRegistrationRequest.Builder(@NonNull java.util.List<android.adservices.measurement.WebSourceParams>, @NonNull android.net.Uri);
+ method @NonNull public android.adservices.measurement.WebSourceRegistrationRequest build();
+ method @NonNull public android.adservices.measurement.WebSourceRegistrationRequest.Builder setAppDestination(@Nullable android.net.Uri);
+ method @NonNull public android.adservices.measurement.WebSourceRegistrationRequest.Builder setInputEvent(@Nullable android.view.InputEvent);
+ method @NonNull public android.adservices.measurement.WebSourceRegistrationRequest.Builder setVerifiedDestination(@Nullable android.net.Uri);
+ method @NonNull public android.adservices.measurement.WebSourceRegistrationRequest.Builder setWebDestination(@Nullable android.net.Uri);
+ }
+
+ public final class WebTriggerParams implements android.os.Parcelable {
+ method public int describeContents();
+ method @NonNull public android.net.Uri getRegistrationUri();
+ method public boolean isDebugKeyAllowed();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.adservices.measurement.WebTriggerParams> CREATOR;
+ }
+
+ public static final class WebTriggerParams.Builder {
+ ctor public WebTriggerParams.Builder(@NonNull android.net.Uri);
+ method @NonNull public android.adservices.measurement.WebTriggerParams build();
+ method @NonNull public android.adservices.measurement.WebTriggerParams.Builder setDebugKeyAllowed(boolean);
+ }
+
+ public final class WebTriggerRegistrationRequest implements android.os.Parcelable {
+ method public int describeContents();
+ method @NonNull public android.net.Uri getDestination();
+ method @NonNull public java.util.List<android.adservices.measurement.WebTriggerParams> getTriggerParams();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.adservices.measurement.WebTriggerRegistrationRequest> CREATOR;
+ }
+
+ public static final class WebTriggerRegistrationRequest.Builder {
+ ctor public WebTriggerRegistrationRequest.Builder(@NonNull java.util.List<android.adservices.measurement.WebTriggerParams>, @NonNull android.net.Uri);
+ method @NonNull public android.adservices.measurement.WebTriggerRegistrationRequest build();
+ }
+
+}
+
+package android.adservices.topics {
+
+ public final class GetTopicsRequest {
+ method @NonNull public String getAdsSdkName();
+ method public boolean shouldRecordObservation();
+ }
+
+ public static final class GetTopicsRequest.Builder {
+ ctor public GetTopicsRequest.Builder();
+ method @NonNull public android.adservices.topics.GetTopicsRequest build();
+ method @NonNull public android.adservices.topics.GetTopicsRequest.Builder setAdsSdkName(@NonNull String);
+ method @NonNull public android.adservices.topics.GetTopicsRequest.Builder setShouldRecordObservation(boolean);
+ }
+
+ public final class GetTopicsResponse {
+ method @NonNull public java.util.List<android.adservices.topics.Topic> getTopics();
+ }
+
+ public static final class GetTopicsResponse.Builder {
+ ctor public GetTopicsResponse.Builder(@NonNull java.util.List<android.adservices.topics.Topic>);
+ method @NonNull public android.adservices.topics.GetTopicsResponse build();
+ }
+
+ public final class Topic {
+ ctor public Topic(long, long, int);
+ method public long getModelVersion();
+ method public long getTaxonomyVersion();
+ method public int getTopicId();
+ }
+
+ public final class TopicsManager {
+ method @NonNull public static android.adservices.topics.TopicsManager get(@NonNull android.content.Context);
+ method @NonNull @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_TOPICS) public void getTopics(@NonNull android.adservices.topics.GetTopicsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.adservices.topics.GetTopicsResponse,java.lang.Exception>);
+ }
+
+}
+
diff --git a/extensions/6/public/api/framework-sdksandbox-removed.txt b/extensions/6/public/api/framework-sdksandbox-removed.txt
new file mode 100644
index 000000000..d802177e2
--- /dev/null
+++ b/extensions/6/public/api/framework-sdksandbox-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/extensions/6/public/api/framework-sdksandbox.txt b/extensions/6/public/api/framework-sdksandbox.txt
new file mode 100644
index 000000000..ece4793cf
--- /dev/null
+++ b/extensions/6/public/api/framework-sdksandbox.txt
@@ -0,0 +1,83 @@
+// Signature format: 2.0
+package android.app.sdksandbox {
+
+ public final class LoadSdkException extends java.lang.Exception implements android.os.Parcelable {
+ ctor public LoadSdkException(@NonNull Throwable, @NonNull android.os.Bundle);
+ method public int describeContents();
+ method @NonNull public android.os.Bundle getExtraInformation();
+ method public int getLoadSdkErrorCode();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.sdksandbox.LoadSdkException> CREATOR;
+ }
+
+ public final class RequestSurfacePackageException extends java.lang.Exception {
+ ctor public RequestSurfacePackageException(int, @Nullable String);
+ ctor public RequestSurfacePackageException(int, @Nullable String, @Nullable Throwable);
+ ctor public RequestSurfacePackageException(int, @Nullable String, @Nullable Throwable, @NonNull android.os.Bundle);
+ method @NonNull public android.os.Bundle getExtraErrorInformation();
+ method public int getRequestSurfacePackageErrorCode();
+ }
+
+ public final class SandboxedSdk implements android.os.Parcelable {
+ ctor public SandboxedSdk(@NonNull android.os.IBinder);
+ method public int describeContents();
+ method @Nullable public android.os.IBinder getInterface();
+ method @NonNull public android.content.pm.SharedLibraryInfo getSharedLibraryInfo();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.sdksandbox.SandboxedSdk> CREATOR;
+ }
+
+ public abstract class SandboxedSdkProvider {
+ ctor public SandboxedSdkProvider();
+ method public final void attachContext(@NonNull android.content.Context);
+ method public void beforeUnloadSdk();
+ method @Nullable public final android.content.Context getContext();
+ method @NonNull public abstract android.view.View getView(@NonNull android.content.Context, @NonNull android.os.Bundle, int, int);
+ method @NonNull public abstract android.app.sdksandbox.SandboxedSdk onLoadSdk(@NonNull android.os.Bundle) throws android.app.sdksandbox.LoadSdkException;
+ }
+
+ public final class SdkSandboxManager {
+ method public void addSdkSandboxProcessDeathCallback(@NonNull java.util.concurrent.Executor, @NonNull android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback);
+ method public void addSyncedSharedPreferencesKeys(@NonNull java.util.Set<java.lang.String>);
+ method @NonNull public java.util.List<android.app.sdksandbox.SandboxedSdk> getSandboxedSdks();
+ method public static int getSdkSandboxState();
+ method @NonNull public java.util.Set<java.lang.String> getSyncedSharedPreferencesKeys();
+ method public void loadSdk(@NonNull String, @NonNull android.os.Bundle, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.app.sdksandbox.SandboxedSdk,android.app.sdksandbox.LoadSdkException>);
+ method public void removeSdkSandboxProcessDeathCallback(@NonNull android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback);
+ method public void removeSyncedSharedPreferencesKeys(@NonNull java.util.Set<java.lang.String>);
+ method public void requestSurfacePackage(@NonNull String, @NonNull android.os.Bundle, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.os.Bundle,android.app.sdksandbox.RequestSurfacePackageException>);
+ method public void unloadSdk(@NonNull String);
+ field public static final String EXTRA_DISPLAY_ID = "android.app.sdksandbox.extra.DISPLAY_ID";
+ field public static final String EXTRA_HEIGHT_IN_PIXELS = "android.app.sdksandbox.extra.HEIGHT_IN_PIXELS";
+ field public static final String EXTRA_HOST_TOKEN = "android.app.sdksandbox.extra.HOST_TOKEN";
+ field public static final String EXTRA_SURFACE_PACKAGE = "android.app.sdksandbox.extra.SURFACE_PACKAGE";
+ field public static final String EXTRA_WIDTH_IN_PIXELS = "android.app.sdksandbox.extra.WIDTH_IN_PIXELS";
+ field public static final int LOAD_SDK_ALREADY_LOADED = 101; // 0x65
+ field public static final int LOAD_SDK_INTERNAL_ERROR = 500; // 0x1f4
+ field public static final int LOAD_SDK_NOT_FOUND = 100; // 0x64
+ field public static final int LOAD_SDK_SDK_DEFINED_ERROR = 102; // 0x66
+ field public static final int LOAD_SDK_SDK_SANDBOX_DISABLED = 103; // 0x67
+ field public static final int REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR = 700; // 0x2bc
+ field public static final int REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED = 701; // 0x2bd
+ field public static final int SDK_SANDBOX_PROCESS_NOT_AVAILABLE = 503; // 0x1f7
+ field public static final String SDK_SANDBOX_SERVICE = "sdk_sandbox";
+ field public static final int SDK_SANDBOX_STATE_DISABLED = 0; // 0x0
+ field public static final int SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION = 2; // 0x2
+ }
+
+ public static interface SdkSandboxManager.SdkSandboxProcessDeathCallback {
+ method public void onSdkSandboxDied();
+ }
+
+}
+
+package android.app.sdksandbox.sdkprovider {
+
+ public class SdkSandboxController {
+ method @NonNull public android.content.SharedPreferences getClientSharedPreferences();
+ method @NonNull public java.util.List<android.app.sdksandbox.SandboxedSdk> getSandboxedSdks();
+ field public static final String SDK_SANDBOX_CONTROLLER_SERVICE = "sdk_sandbox_controller_service";
+ }
+
+}
+
diff --git a/extensions/6/public/api/service-adservices-removed.txt b/extensions/6/public/api/service-adservices-removed.txt
new file mode 100644
index 000000000..d802177e2
--- /dev/null
+++ b/extensions/6/public/api/service-adservices-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/extensions/6/public/api/service-adservices.txt b/extensions/6/public/api/service-adservices.txt
new file mode 100644
index 000000000..d802177e2
--- /dev/null
+++ b/extensions/6/public/api/service-adservices.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/extensions/6/public/api/service-sdksandbox-removed.txt b/extensions/6/public/api/service-sdksandbox-removed.txt
new file mode 100644
index 000000000..d802177e2
--- /dev/null
+++ b/extensions/6/public/api/service-sdksandbox-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/extensions/6/public/api/service-sdksandbox.txt b/extensions/6/public/api/service-sdksandbox.txt
new file mode 100644
index 000000000..d802177e2
--- /dev/null
+++ b/extensions/6/public/api/service-sdksandbox.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/extensions/6/public/framework-adservices.jar b/extensions/6/public/framework-adservices.jar
new file mode 100644
index 000000000..ced3c5b5c
--- /dev/null
+++ b/extensions/6/public/framework-adservices.jar
Binary files differ
diff --git a/extensions/6/public/framework-sdksandbox.jar b/extensions/6/public/framework-sdksandbox.jar
new file mode 100644
index 000000000..a120bc44a
--- /dev/null
+++ b/extensions/6/public/framework-sdksandbox.jar
Binary files differ
diff --git a/extensions/6/public/service-adservices.jar b/extensions/6/public/service-adservices.jar
new file mode 100644
index 000000000..b62b671d7
--- /dev/null
+++ b/extensions/6/public/service-adservices.jar
Binary files differ
diff --git a/extensions/6/public/service-sdksandbox.jar b/extensions/6/public/service-sdksandbox.jar
new file mode 100644
index 000000000..b62b671d7
--- /dev/null
+++ b/extensions/6/public/service-sdksandbox.jar
Binary files differ
diff --git a/extensions/6/system-server/api/service-adservices-removed.txt b/extensions/6/system-server/api/service-adservices-removed.txt
new file mode 100644
index 000000000..d802177e2
--- /dev/null
+++ b/extensions/6/system-server/api/service-adservices-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/extensions/6/system-server/api/service-adservices.txt b/extensions/6/system-server/api/service-adservices.txt
new file mode 100644
index 000000000..d802177e2
--- /dev/null
+++ b/extensions/6/system-server/api/service-adservices.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/extensions/6/system-server/api/service-sdksandbox-removed.txt b/extensions/6/system-server/api/service-sdksandbox-removed.txt
new file mode 100644
index 000000000..d802177e2
--- /dev/null
+++ b/extensions/6/system-server/api/service-sdksandbox-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/extensions/6/system-server/api/service-sdksandbox.txt b/extensions/6/system-server/api/service-sdksandbox.txt
new file mode 100644
index 000000000..4e077078c
--- /dev/null
+++ b/extensions/6/system-server/api/service-sdksandbox.txt
@@ -0,0 +1,16 @@
+// Signature format: 2.0
+package com.android.server.sdksandbox {
+
+ public interface SdkSandboxManagerLocal {
+ method public void enforceAllowedToSendBroadcast(@NonNull android.content.Intent);
+ method public void enforceAllowedToStartActivity(@NonNull android.content.Intent);
+ method public void enforceAllowedToStartOrBindService(@NonNull android.content.Intent);
+ method @NonNull public String getSdkSandboxProcessNameForInstrumentation(@NonNull android.content.pm.ApplicationInfo);
+ method public void notifyInstrumentationFinished(@NonNull String, int);
+ method public void notifyInstrumentationStarted(@NonNull String, int);
+ field public static final String SERVICE_INTERFACE = "com.android.sdksandbox.SdkSandboxService";
+ field public static final String VERIFIER_RECEIVER = "com.android.server.sdksandbox.SdkSandboxVerifierReceiver";
+ }
+
+}
+
diff --git a/extensions/6/system-server/service-adservices.jar b/extensions/6/system-server/service-adservices.jar
new file mode 100644
index 000000000..b62b671d7
--- /dev/null
+++ b/extensions/6/system-server/service-adservices.jar
Binary files differ
diff --git a/extensions/6/system-server/service-sdksandbox.jar b/extensions/6/system-server/service-sdksandbox.jar
new file mode 100644
index 000000000..a2232c0b5
--- /dev/null
+++ b/extensions/6/system-server/service-sdksandbox.jar
Binary files differ
diff --git a/extensions/6/system/api/framework-adservices-removed.txt b/extensions/6/system/api/framework-adservices-removed.txt
new file mode 100644
index 000000000..d802177e2
--- /dev/null
+++ b/extensions/6/system/api/framework-adservices-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/extensions/6/system/api/framework-adservices.txt b/extensions/6/system/api/framework-adservices.txt
new file mode 100644
index 000000000..1e612df86
--- /dev/null
+++ b/extensions/6/system/api/framework-adservices.txt
@@ -0,0 +1,40 @@
+// Signature format: 2.0
+package android.adservices.adid {
+
+ public abstract class AdIdProviderService extends android.app.Service {
+ ctor public AdIdProviderService();
+ method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
+ method @NonNull public abstract android.adservices.adid.AdId onGetAdId(int, @NonNull String) throws java.io.IOException;
+ field public static final String SERVICE_INTERFACE = "android.adservices.adid.AdIdProviderService";
+ }
+
+}
+
+package android.adservices.appsetid {
+
+ public abstract class AppSetIdProviderService extends android.app.Service {
+ ctor public AppSetIdProviderService();
+ method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
+ method @NonNull public abstract android.adservices.appsetid.AppSetId onGetAppSetId(int, @NonNull String) throws java.io.IOException;
+ field public static final String SERVICE_INTERFACE = "android.adservices.appsetid.AppSetIdProviderService";
+ }
+
+}
+
+package android.adservices.common {
+
+ public class AdServicesCommonManager {
+ method @NonNull public static android.adservices.common.AdServicesCommonManager get(@NonNull android.content.Context);
+ method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_STATE) public void isAdServicesEnabled(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,java.lang.Exception>);
+ method @RequiresPermission(android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE) public void setAdServicesEnabled(boolean, boolean);
+ }
+
+ public class AdServicesPermissions {
+ field public static final String ACCESS_ADSERVICES_STATE = "android.permission.ACCESS_ADSERVICES_STATE";
+ field public static final String ACCESS_PRIVILEGED_AD_ID = "android.permission.ACCESS_PRIVILEGED_AD_ID";
+ field public static final String ACCESS_PRIVILEGED_APP_SET_ID = "android.permission.ACCESS_PRIVILEGED_APP_SET_ID";
+ field public static final String MODIFY_ADSERVICES_STATE = "android.permission.MODIFY_ADSERVICES_STATE";
+ }
+
+}
+
diff --git a/extensions/6/system/api/framework-sdksandbox-removed.txt b/extensions/6/system/api/framework-sdksandbox-removed.txt
new file mode 100644
index 000000000..d802177e2
--- /dev/null
+++ b/extensions/6/system/api/framework-sdksandbox-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/extensions/6/system/api/framework-sdksandbox.txt b/extensions/6/system/api/framework-sdksandbox.txt
new file mode 100644
index 000000000..d802177e2
--- /dev/null
+++ b/extensions/6/system/api/framework-sdksandbox.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/extensions/6/system/framework-adservices.jar b/extensions/6/system/framework-adservices.jar
new file mode 100644
index 000000000..6f03f0cf6
--- /dev/null
+++ b/extensions/6/system/framework-adservices.jar
Binary files differ
diff --git a/extensions/6/system/framework-sdksandbox.jar b/extensions/6/system/framework-sdksandbox.jar
new file mode 100644
index 000000000..f670b00f8
--- /dev/null
+++ b/extensions/6/system/framework-sdksandbox.jar
Binary files differ
diff --git a/extensions/README.md b/extensions/README.md
index 948bcf6bd..88003bd48 100644
--- a/extensions/README.md
+++ b/extensions/README.md
@@ -12,3 +12,4 @@ latest finalized version for each API surface.
- 3: Finalized together with Android T / 33 (all modules)
- 4: Finalized in September 2022 between T and U (adservices, sdkextensions, tethering)
- 5: Finalized in November 2022 between T and U (adservices, mediaprovider)
+- 6: Finalized in April 2023 between T and U (adservices)