Revert "XNA Data Modeling Changes"
Revert submission 21006571-presubmit-am-448d995d89f14619ae0aac4e236ea4fa
Reason for revert: b/266638682
Reverted changes: /q/submissionid:21006571-presubmit-am-448d995d89f14619ae0aac4e236ea4fa
Test: NA
Change-Id: Ibd7873f04f6feef36a9dcd290e0e57964461a069
diff --git a/adservices/service-core/java/com/android/adservices/service/measurement/AsyncRegistration.java b/adservices/service-core/java/com/android/adservices/service/measurement/AsyncRegistration.java
index 4c83e93..af25a14 100644
--- a/adservices/service-core/java/com/android/adservices/service/measurement/AsyncRegistration.java
+++ b/adservices/service-core/java/com/android/adservices/service/measurement/AsyncRegistration.java
@@ -56,7 +56,6 @@
private final RegistrationType mType;
private final boolean mDebugKeyAllowed;
private final boolean mAdIdPermission;
- @Nullable private String mRegistrationId;
@IntDef(value = {
RedirectType.NONE,
@@ -88,7 +87,6 @@
mType = builder.mType;
mDebugKeyAllowed = builder.mDebugKeyAllowed;
mAdIdPermission = builder.mAdIdPermission;
- mRegistrationId = builder.mRegistrationId;
}
/** Unique identifier for the {@link AsyncRegistration}. */
@@ -186,12 +184,6 @@
return mAdIdPermission;
}
- /** Returns the registration id. */
- @Nullable
- public String getRegistrationId() {
- return mRegistrationId;
- }
-
/** Increments the retry count of the current record. */
public void incrementRetryCount() {
++mRetryCount;
@@ -237,7 +229,6 @@
private AsyncRegistration.RegistrationType mType;
private boolean mDebugKeyAllowed;
private boolean mAdIdPermission;
- @Nullable private String mRegistrationId;
/** See {@link AsyncRegistration#getId()}. */
@NonNull
@@ -368,12 +359,6 @@
return this;
}
- /** See {@link AsyncRegistration#getRegistrationId()} */
- public Builder setRegistrationId(@Nullable String registrationId) {
- mRegistrationId = registrationId;
- return this;
- }
-
/** Build the {@link AsyncRegistration}. */
public AsyncRegistration build() {
return new AsyncRegistration(this);
diff --git a/adservices/service-core/java/com/android/adservices/service/measurement/AttributionConfig.java b/adservices/service-core/java/com/android/adservices/service/measurement/AttributionConfig.java
deleted file mode 100644
index b3a5637..0000000
--- a/adservices/service-core/java/com/android/adservices/service/measurement/AttributionConfig.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * 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 com.android.adservices.service.measurement;
-
-import android.annotation.NonNull;
-import android.annotation.Nullable;
-import android.util.Pair;
-
-import java.util.List;
-import java.util.Objects;
-
-/** POJO for AttributionConfig. */
-public class AttributionConfig {
-
- @NonNull private final String mSourceAdtech;
- @Nullable private final Pair<Long, Long> mSourcePriorityRange;
- @Nullable private final List<FilterMap> mSourceFilters;
- @Nullable private final List<FilterMap> mSourceNotFilters;
- @Nullable private final Long mSourceExpiryOverride;
- @Nullable private final Long mPriority;
- @Nullable private final Long mExpiry;
- @Nullable private final List<FilterMap> mFilterData;
- @Nullable private final Long mPostInstallExclusivityWindow;
-
- private AttributionConfig(@NonNull AttributionConfig.Builder builder) {
- mSourceAdtech = builder.mSourceAdtech;
- mSourcePriorityRange = builder.mSourcePriorityRange;
- mSourceFilters = builder.mSourceFilters;
- mSourceNotFilters = builder.mSourceNotFilters;
- mSourceExpiryOverride = builder.mSourceExpiryOverride;
- mPriority = builder.mPriority;
- mExpiry = builder.mExpiry;
- mFilterData = builder.mFilterData;
- mPostInstallExclusivityWindow = builder.mPostInstallExclusivityWindow;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (!(obj instanceof AttributionConfig)) {
- return false;
- }
- AttributionConfig attributionConfig = (AttributionConfig) obj;
- return Objects.equals(mSourceAdtech, attributionConfig.mSourceAdtech)
- && Objects.equals(mSourcePriorityRange, attributionConfig.mSourcePriorityRange)
- && Objects.equals(mSourceFilters, attributionConfig.mSourceFilters)
- && Objects.equals(mSourceNotFilters, attributionConfig.mSourceNotFilters)
- && Objects.equals(mSourceExpiryOverride, attributionConfig.mSourceExpiryOverride)
- && Objects.equals(mPriority, attributionConfig.mPriority)
- && Objects.equals(mExpiry, attributionConfig.mExpiry)
- && Objects.equals(mFilterData, attributionConfig.mFilterData)
- && Objects.equals(
- mPostInstallExclusivityWindow,
- attributionConfig.mPostInstallExclusivityWindow);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(
- mSourceAdtech,
- mSourcePriorityRange,
- mSourceFilters,
- mSourceNotFilters,
- mSourceExpiryOverride,
- mPriority,
- mExpiry,
- mFilterData,
- mPostInstallExclusivityWindow);
- }
-
- /** Returns the source adtech as String. */
- @NonNull
- public String getSourceAdtech() {
- return mSourceAdtech;
- }
-
- /**
- * Returns source priority range JSONObject as a Pair of Long values. example:
- * "source_priority_range": { “start”: 100, “end”: 1000 }
- */
- @Nullable
- public Pair<Long, Long> getSourcePriorityRange() {
- return mSourcePriorityRange;
- }
-
- /**
- * Returns source filter JSONObject as List of FilterMap. example: "source_filters": {
- * "campaign_type": ["install"], "source_type": ["navigation"] }
- */
- @Nullable
- public List<FilterMap> getSourceFilters() {
- return mSourceFilters;
- }
-
- /**
- * Returns source not filter JSONObject as List of FilterMap. example: "source_not_filters": {
- * "campaign_type": ["install"] }
- */
- @Nullable
- public List<FilterMap> getSourceNotFilters() {
- return mSourceNotFilters;
- }
-
- /**
- * Returns source expiry override as long. Source registration time + source expiry override <
- * trigger time.
- */
- @Nullable
- public Long getSourceExpiryOverride() {
- return mSourceExpiryOverride;
- }
-
- /** Returns the derived priority of the source as long */
- @Nullable
- public Long getPriority() {
- return mPriority;
- }
-
- /** Returns the derived source expiry as long. */
- @Nullable
- public Long getExpiry() {
- return mExpiry;
- }
-
- /**
- * Returns the derived filter data of the source as List of FilterMap. example: "filter_data": {
- * "conversion_subdomain": ["electronics.megastore"], "product": ["1234", "234"] }
- */
- @Nullable
- public List<FilterMap> getFilterData() {
- return mFilterData;
- }
-
- /** Returns the derived post install exclusivity window as long. */
- @Nullable
- public Long getPostInstallExclusivityWindow() {
- return mPostInstallExclusivityWindow;
- }
-
- /** Builder for {@link AttributionConfig}. */
- public static final class Builder {
- private String mSourceAdtech;
- private Pair<Long, Long> mSourcePriorityRange;
- private List<FilterMap> mSourceFilters;
- private List<FilterMap> mSourceNotFilters;
- private Long mSourceExpiryOverride;
- private Long mPriority;
- private Long mExpiry;
- private List<FilterMap> mFilterData;
- private Long mPostInstallExclusivityWindow;
-
- public Builder() {}
-
- /** See {@link AttributionConfig#getSourceAdtech()} */
- @NonNull
- public Builder setSourceAdtech(@NonNull String sourceAdtech) {
- Objects.requireNonNull(sourceAdtech);
- mSourceAdtech = sourceAdtech;
- return this;
- }
-
- /** See {@link AttributionConfig#getSourcePriorityRange()} */
- @NonNull
- public Builder setSourcePriorityRange(@Nullable Pair<Long, Long> sourcePriorityRange) {
- mSourcePriorityRange = sourcePriorityRange;
- return this;
- }
-
- /** See {@link AttributionConfig#getSourceFilters()} */
- @NonNull
- public Builder setSourceFilters(@Nullable List<FilterMap> sourceFilters) {
- mSourceFilters = sourceFilters;
- return this;
- }
-
- /** See {@link AttributionConfig#getSourceNotFilters()} */
- @NonNull
- public Builder setSourceNotFilters(@Nullable List<FilterMap> sourceNotFilters) {
- mSourceNotFilters = sourceNotFilters;
- return this;
- }
-
- /** See {@link AttributionConfig#getSourceExpiryOverride()} */
- @NonNull
- public Builder setSourceExpiryOverride(@Nullable Long sourceExpiryOverride) {
- mSourceExpiryOverride = sourceExpiryOverride;
- return this;
- }
-
- /** See {@link AttributionConfig#getPriority()} */
- @NonNull
- public Builder setPriority(@Nullable Long priority) {
- mPriority = priority;
- return this;
- }
-
- /** See {@link AttributionConfig#getExpiry()} */
- @NonNull
- public Builder setExpiry(@Nullable Long expiry) {
- mExpiry = expiry;
- return this;
- }
-
- /** See {@link AttributionConfig#getFilterData()} */
- @NonNull
- public Builder setFilterData(@Nullable List<FilterMap> filterData) {
- mFilterData = filterData;
- return this;
- }
-
- /** See {@link AttributionConfig#getPostInstallExclusivityWindow()} */
- @NonNull
- public Builder setPostInstallExclusivityWindow(
- @Nullable Long postInstallExclusivityWindow) {
- mPostInstallExclusivityWindow = postInstallExclusivityWindow;
- return this;
- }
-
- /** Build the {@link AttributionConfig}. */
- @NonNull
- public AttributionConfig build() {
- Objects.requireNonNull(mSourceAdtech);
- return new AttributionConfig(this);
- }
- }
-}
diff --git a/adservices/service-core/java/com/android/adservices/service/measurement/ServingAdtechNetwork.java b/adservices/service-core/java/com/android/adservices/service/measurement/ServingAdtechNetwork.java
deleted file mode 100644
index efa26e8..0000000
--- a/adservices/service-core/java/com/android/adservices/service/measurement/ServingAdtechNetwork.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * 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 com.android.adservices.service.measurement;
-
-import android.annotation.NonNull;
-import android.annotation.Nullable;
-
-import java.util.Objects;
-
-/** POJO for ServingAdtechNetwork. */
-public class ServingAdtechNetwork {
-
- @Nullable private final Long mOffset;
-
- private ServingAdtechNetwork(@NonNull ServingAdtechNetwork.Builder builder) {
- mOffset = builder.mOffset;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (!(obj instanceof ServingAdtechNetwork)) {
- return false;
- }
- ServingAdtechNetwork servingAdtechNetwork = (ServingAdtechNetwork) obj;
- return Objects.equals(mOffset, servingAdtechNetwork.mOffset);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(mOffset);
- }
-
- /** Returns the value of offset as Long */
- @Nullable
- public Long getOffset() {
- return mOffset;
- }
-
- /** Builder for {@link ServingAdtechNetwork}. */
- public static final class Builder {
- private Long mOffset;
-
- public Builder() {}
-
- /** See {@link ServingAdtechNetwork#getOffset()}. */
- @NonNull
- public Builder setOffset(@Nullable Long offset) {
- mOffset = offset;
- return this;
- }
-
- /** Build the {@link ServingAdtechNetwork}. */
- @NonNull
- public ServingAdtechNetwork build() {
- return new ServingAdtechNetwork(this);
- }
- }
-}
diff --git a/adservices/service-core/java/com/android/adservices/service/measurement/Source.java b/adservices/service-core/java/com/android/adservices/service/measurement/Source.java
index 2b8dd5b..37d7e8c 100644
--- a/adservices/service-core/java/com/android/adservices/service/measurement/Source.java
+++ b/adservices/service-core/java/com/android/adservices/service/measurement/Source.java
@@ -30,7 +30,6 @@
import com.google.common.collect.ImmutableList;
-import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
@@ -41,13 +40,11 @@
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.Random;
-import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@@ -96,9 +93,6 @@
private AggregatableAttributionSource mAggregatableAttributionSource;
private boolean mAdIdPermission;
private boolean mArDebugPermission;
- @Nullable private String mRegistrationId;
- @Nullable private String mSharedAggregationKeys;
- @Nullable private Long mInstallTime;
@IntDef(value = {Status.ACTIVE, Status.IGNORED, Status.MARKED_TO_DELETE})
@Retention(RetentionPolicy.SOURCE)
@@ -343,10 +337,7 @@
&& Objects.equals(mAggregateSource, source.mAggregateSource)
&& mAggregateContributions == source.mAggregateContributions
&& Objects.equals(
- mAggregatableAttributionSource, source.mAggregatableAttributionSource)
- && Objects.equals(mRegistrationId, source.mRegistrationId)
- && Objects.equals(mSharedAggregationKeys, source.mSharedAggregationKeys)
- && Objects.equals(mInstallTime, source.mInstallTime);
+ mAggregatableAttributionSource, source.mAggregatableAttributionSource);
}
@Override
@@ -374,10 +365,7 @@
mAggregatableAttributionSource,
mDebugKey,
mAdIdPermission,
- mArDebugPermission,
- mRegistrationId,
- mSharedAggregationKeys,
- mInstallTime);
+ mArDebugPermission);
}
/**
@@ -635,27 +623,6 @@
return mAggregatableAttributionSource;
}
- /** Returns the registration id. */
- @Nullable
- public String getRegistrationId() {
- return mRegistrationId;
- }
-
- /**
- * Returns the shared aggregation keys of the source as a unique list of strings. Example:
- * [“campaignCounts”]
- */
- @Nullable
- public String getSharedAggregationKeys() {
- return mSharedAggregationKeys;
- }
-
- /** Returns the install time of the source which is the same value as event time. */
- @Nullable
- public Long getInstallTime() {
- return mInstallTime;
- }
-
/** Set app install attribution to the {@link Source}. */
public void setInstallAttributed(boolean isInstallAttributed) {
mIsInstallAttributed = isInstallAttributed;
@@ -717,20 +684,6 @@
return Optional.of(aggregatableAttributionSourceBuilder.build());
}
- /** Generates SharedAggregationKeys object from the shared aggregation keys string in Source. */
- @Nullable
- public Set<String> parseSharedAggregationKeys() throws JSONException {
- if (mSharedAggregationKeys == null) {
- return null;
- }
- Set<String> sharedAggregationKeys = new HashSet<>();
- JSONArray jsonArray = new JSONArray(mSharedAggregationKeys);
- for (int i = 0; i < jsonArray.length(); i++) {
- sharedAggregationKeys.add(jsonArray.getString(i));
- }
- return sharedAggregationKeys;
- }
-
private List<FakeReport> generateVtcDualDestinationPostInstallFakeReports() {
int[][][] fakeReportsConfig =
ImpressionNoiseUtil.DUAL_DESTINATION_POST_INSTALL_FAKE_REPORT_CONFIG;
@@ -980,24 +933,6 @@
return this;
}
- /** See {@link Source#getRegistrationId()} */
- public Builder setRegistrationId(@Nullable String registrationId) {
- mBuilding.mRegistrationId = registrationId;
- return this;
- }
-
- /** See {@link Source#getSharedAggregationKeys()} */
- public Builder setSharedAggregationKeys(@Nullable String sharedAggregationKeys) {
- mBuilding.mSharedAggregationKeys = sharedAggregationKeys;
- return this;
- }
-
- /** See {@link Source#getInstallTime()} */
- public Builder setInstallTime(@Nullable Long installTime) {
- mBuilding.mInstallTime = installTime;
- return this;
- }
-
/** See {@link Source#getAggregatableAttributionSource()} */
@NonNull
public Builder setAggregatableAttributionSource(
diff --git a/adservices/service-core/java/com/android/adservices/service/measurement/Trigger.java b/adservices/service-core/java/com/android/adservices/service/measurement/Trigger.java
index d37be8d..565449a 100644
--- a/adservices/service-core/java/com/android/adservices/service/measurement/Trigger.java
+++ b/adservices/service-core/java/com/android/adservices/service/measurement/Trigger.java
@@ -20,9 +20,7 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.net.Uri;
-import android.util.Pair;
-import com.android.adservices.LogUtil;
import com.android.adservices.service.measurement.aggregation.AggregatableAttributionTrigger;
import com.android.adservices.service.measurement.aggregation.AggregateDeduplicationKey;
import com.android.adservices.service.measurement.aggregation.AggregateTriggerData;
@@ -69,8 +67,6 @@
@Nullable private UnsignedLong mDebugKey;
private boolean mAdIdPermission;
private boolean mArDebugPermission;
- @Nullable private String mAttributionConfig;
- @Nullable private String mAdtechBitMapping;
@IntDef(value = {Status.PENDING, Status.IGNORED, Status.ATTRIBUTED, Status.MARKED_TO_DELETE})
@Retention(RetentionPolicy.SOURCE)
@@ -111,9 +107,7 @@
&& Objects.equals(
mAggregatableAttributionTrigger, trigger.mAggregatableAttributionTrigger)
&& Objects.equals(mFilters, trigger.mFilters)
- && Objects.equals(mNotFilters, trigger.mNotFilters)
- && Objects.equals(mAttributionConfig, trigger.mAttributionConfig)
- && Objects.equals(mAdtechBitMapping, trigger.mAdtechBitMapping);
+ && Objects.equals(mNotFilters, trigger.mNotFilters);
}
@Override
@@ -133,9 +127,7 @@
mNotFilters,
mDebugKey,
mAdIdPermission,
- mArDebugPermission,
- mAttributionConfig,
- mAdtechBitMapping);
+ mArDebugPermission);
}
/** Unique identifier for the {@link Trigger}. */
@@ -288,31 +280,9 @@
}
/** Debug key of {@link Trigger}. */
- @Nullable
- public UnsignedLong getDebugKey() {
+ public @Nullable UnsignedLong getDebugKey() {
return mDebugKey;
}
-
- /**
- * Returns field attribution config JSONArray as String. example: [{ "source_adtech":
- * "AdTech1-Ads", "source_priority_range": { “start”: 100, “end”: 1000 }, "source_filters": {
- * "campaign_type": ["install"], "source_type": ["navigation"], }, "priority": "99", "expiry":
- * "604800", "filter_data":{ "campaign_type": ["install"], } }]
- */
- @Nullable
- public String getAttributionConfig() {
- return mAttributionConfig;
- }
-
- /**
- * Returns adtech bit mapping JSONObject as String. example: "adtech_bit_mapping": {
- * "AdTechA-enrollment_id": "0x1", "AdTechB-enrollment_id": "0x2", }
- */
- @Nullable
- public String getAdtechBitMapping() {
- return mAdtechBitMapping;
- }
-
/**
* Generates AggregatableAttributionTrigger from aggregate trigger data string and aggregate
* values string in Trigger.
@@ -347,17 +317,6 @@
List<FilterMap> notFilterSet = getFilterSet(jsonObject, "not_filters");
builder.setNotFilterSet(notFilterSet);
}
- if (!jsonObject.isNull("serving_adtech_network")) {
- JSONObject servingAdtechNetworkJson =
- jsonObject.getJSONObject("serving_adtech_network");
- if (!servingAdtechNetworkJson.isNull("offset")) {
- ServingAdtechNetwork servingAdtechNetwork =
- new ServingAdtechNetwork.Builder()
- .setOffset(servingAdtechNetworkJson.getLong("offset"))
- .build();
- builder.setServingAdtechNetwork(servingAdtechNetwork);
- }
- }
triggerDataList.add(builder.build());
}
JSONObject values = new JSONObject(this.mAggregateValues);
@@ -442,108 +401,6 @@
}
/**
- * Parses the json array under {@link #mAttributionConfig} to form a list of {@link
- * AttributionConfig}s.
- *
- * @return list of {@link AttributionConfig}s
- * @throws JSONException if JSON parsing fails
- */
- @Nullable
- public List<AttributionConfig> parseAttributionConfigs() throws JSONException {
- if (this.mAttributionConfig == null) {
- return null;
- }
- List<AttributionConfig> attributionConfigs = new ArrayList<>();
- JSONArray jsonArray = new JSONArray(this.mAttributionConfig);
- for (int i = 0; i < jsonArray.length(); i++) {
- AttributionConfig.Builder attributionConfigBuilder = new AttributionConfig.Builder();
- JSONObject attributionConfigsJson = jsonArray.getJSONObject(i);
-
- if (attributionConfigsJson.isNull(AttributionConfigContract.SOURCE_ADTECH)) {
- LogUtil.d("Required field source_adtech is not present.");
- continue;
- }
- attributionConfigBuilder.setSourceAdtech(
- attributionConfigsJson.getString(AttributionConfigContract.SOURCE_ADTECH));
-
- if (!attributionConfigsJson.isNull(AttributionConfigContract.SOURCE_PRIORITY_RANGE)) {
- JSONObject sourcePriorityRangeJson =
- attributionConfigsJson.getJSONObject(
- AttributionConfigContract.SOURCE_PRIORITY_RANGE);
- Pair<Long, Long> sourcePriorityRange =
- new Pair<>(
- sourcePriorityRangeJson.getLong(AttributionConfigContract.START),
- sourcePriorityRangeJson.getLong(AttributionConfigContract.END));
- attributionConfigBuilder.setSourcePriorityRange(sourcePriorityRange);
- }
- if (!attributionConfigsJson.isNull(AttributionConfigContract.SOURCE_FILTERS)) {
- List<FilterMap> sourceFilters =
- getFilterSet(
- attributionConfigsJson, AttributionConfigContract.SOURCE_FILTERS);
- attributionConfigBuilder.setSourceFilters(sourceFilters);
- }
- if (!attributionConfigsJson.isNull(AttributionConfigContract.SOURCE_NOT_FILTERS)) {
- List<FilterMap> sourceNotFilters =
- getFilterSet(
- attributionConfigsJson,
- AttributionConfigContract.SOURCE_NOT_FILTERS);
- attributionConfigBuilder.setSourceNotFilters(sourceNotFilters);
- }
- if (!attributionConfigsJson.isNull(AttributionConfigContract.SOURCE_EXPIRY_OVERRIDE)) {
- attributionConfigBuilder.setSourceExpiryOverride(
- attributionConfigsJson.getLong(
- AttributionConfigContract.SOURCE_EXPIRY_OVERRIDE));
- }
- if (!attributionConfigsJson.isNull(AttributionConfigContract.PRIORITY)) {
- attributionConfigBuilder.setPriority(
- attributionConfigsJson.getLong(AttributionConfigContract.PRIORITY));
- }
- if (!attributionConfigsJson.isNull(AttributionConfigContract.EXPIRY)) {
- attributionConfigBuilder.setExpiry(
- attributionConfigsJson.getLong(AttributionConfigContract.EXPIRY));
- }
- if (!attributionConfigsJson.isNull(AttributionConfigContract.FILTER_DATA)) {
- List<FilterMap> filterData =
- getFilterSet(attributionConfigsJson, AttributionConfigContract.FILTER_DATA);
- attributionConfigBuilder.setFilterData(filterData);
- }
- if (!attributionConfigsJson.isNull(
- AttributionConfigContract.POST_INSTALL_EXCLUSIVITY_WINDOW)) {
- attributionConfigBuilder.setPostInstallExclusivityWindow(
- attributionConfigsJson.getLong(
- AttributionConfigContract.POST_INSTALL_EXCLUSIVITY_WINDOW));
- }
- attributionConfigs.add(attributionConfigBuilder.build());
- }
- return attributionConfigs;
- }
-
- /**
- * Parses the json object under {@link #mAdtechBitMapping} to create a mapping of adtechs to
- * their bits.
- *
- * @return mapping of String to BigInteger
- * @throws JSONException if JSON parsing fails
- * @throws NumberFormatException if BigInteger parsing fails
- */
- @Nullable
- public Map<String, BigInteger> parseAdtechBitMapping()
- throws JSONException, NumberFormatException {
- if (mAdtechBitMapping == null) {
- return null;
- }
- Map<String, BigInteger> adtechBitMapping = new HashMap<>();
- JSONObject jsonObject = new JSONObject(mAdtechBitMapping);
- for (String key : jsonObject.keySet()) {
- // Remove "0x" prefix.
- String hexString = jsonObject.getString(key).substring(2);
- BigInteger bigInteger = new BigInteger(hexString, 16);
- adtechBitMapping.put(key, bigInteger);
- }
- return adtechBitMapping;
- }
-
- /**
* Returns a {@code Uri} with scheme and (1) public suffix + 1 in case of a web destination, or
* (2) the Android package name in case of an app destination. Returns null if extracting the
* public suffix + 1 fails.
@@ -684,18 +541,6 @@
return this;
}
- /** See {@link Trigger#getAttributionConfig()} ()} */
- public Builder setAttributionConfig(@Nullable String attributionConfig) {
- mBuilding.mAttributionConfig = attributionConfig;
- return this;
- }
-
- /** See {@link Trigger#getAdtechBitMapping()} ()} */
- public Builder setAdtechBitMapping(@Nullable String adtechBitMapping) {
- mBuilding.mAdtechBitMapping = adtechBitMapping;
- return this;
- }
-
/** See {@link Trigger#getAggregatableAttributionTrigger()} */
@NonNull
public Builder setAggregatableAttributionTrigger(
@@ -725,21 +570,6 @@
String NOT_FILTERS = "not_filters";
}
- /** Attribution Config field keys. */
- public interface AttributionConfigContract {
- String SOURCE_ADTECH = "source_adtech";
- String SOURCE_PRIORITY_RANGE = "source_priority_range";
- String SOURCE_FILTERS = "source_filters";
- String SOURCE_NOT_FILTERS = "source_not_filters";
- String SOURCE_EXPIRY_OVERRIDE = "source_expiry_override";
- String PRIORITY = "priority";
- String EXPIRY = "expiry";
- String FILTER_DATA = "filter_data";
- String POST_INSTALL_EXCLUSIVITY_WINDOW = "post_install_exclusivity_window";
- String START = "start";
- String END = "end";
- }
-
private static List<FilterMap> getFilterSet(JSONObject obj, String key) throws JSONException {
List<FilterMap> filterSet = new ArrayList<>();
JSONArray filters = obj.getJSONArray(key);
diff --git a/adservices/service-core/java/com/android/adservices/service/measurement/aggregation/AggregateTriggerData.java b/adservices/service-core/java/com/android/adservices/service/measurement/aggregation/AggregateTriggerData.java
index a926a44..5f5f680 100644
--- a/adservices/service-core/java/com/android/adservices/service/measurement/aggregation/AggregateTriggerData.java
+++ b/adservices/service-core/java/com/android/adservices/service/measurement/aggregation/AggregateTriggerData.java
@@ -16,10 +16,7 @@
package com.android.adservices.service.measurement.aggregation;
-import android.annotation.Nullable;
-
import com.android.adservices.service.measurement.FilterMap;
-import com.android.adservices.service.measurement.ServingAdtechNetwork;
import java.math.BigInteger;
import java.util.HashSet;
@@ -37,7 +34,6 @@
private Set<String> mSourceKeys;
private Optional<List<FilterMap>> mFilterSet;
private Optional<List<FilterMap>> mNotFilterSet;
- @Nullable private ServingAdtechNetwork mServingAdtechNetwork;
private AggregateTriggerData() {
mKey = null;
@@ -55,14 +51,12 @@
return Objects.equals(mKey, attributionTriggerData.mKey)
&& Objects.equals(mSourceKeys, attributionTriggerData.mSourceKeys)
&& Objects.equals(mFilterSet, attributionTriggerData.mFilterSet)
- && Objects.equals(mNotFilterSet, attributionTriggerData.mNotFilterSet)
- && Objects.equals(
- mServingAdtechNetwork, attributionTriggerData.mServingAdtechNetwork);
+ && Objects.equals(mNotFilterSet, attributionTriggerData.mNotFilterSet);
}
@Override
public int hashCode() {
- return Objects.hash(mKey, mSourceKeys, mServingAdtechNetwork);
+ return Objects.hash(mKey, mSourceKeys);
}
/**
@@ -94,12 +88,6 @@
return mNotFilterSet;
}
- /** Returns the serving adtech network object */
- @Nullable
- public ServingAdtechNetwork getServingAdtechNetwork() {
- return mServingAdtechNetwork;
- }
-
/**
* Builder for {@link AggregateTriggerData}.
*/
@@ -126,23 +114,18 @@
return this;
}
- /** See {@link AggregateTriggerData#getFilterSet()}. */
+ /** See {@link AggregateTriggerData#getFilter()}. */
public Builder setFilterSet(List<FilterMap> filterSet) {
mBuilding.mFilterSet = Optional.of(filterSet);
return this;
}
- /** See {@link AggregateTriggerData#getNotFilterSet()} */
+ /** See {@link AggregateTriggerData#getNotFilter()} */
public Builder setNotFilterSet(List<FilterMap> notFilterSet) {
mBuilding.mNotFilterSet = Optional.of(notFilterSet);
return this;
}
- /** See {@link AggregateTriggerData#getServingAdtechNetwork()} */
- public void setServingAdtechNetwork(ServingAdtechNetwork servingAdtechNetwork) {
- mBuilding.mServingAdtechNetwork = servingAdtechNetwork;
- }
-
/**
* Build the {@link AggregateTriggerData}
*/
diff --git a/adservices/tests/unittest/fixtures/java/com/android/adservices/service/measurement/AsyncRegistrationFixture.java b/adservices/tests/unittest/fixtures/java/com/android/adservices/service/measurement/AsyncRegistrationFixture.java
index 4b62ff0..65a0f05 100644
--- a/adservices/tests/unittest/fixtures/java/com/android/adservices/service/measurement/AsyncRegistrationFixture.java
+++ b/adservices/tests/unittest/fixtures/java/com/android/adservices/service/measurement/AsyncRegistrationFixture.java
@@ -41,7 +41,6 @@
.setLastProcessingTime(System.currentTimeMillis())
.setType(ValidAsyncRegistrationParams.TYPE.ordinal())
.setDebugKeyAllowed(ValidAsyncRegistrationParams.DEBUG_KEY_ALLOWED)
- .setRegistrationId(ValidAsyncRegistrationParams.REGISTRATION_ID)
.build();
}
@@ -59,6 +58,5 @@
public static final boolean DEBUG_KEY_ALLOWED = true;
public static final AsyncRegistration.RegistrationType TYPE =
AsyncRegistration.RegistrationType.APP_SOURCE;
- public static final String REGISTRATION_ID = "R1";
}
}
diff --git a/adservices/tests/unittest/fixtures/java/com/android/adservices/service/measurement/SourceFixture.java b/adservices/tests/unittest/fixtures/java/com/android/adservices/service/measurement/SourceFixture.java
index 3adb213..453f833 100644
--- a/adservices/tests/unittest/fixtures/java/com/android/adservices/service/measurement/SourceFixture.java
+++ b/adservices/tests/unittest/fixtures/java/com/android/adservices/service/measurement/SourceFixture.java
@@ -67,9 +67,6 @@
.setAggregateSource(ValidSourceParams.buildAggregateSource())
.setFilterData(ValidSourceParams.buildFilterData())
.setIsDebugReporting(true)
- .setRegistrationId(ValidSourceParams.REGISTRATION_ID)
- .setSharedAggregationKeys(ValidSourceParams.SHARED_AGGREGATE_KEYS)
- .setInstallTime(ValidSourceParams.INSTALL_TIME)
.build();
}
@@ -91,9 +88,6 @@
public static final @Source.AttributionMode int ATTRIBUTION_MODE =
Source.AttributionMode.TRUTHFULLY;
public static final int AGGREGATE_CONTRIBUTIONS = 0;
- public static final String REGISTRATION_ID = "R1";
- public static final String SHARED_AGGREGATE_KEYS = "[\"key1\"]";
- public static final Long INSTALL_TIME = 100L;
public static final String buildAggregateSource() {
try {
diff --git a/adservices/tests/unittest/fixtures/java/com/android/adservices/service/measurement/TriggerFixture.java b/adservices/tests/unittest/fixtures/java/com/android/adservices/service/measurement/TriggerFixture.java
index 644cd87..b3d4c89 100644
--- a/adservices/tests/unittest/fixtures/java/com/android/adservices/service/measurement/TriggerFixture.java
+++ b/adservices/tests/unittest/fixtures/java/com/android/adservices/service/measurement/TriggerFixture.java
@@ -106,30 +106,6 @@
public static final UnsignedLong DEBUG_KEY = new UnsignedLong(27836L);
- public static final String ATTRIBUTION_CONFIG =
- "[{\n"
- + " \"source_adtech\": \"AdTech1-Ads\",\n"
- + " \"source_priority_range\": {\n"
- + " “start”: 100,\n"
- + " “end”: 1000\n"
- + " }, \n"
- + " \"source_filters\": {\n"
- + " \"campaign_type\": [\"install\"],\n"
- + " \"source_type\": [\"navigation\"],\n"
- + " },\n"
- + " \"priority\": \"99\",\n"
- + " \"expiry\": \"604800\",\n"
- + " \"filter_data\":{ \n"
- + " \"campaign_type\": [\"install\"],\n"
- + " }\n"
- + "}]\n";
-
- public static final String ADTECH_BIT_MAPPING =
- "{"
- + "\"AdTechA-enrollment_id\": \"0x1\","
- + "\"AdTechB-enrollment_id\": \"0x2\""
- + "}";
-
public static final AggregatableAttributionTrigger buildAggregatableAttributionTrigger() {
final FilterMap filter =
new FilterMap.Builder()
diff --git a/adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/AttributionConfigTest.java b/adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/AttributionConfigTest.java
deleted file mode 100644
index ebfc6da..0000000
--- a/adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/AttributionConfigTest.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * 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 com.android.adservices.service.measurement;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-
-import android.util.Pair;
-
-import androidx.test.filters.SmallTest;
-
-import org.junit.Test;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/** Unit tests for {@link AttributionConfig} */
-@SmallTest
-public final class AttributionConfigTest {
-
- @Test
- public void testCreation() throws Exception {
- AttributionConfig attributionConfig = createExample();
-
- assertEquals("AdTech1-Ads", attributionConfig.getSourceAdtech());
- assertEquals(100L, attributionConfig.getSourcePriorityRange().first.longValue());
- assertEquals(1000L, attributionConfig.getSourcePriorityRange().second.longValue());
- List<FilterMap> sourceFilter = attributionConfig.getSourceFilters();
- assertEquals(1, sourceFilter.get(0).getAttributionFilterMap().get("campaign_type").size());
- assertEquals(1, sourceFilter.get(0).getAttributionFilterMap().get("source_type").size());
- List<FilterMap> sourceNotFilter = attributionConfig.getSourceNotFilters();
- assertEquals(
- 1, sourceNotFilter.get(0).getAttributionFilterMap().get("campaign_type").size());
- assertEquals(600000L, attributionConfig.getSourceExpiryOverride().longValue());
- assertEquals(99L, attributionConfig.getPriority().longValue());
- assertEquals(604800L, attributionConfig.getExpiry().longValue());
- List<FilterMap> filterData = attributionConfig.getFilterData();
- assertEquals(1, filterData.get(0).getAttributionFilterMap().get("campaign_type").size());
- assertEquals(100000L, attributionConfig.getPostInstallExclusivityWindow().longValue());
- }
-
- @Test
- public void testDefaults() throws Exception {
- AttributionConfig attributionConfig =
- new AttributionConfig.Builder().setSourceAdtech("AdTech1-Ads").build();
- assertNotNull(attributionConfig.getSourceAdtech());
- assertNull(attributionConfig.getSourcePriorityRange());
- assertNull(attributionConfig.getSourceFilters());
- assertNull(attributionConfig.getSourceNotFilters());
- assertNull(attributionConfig.getSourceExpiryOverride());
- assertNull(attributionConfig.getPriority());
- assertNull(attributionConfig.getExpiry());
- assertNull(attributionConfig.getFilterData());
- assertNull(attributionConfig.getPostInstallExclusivityWindow());
- }
-
- @Test
- public void testHashCode_equals() throws Exception {
- final AttributionConfig config1 = createExample();
- final AttributionConfig config2 = createExample();
- final Set<AttributionConfig> configSet1 = Set.of(config1);
- final Set<AttributionConfig> configSet2 = Set.of(config2);
- assertEquals(config1.hashCode(), config2.hashCode());
- assertEquals(config1, config2);
- assertEquals(configSet1, configSet2);
- }
-
- @Test
- public void testHashCode_notEquals() throws Exception {
- final AttributionConfig config1 = createExample();
-
- Pair<Long, Long> sourcePriorityRange = new Pair<>(100L, 1000L);
-
- Map<String, List<String>> sourceFiltersMap = new HashMap<>();
- sourceFiltersMap.put("campaign_type", Arrays.asList("install"));
- sourceFiltersMap.put("source_type", Arrays.asList("navigation"));
- FilterMap sourceFilters =
- new FilterMap.Builder().setAttributionFilterMap(sourceFiltersMap).build();
-
- Map<String, List<String>> sourceNotFiltersMap = new HashMap<>();
- sourceNotFiltersMap.put("campaign_type", Arrays.asList("product"));
- FilterMap sourceNotFilters =
- new FilterMap.Builder().setAttributionFilterMap(sourceNotFiltersMap).build();
-
- Map<String, List<String>> filterDataMap = new HashMap<>();
- filterDataMap.put("campaign_type", Arrays.asList("install"));
- FilterMap filterData =
- new FilterMap.Builder().setAttributionFilterMap(filterDataMap).build();
-
- AttributionConfig config2 =
- new AttributionConfig.Builder()
- .setSourceAdtech("AdTech2-Ads")
- .setSourcePriorityRange(sourcePriorityRange)
- .setSourceFilters(List.of(sourceFilters))
- .setSourceNotFilters(List.of(sourceNotFilters))
- .setSourceExpiryOverride(600000L)
- .setPriority(99L)
- .setExpiry(604800L)
- .setFilterData(List.of(filterData))
- .setPostInstallExclusivityWindow(100000L)
- .build();
-
- final Set<AttributionConfig> configSet1 = Set.of(config1);
- final Set<AttributionConfig> configSet2 = Set.of(config2);
- assertNotEquals(config1.hashCode(), config2.hashCode());
- assertNotEquals(config1, config2);
- assertNotEquals(configSet1, configSet2);
- }
-
- private AttributionConfig createExample() {
- Pair<Long, Long> sourcePriorityRange = new Pair<>(100L, 1000L);
-
- Map<String, List<String>> sourceFiltersMap = new HashMap<>();
- sourceFiltersMap.put("campaign_type", Arrays.asList("install"));
- sourceFiltersMap.put("source_type", Arrays.asList("navigation"));
- FilterMap sourceFilters =
- new FilterMap.Builder().setAttributionFilterMap(sourceFiltersMap).build();
-
- Map<String, List<String>> sourceNotFiltersMap = new HashMap<>();
- sourceNotFiltersMap.put("campaign_type", Arrays.asList("product"));
- FilterMap sourceNotFilters =
- new FilterMap.Builder().setAttributionFilterMap(sourceNotFiltersMap).build();
-
- Map<String, List<String>> filterDataMap = new HashMap<>();
- filterDataMap.put("campaign_type", Arrays.asList("install"));
- FilterMap filterData =
- new FilterMap.Builder().setAttributionFilterMap(filterDataMap).build();
-
- return new AttributionConfig.Builder()
- .setSourceAdtech("AdTech1-Ads")
- .setSourcePriorityRange(sourcePriorityRange)
- .setSourceFilters(List.of(sourceFilters))
- .setSourceNotFilters(List.of(sourceNotFilters))
- .setSourceExpiryOverride(600000L)
- .setPriority(99L)
- .setExpiry(604800L)
- .setFilterData(List.of(filterData))
- .setPostInstallExclusivityWindow(100000L)
- .build();
- }
-}
diff --git a/adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/ServingAdtechNetworkTest.java b/adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/ServingAdtechNetworkTest.java
deleted file mode 100644
index b5160c7..0000000
--- a/adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/ServingAdtechNetworkTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * 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 com.android.adservices.service.measurement;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNull;
-
-import androidx.test.filters.SmallTest;
-
-import org.junit.Test;
-
-import java.util.Set;
-
-/** Unit tests for {@link ServingAdtechNetwork} */
-@SmallTest
-public final class ServingAdtechNetworkTest {
-
- @Test
- public void testCreation() throws Exception {
- ServingAdtechNetwork servingAdtechNetwork = createExample();
- assertEquals(12L, servingAdtechNetwork.getOffset().longValue());
- }
-
- @Test
- public void testDefaults() throws Exception {
- ServingAdtechNetwork servingAdtechNetwork = new ServingAdtechNetwork.Builder().build();
- assertNull(servingAdtechNetwork.getOffset());
- }
-
- @Test
- public void testHashCode_equals() throws Exception {
- final ServingAdtechNetwork network1 = createExample();
- final ServingAdtechNetwork network2 = createExample();
- final Set<ServingAdtechNetwork> networkSet1 = Set.of(network1);
- final Set<ServingAdtechNetwork> networkSet2 = Set.of(network2);
- assertEquals(network1.hashCode(), network2.hashCode());
- assertEquals(network1, network2);
- assertEquals(networkSet1, networkSet2);
- }
-
- @Test
- public void testHashCode_notEquals() throws Exception {
- final ServingAdtechNetwork network1 = createExample();
- final ServingAdtechNetwork network2 =
- new ServingAdtechNetwork.Builder().setOffset(13L).build();
- final Set<ServingAdtechNetwork> networkSet1 = Set.of(network1);
- final Set<ServingAdtechNetwork> networkSet2 = Set.of(network2);
- assertNotEquals(network1.hashCode(), network2.hashCode());
- assertNotEquals(network1, network2);
- assertNotEquals(networkSet1, networkSet2);
- }
-
- private ServingAdtechNetwork createExample() {
- return new ServingAdtechNetwork.Builder().setOffset(12L).build();
- }
-}
diff --git a/adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/SourceTest.java b/adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/SourceTest.java
index 3d5731a..04acd68 100644
--- a/adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/SourceTest.java
+++ b/adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/SourceTest.java
@@ -41,11 +41,9 @@
import java.math.BigInteger;
import java.util.Arrays;
import java.util.Collections;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
-import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.stream.LongStream;
@@ -84,8 +82,6 @@
filterMap.put(
"conversion_subdomain", Collections.singletonList("electronics.megastore"));
filterMap.put("product", Arrays.asList("1234", "2345"));
-
- String sharedAggregateKeys = "[\"campaignCounts\"]";
assertEquals(
new Source.Builder()
.setEnrollmentId("enrollment-id")
@@ -120,9 +116,6 @@
.setDebugKey(DEBUG_KEY_1)
.setAggregatableAttributionSource(
SourceFixture.getValidSource().getAggregatableAttributionSource())
- .setRegistrationId("R1")
- .setSharedAggregationKeys(sharedAggregateKeys)
- .setInstallTime(100L)
.build(),
new Source.Builder()
.setEnrollmentId("enrollment-id")
@@ -157,9 +150,6 @@
.setDebugKey(DEBUG_KEY_1)
.setAggregatableAttributionSource(
SourceFixture.getValidSource().getAggregatableAttributionSource())
- .setRegistrationId("R1")
- .setSharedAggregationKeys(sharedAggregateKeys)
- .setInstallTime(100L)
.build());
}
@@ -295,25 +285,6 @@
assertNotEquals(
SourceFixture.getValidSourceBuilder().setDebugKey(DEBUG_KEY_1).build(),
SourceFixture.getValidSourceBuilder().setDebugKey(DEBUG_KEY_2).build());
-
- assertNotEquals(
- SourceFixture.getValidSourceBuilder().setRegistrationId("R1").build(),
- SourceFixture.getValidSourceBuilder().setRegistrationId("R2").build());
-
- String sharedAggregationKeys1 = "[\"key1\"]";
- String sharedAggregationKeys2 = "[\"key2\"]";
-
- assertNotEquals(
- SourceFixture.getValidSourceBuilder()
- .setSharedAggregationKeys(sharedAggregationKeys1)
- .build(),
- SourceFixture.getValidSourceBuilder()
- .setSharedAggregationKeys(sharedAggregationKeys2)
- .build());
-
- assertNotEquals(
- SourceFixture.getValidSourceBuilder().setInstallTime(100L).build(),
- SourceFixture.getValidSourceBuilder().setInstallTime(101L).build());
}
@Test
@@ -334,10 +305,7 @@
SourceFixture.ValidSourceParams.DEBUG_KEY,
SourceFixture.ValidSourceParams.ATTRIBUTION_MODE,
SourceFixture.ValidSourceParams.buildAggregateSource(),
- SourceFixture.ValidSourceParams.buildFilterData(),
- SourceFixture.ValidSourceParams.REGISTRATION_ID,
- SourceFixture.ValidSourceParams.SHARED_AGGREGATE_KEYS,
- SourceFixture.ValidSourceParams.INSTALL_TIME);
+ SourceFixture.ValidSourceParams.buildFilterData());
assertInvalidSourceArguments(
SourceFixture.ValidSourceParams.SOURCE_EVENT_ID,
@@ -355,10 +323,7 @@
SourceFixture.ValidSourceParams.DEBUG_KEY,
SourceFixture.ValidSourceParams.ATTRIBUTION_MODE,
SourceFixture.ValidSourceParams.buildAggregateSource(),
- SourceFixture.ValidSourceParams.buildFilterData(),
- SourceFixture.ValidSourceParams.REGISTRATION_ID,
- SourceFixture.ValidSourceParams.SHARED_AGGREGATE_KEYS,
- SourceFixture.ValidSourceParams.INSTALL_TIME);
+ SourceFixture.ValidSourceParams.buildFilterData());
}
@Test
@@ -379,10 +344,7 @@
SourceFixture.ValidSourceParams.DEBUG_KEY,
SourceFixture.ValidSourceParams.ATTRIBUTION_MODE,
SourceFixture.ValidSourceParams.buildAggregateSource(),
- SourceFixture.ValidSourceParams.buildFilterData(),
- SourceFixture.ValidSourceParams.REGISTRATION_ID,
- SourceFixture.ValidSourceParams.SHARED_AGGREGATE_KEYS,
- SourceFixture.ValidSourceParams.INSTALL_TIME);
+ SourceFixture.ValidSourceParams.buildFilterData());
assertInvalidSourceArguments(
SourceFixture.ValidSourceParams.SOURCE_EVENT_ID,
@@ -400,10 +362,7 @@
SourceFixture.ValidSourceParams.DEBUG_KEY,
SourceFixture.ValidSourceParams.ATTRIBUTION_MODE,
SourceFixture.ValidSourceParams.buildAggregateSource(),
- SourceFixture.ValidSourceParams.buildFilterData(),
- SourceFixture.ValidSourceParams.REGISTRATION_ID,
- SourceFixture.ValidSourceParams.SHARED_AGGREGATE_KEYS,
- SourceFixture.ValidSourceParams.INSTALL_TIME);
+ SourceFixture.ValidSourceParams.buildFilterData());
assertInvalidSourceArguments(
SourceFixture.ValidSourceParams.SOURCE_EVENT_ID,
@@ -421,10 +380,7 @@
SourceFixture.ValidSourceParams.DEBUG_KEY,
SourceFixture.ValidSourceParams.ATTRIBUTION_MODE,
SourceFixture.ValidSourceParams.buildAggregateSource(),
- SourceFixture.ValidSourceParams.buildFilterData(),
- SourceFixture.ValidSourceParams.REGISTRATION_ID,
- SourceFixture.ValidSourceParams.SHARED_AGGREGATE_KEYS,
- SourceFixture.ValidSourceParams.INSTALL_TIME);
+ SourceFixture.ValidSourceParams.buildFilterData());
}
@Test
@@ -445,10 +401,7 @@
SourceFixture.ValidSourceParams.DEBUG_KEY,
SourceFixture.ValidSourceParams.ATTRIBUTION_MODE,
SourceFixture.ValidSourceParams.buildAggregateSource(),
- SourceFixture.ValidSourceParams.buildFilterData(),
- SourceFixture.ValidSourceParams.REGISTRATION_ID,
- SourceFixture.ValidSourceParams.SHARED_AGGREGATE_KEYS,
- SourceFixture.ValidSourceParams.INSTALL_TIME);
+ SourceFixture.ValidSourceParams.buildFilterData());
}
@Test
@@ -469,10 +422,7 @@
SourceFixture.ValidSourceParams.DEBUG_KEY,
SourceFixture.ValidSourceParams.ATTRIBUTION_MODE,
SourceFixture.ValidSourceParams.buildAggregateSource(),
- SourceFixture.ValidSourceParams.buildFilterData(),
- SourceFixture.ValidSourceParams.REGISTRATION_ID,
- SourceFixture.ValidSourceParams.SHARED_AGGREGATE_KEYS,
- SourceFixture.ValidSourceParams.INSTALL_TIME);
+ SourceFixture.ValidSourceParams.buildFilterData());
assertInvalidSourceArguments(
SourceFixture.ValidSourceParams.SOURCE_EVENT_ID,
@@ -490,10 +440,7 @@
SourceFixture.ValidSourceParams.DEBUG_KEY,
SourceFixture.ValidSourceParams.ATTRIBUTION_MODE,
SourceFixture.ValidSourceParams.buildAggregateSource(),
- SourceFixture.ValidSourceParams.buildFilterData(),
- SourceFixture.ValidSourceParams.REGISTRATION_ID,
- SourceFixture.ValidSourceParams.SHARED_AGGREGATE_KEYS,
- SourceFixture.ValidSourceParams.INSTALL_TIME);
+ SourceFixture.ValidSourceParams.buildFilterData());
}
@Test
@@ -514,10 +461,7 @@
SourceFixture.ValidSourceParams.DEBUG_KEY,
SourceFixture.ValidSourceParams.ATTRIBUTION_MODE,
SourceFixture.ValidSourceParams.buildAggregateSource(),
- SourceFixture.ValidSourceParams.buildFilterData(),
- SourceFixture.ValidSourceParams.REGISTRATION_ID,
- SourceFixture.ValidSourceParams.SHARED_AGGREGATE_KEYS,
- SourceFixture.ValidSourceParams.INSTALL_TIME);
+ SourceFixture.ValidSourceParams.buildFilterData());
}
@Test
@@ -1432,18 +1376,6 @@
assertEquals(aggregateSource.getFilterMap().getAttributionFilterMap().size(), 3);
}
- @Test
- public void parseSharedAggregationKeys_nonEmpty_parseSuccess() throws JSONException {
- Source source =
- SourceFixture.getValidSourceBuilder()
- .setSourceType(Source.SourceType.EVENT)
- .setSharedAggregationKeys("[\"campaignCounts\",\"geoValue\"]")
- .build();
- Set<String> sharedKeys = source.parseSharedAggregationKeys();
- assertEquals(sharedKeys.size(), 2);
- assertEquals(new HashSet(Arrays.asList("campaignCounts", "geoValue")), sharedKeys);
- }
-
private void verifyAlgorithmicFakeReportGeneration(Source source, int expectedCardinality) {
// Increase the probability of random attribution.
doReturn(0.50D).when(source).getRandomAttributionProbability();
@@ -1512,10 +1444,7 @@
@Nullable UnsignedLong debugKey,
@Source.AttributionMode int attributionMode,
@Nullable String aggregateSource,
- @Nullable String filterData,
- @Nullable String registrationId,
- @Nullable String sharedAggregationKeys,
- @Nullable Long installTime) {
+ @Nullable String filterData) {
assertThrows(
IllegalArgumentException.class,
() ->
@@ -1536,9 +1465,6 @@
.setAggregateSource(aggregateSource)
.setFilterData(filterData)
.setDebugKey(debugKey)
- .setRegistrationId(registrationId)
- .setSharedAggregationKeys(sharedAggregationKeys)
- .setInstallTime(installTime)
.build());
}
}
diff --git a/adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/TriggerTest.java b/adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/TriggerTest.java
index 3495237..370853a 100644
--- a/adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/TriggerTest.java
+++ b/adservices/tests/unittest/service-core/src/com/android/adservices/service/measurement/TriggerTest.java
@@ -24,7 +24,6 @@
import static org.junit.Assert.assertTrue;
import android.net.Uri;
-import android.util.Pair;
import com.android.adservices.service.measurement.aggregation.AggregatableAttributionTrigger;
import com.android.adservices.service.measurement.aggregation.AggregateTriggerData;
@@ -35,8 +34,6 @@
import org.json.JSONObject;
import org.junit.Test;
-import java.math.BigInteger;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -98,8 +95,6 @@
JSONObject values = new JSONObject();
values.put("campaignCounts", 32768);
values.put("geoValue", 1664);
- JSONObject adtechBitMapping = new JSONObject();
- adtechBitMapping.put("AdTechA-enrollment_id", "0x1");
assertEquals(
TriggerFixture.getValidTriggerBuilder()
.setEnrollmentId("enrollment-id")
@@ -121,8 +116,6 @@
.setAggregatableAttributionTrigger(
TriggerFixture.getValidTrigger()
.getAggregatableAttributionTrigger())
- .setAttributionConfig(createAttributionConfigJSONArray().toString())
- .setAdtechBitMapping(adtechBitMapping.toString())
.build(),
TriggerFixture.getValidTriggerBuilder()
.setEnrollmentId("enrollment-id")
@@ -144,8 +137,6 @@
.setAggregatableAttributionTrigger(
TriggerFixture.getValidTrigger()
.getAggregatableAttributionTrigger())
- .setAttributionConfig(createAttributionConfigJSONArray().toString())
- .setAdtechBitMapping(adtechBitMapping.toString())
.build());
}
@@ -221,59 +212,6 @@
.setNotFilters(TOP_LEVEL_FILTERS_JSON_STRING).build(),
TriggerFixture.getValidTriggerBuilder()
.setNotFilters(TOP_LEVEL_FILTERS_JSON_STRING_X).build());
- JSONArray attributionConfigList1 = new JSONArray();
- JSONObject attributionConfig1 = new JSONObject();
- attributionConfig1.put("source_adtech", "AdTech1-Ads");
- JSONObject sourcePriorityRange1 = new JSONObject();
- sourcePriorityRange1.put("start", 100);
- sourcePriorityRange1.put("end", 1000);
- attributionConfig1.put("source_priority_range", sourcePriorityRange1);
- JSONObject sourceFilters1 = new JSONObject();
- sourceFilters1.put("campaign_type", Arrays.asList("install"));
- sourceFilters1.put("source_type", Arrays.asList("navigation"));
- attributionConfig1.put("source_filters", sourceFilters1);
- attributionConfig1.put("priority", "99");
- attributionConfig1.put("expiry", "604800");
- JSONObject filterData1 = new JSONObject();
- filterData1.put("campaign_type", Arrays.asList("install"));
- attributionConfig1.put("filter_data", filterData1);
- attributionConfigList1.put(attributionConfig1);
-
- JSONArray attributionConfigList2 = new JSONArray();
- JSONObject attributionConfig2 = new JSONObject();
- attributionConfig2.put("source_adtech", "AdTech2-Ads");
- JSONObject sourcePriorityRange2 = new JSONObject();
- sourcePriorityRange2.put("start", 100);
- sourcePriorityRange2.put("end", 1000);
- attributionConfig1.put("source_priority_range", sourcePriorityRange2);
- JSONObject sourceFilters2 = new JSONObject();
- sourceFilters2.put("campaign_type", Arrays.asList("install"));
- sourceFilters2.put("source_type", Arrays.asList("navigation"));
- attributionConfig2.put("source_filters", sourceFilters2);
- attributionConfig2.put("priority", "99");
- attributionConfig2.put("expiry", "604800");
- JSONObject filterData2 = new JSONObject();
- filterData1.put("campaign_type", Arrays.asList("install"));
- attributionConfig2.put("filter_data", filterData2);
- attributionConfigList2.put(attributionConfig2);
- assertNotEquals(
- TriggerFixture.getValidTriggerBuilder()
- .setAttributionConfig(attributionConfigList1.toString())
- .build(),
- TriggerFixture.getValidTriggerBuilder()
- .setAttributionConfig(attributionConfigList2.toString())
- .build());
- JSONObject adtechBitMapping1 = new JSONObject();
- adtechBitMapping1.put("AdTechA-enrollment_id", "0x1");
- JSONObject adtechBitMapping2 = new JSONObject();
- adtechBitMapping2.put("AdTechA-enrollment_id", "0x2");
- assertNotEquals(
- TriggerFixture.getValidTriggerBuilder()
- .setAdtechBitMapping(adtechBitMapping1.toString())
- .build(),
- TriggerFixture.getValidTriggerBuilder()
- .setAdtechBitMapping(adtechBitMapping2.toString())
- .build());
}
@Test
@@ -310,9 +248,7 @@
TriggerFixture.ValidTriggerParams.AGGREGATE_VALUES,
TriggerFixture.ValidTriggerParams.TOP_LEVEL_FILTERS_JSON_STRING,
TriggerFixture.ValidTriggerParams.TOP_LEVEL_NOT_FILTERS_JSON_STRING,
- TriggerFixture.ValidTriggerParams.DEBUG_KEY,
- TriggerFixture.ValidTriggerParams.ATTRIBUTION_CONFIG,
- TriggerFixture.ValidTriggerParams.ADTECH_BIT_MAPPING);
+ TriggerFixture.ValidTriggerParams.DEBUG_KEY);
assertInvalidTriggerArguments(
Uri.parse("com.destination"),
TriggerFixture.ValidTriggerParams.ENROLLMENT_ID,
@@ -323,9 +259,7 @@
TriggerFixture.ValidTriggerParams.AGGREGATE_VALUES,
TriggerFixture.ValidTriggerParams.TOP_LEVEL_FILTERS_JSON_STRING,
TriggerFixture.ValidTriggerParams.TOP_LEVEL_NOT_FILTERS_JSON_STRING,
- TriggerFixture.ValidTriggerParams.DEBUG_KEY,
- TriggerFixture.ValidTriggerParams.ATTRIBUTION_CONFIG,
- TriggerFixture.ValidTriggerParams.ADTECH_BIT_MAPPING);
+ TriggerFixture.ValidTriggerParams.DEBUG_KEY);
}
@Test
@@ -340,9 +274,7 @@
TriggerFixture.ValidTriggerParams.AGGREGATE_VALUES,
TriggerFixture.ValidTriggerParams.TOP_LEVEL_FILTERS_JSON_STRING,
TriggerFixture.ValidTriggerParams.TOP_LEVEL_NOT_FILTERS_JSON_STRING,
- TriggerFixture.ValidTriggerParams.DEBUG_KEY,
- TriggerFixture.ValidTriggerParams.ATTRIBUTION_CONFIG,
- TriggerFixture.ValidTriggerParams.ADTECH_BIT_MAPPING);
+ TriggerFixture.ValidTriggerParams.DEBUG_KEY);
}
@Test
@@ -357,9 +289,7 @@
TriggerFixture.ValidTriggerParams.AGGREGATE_VALUES,
TriggerFixture.ValidTriggerParams.TOP_LEVEL_FILTERS_JSON_STRING,
TriggerFixture.ValidTriggerParams.TOP_LEVEL_NOT_FILTERS_JSON_STRING,
- TriggerFixture.ValidTriggerParams.DEBUG_KEY,
- TriggerFixture.ValidTriggerParams.ATTRIBUTION_CONFIG,
- TriggerFixture.ValidTriggerParams.ADTECH_BIT_MAPPING);
+ TriggerFixture.ValidTriggerParams.DEBUG_KEY);
assertInvalidTriggerArguments(
TriggerFixture.ValidTriggerParams.ATTRIBUTION_DESTINATION,
TriggerFixture.ValidTriggerParams.ENROLLMENT_ID,
@@ -370,9 +300,7 @@
TriggerFixture.ValidTriggerParams.AGGREGATE_VALUES,
TriggerFixture.ValidTriggerParams.TOP_LEVEL_FILTERS_JSON_STRING,
TriggerFixture.ValidTriggerParams.TOP_LEVEL_NOT_FILTERS_JSON_STRING,
- TriggerFixture.ValidTriggerParams.DEBUG_KEY,
- TriggerFixture.ValidTriggerParams.ATTRIBUTION_CONFIG,
- TriggerFixture.ValidTriggerParams.ADTECH_BIT_MAPPING);
+ TriggerFixture.ValidTriggerParams.DEBUG_KEY);
}
@Test
@@ -405,11 +333,9 @@
jsonObject1.put("source_keys", new JSONArray(Arrays.asList("campaignCounts")));
jsonObject1.put("filters", createFilterJSONArray());
jsonObject1.put("not_filters", createFilterJSONArray());
- jsonObject1.put("serving_adtech_network", createServingAdtechNetworkJSONObject());
JSONObject jsonObject2 = new JSONObject();
jsonObject2.put("key_piece", "0xA80");
jsonObject2.put("source_keys", new JSONArray(Arrays.asList("geoValue", "noMatch")));
- jsonObject1.put("serving_adtech_network", createServingAdtechNetworkJSONObject());
triggerDatas.put(jsonObject1);
triggerDatas.put(jsonObject2);
@@ -451,14 +377,6 @@
assertTrue(aggregateTrigger.getTriggerData().get(0).getNotFilterSet().isPresent());
assertEquals(aggregateTrigger.getTriggerData().get(0).getNotFilterSet().get()
.get(0).getAttributionFilterMap().size(), 2);
- assertEquals(
- aggregateTrigger
- .getTriggerData()
- .get(0)
- .getServingAdtechNetwork()
- .getOffset()
- .longValue(),
- 10L);
assertEquals(aggregateTrigger.getTriggerData().get(1).getKey().intValue(), 2688);
assertEquals(aggregateTrigger.getTriggerData().get(1).getSourceKeys().size(), 2);
assertTrue(aggregateTrigger.getTriggerData().get(1).getSourceKeys().contains("geoValue"));
@@ -466,14 +384,6 @@
assertEquals(aggregateTrigger.getValues().size(), 2);
assertEquals(aggregateTrigger.getValues().get("campaignCounts").intValue(), 32768);
assertEquals(aggregateTrigger.getValues().get("geoValue").intValue(), 1664);
- assertEquals(
- aggregateTrigger
- .getTriggerData()
- .get(0)
- .getServingAdtechNetwork()
- .getOffset()
- .longValue(),
- 10L);
assertTrue(aggregateTrigger.getAggregateDeduplicationKeys().isPresent());
assertEquals(aggregateTrigger.getAggregateDeduplicationKeys().get().size(), 2);
assertEquals(
@@ -699,84 +609,6 @@
assertEquals(Arrays.asList(eventTrigger1, eventTrigger2), actualEventTriggers);
}
- @Test
- public void parseAttributionConfig_nonEmpty_parseSuccess() throws JSONException {
- Pair<Long, Long> sourcePriorityRange = new Pair<>(100L, 1000L);
-
- JSONObject sourceFiltersMap = new JSONObject();
- sourceFiltersMap.put("campaign_type", new JSONArray(Arrays.asList("install")));
- sourceFiltersMap.put("source_type", new JSONArray(Arrays.asList("navigation")));
- FilterMap sourceFilters = new FilterMap.Builder().buildFilterData(sourceFiltersMap).build();
-
- JSONObject sourceNotFiltersMap = new JSONObject();
- sourceNotFiltersMap.put("campaign_type", new JSONArray(Arrays.asList("product")));
- FilterMap sourceNotFilters =
- new FilterMap.Builder().buildFilterData(sourceNotFiltersMap).build();
-
- JSONObject filterDataMap = new JSONObject();
- filterDataMap.put("campaign_type", new JSONArray(Arrays.asList("install")));
- FilterMap filterData = new FilterMap.Builder().buildFilterData(filterDataMap).build();
-
- Trigger trigger =
- TriggerFixture.getValidTriggerBuilder()
- .setId("triggerId1")
- .setStatus(Trigger.Status.PENDING)
- .setAttributionConfig(createAttributionConfigJSONArray().toString())
- .build();
-
- AttributionConfig attributionConfig1 =
- new AttributionConfig.Builder()
- .setSourceAdtech("AdTech1-Ads")
- .setSourcePriorityRange(sourcePriorityRange)
- .setSourceFilters(List.of(sourceFilters))
- .setSourceNotFilters(List.of(sourceNotFilters))
- .setSourceExpiryOverride(600000L)
- .setPriority(99L)
- .setExpiry(604800L)
- .setFilterData(List.of(filterData))
- .setPostInstallExclusivityWindow(100000L)
- .build();
-
- AttributionConfig attributionConfig2 =
- new AttributionConfig.Builder()
- .setSourceAdtech("AdTech2-Ads")
- .setSourcePriorityRange(sourcePriorityRange)
- .setSourceFilters(List.of(sourceFilters))
- .setSourceNotFilters(List.of(sourceNotFilters))
- .setSourceExpiryOverride(600000L)
- .setPriority(99L)
- .setExpiry(604800L)
- .setFilterData(List.of(filterData))
- .setPostInstallExclusivityWindow(100000L)
- .build();
-
- // Action
- List<AttributionConfig> actualAttributionConfigs = trigger.parseAttributionConfigs();
-
- // Assertion
- assertEquals(
- Arrays.asList(attributionConfig1, attributionConfig2), actualAttributionConfigs);
- }
-
- @Test
- public void parseAdtechBitMapping_nonEmpty_parseSuccess() throws JSONException {
- Trigger trigger =
- TriggerFixture.getValidTriggerBuilder()
- .setId("triggerId1")
- .setStatus(Trigger.Status.PENDING)
- .setAdtechBitMapping(
- "{\"AdTechA-enrollment_id\": \"0x1\","
- + "\"AdTechB-enrollment_id\": \"0x2\"}")
- .build();
-
- Map<String, BigInteger> adtechMapping = trigger.parseAdtechBitMapping();
- assertEquals(adtechMapping.size(), 2);
- BigInteger adtechBit1 = new BigInteger("1", 16);
- BigInteger adtechBit2 = new BigInteger("2", 16);
- assertEquals(adtechMapping.get("AdTechA-enrollment_id"), adtechBit1);
- assertEquals(adtechMapping.get("AdTechB-enrollment_id"), adtechBit2);
- }
-
private void assertInvalidTriggerArguments(
Uri attributionDestination,
String enrollmentId,
@@ -787,9 +619,7 @@
String aggregateValues,
String filters,
String notFilters,
- UnsignedLong debugKey,
- String mAttributionConfig,
- String mAdtechBitMapping) {
+ UnsignedLong debugKey) {
assertThrows(
IllegalArgumentException.class,
() ->
@@ -804,8 +634,6 @@
.setFilters(filters)
.setNotFilters(notFilters)
.setDebugKey(debugKey)
- .setAttributionConfig(mAttributionConfig)
- .setAdtechBitMapping(mAdtechBitMapping)
.build());
}
@@ -818,45 +646,4 @@
filterSet.put(filterMap);
return filterSet;
}
-
- private JSONObject createServingAdtechNetworkJSONObject() throws JSONException {
- JSONObject servingAdtechNetwork = new JSONObject();
- servingAdtechNetwork.put("offset", 10L);
- return servingAdtechNetwork;
- }
-
- private JSONArray createAttributionConfigJSONArray() throws JSONException {
- JSONArray attributionConfigList = new JSONArray();
- List<String> adtechIds = new ArrayList<>(Arrays.asList("AdTech1-Ads", "AdTech2-Ads"));
- for (String adtechId : adtechIds) {
- JSONObject attributionConfig = new JSONObject();
- attributionConfig.put("source_adtech", adtechId);
- JSONObject sourcePriorityRange = new JSONObject();
- sourcePriorityRange.put("start", 100L);
- sourcePriorityRange.put("end", 1000L);
- attributionConfig.put("source_priority_range", sourcePriorityRange);
- JSONObject sourceFilters = new JSONObject();
- sourceFilters.put("campaign_type", new JSONArray(Arrays.asList("install")));
- sourceFilters.put("source_type", new JSONArray(Arrays.asList("navigation")));
- JSONArray sourceFilterSet = new JSONArray();
- sourceFilterSet.put(sourceFilters);
- attributionConfig.put("source_filters", sourceFilterSet);
- JSONObject sourceNotFilters = new JSONObject();
- sourceNotFilters.put("campaign_type", new JSONArray(Arrays.asList("product")));
- JSONArray sourceNotFilterSet = new JSONArray();
- sourceNotFilterSet.put(sourceNotFilters);
- attributionConfig.put("source_not_filters", sourceNotFilterSet);
- attributionConfig.put("source_expiry_override", 600000L);
- attributionConfig.put("priority", 99L);
- attributionConfig.put("expiry", 604800L);
- JSONObject filterData = new JSONObject();
- filterData.put("campaign_type", new JSONArray(Arrays.asList("install")));
- JSONArray filterDataSet = new JSONArray();
- filterDataSet.put(filterData);
- attributionConfig.put("filter_data", filterDataSet);
- attributionConfig.put("post_install_exclusivity_window", 100000L);
- attributionConfigList.put(attributionConfig);
- }
- return attributionConfigList;
- }
}