summaryrefslogtreecommitdiff
path: root/adservices/service-core/java/com/android/adservices/service/measurement/reporting/EventReportWindowCalcDelegate.java
diff options
context:
space:
mode:
authorAbhimanyu <abmehta@google.com>2023-05-16 07:21:59 +0000
committerAbhimanyu <abmehta@google.com>2023-05-18 23:45:43 +0000
commit67f81dc7d400b24192bbbaa17a5dc49f303a412b (patch)
treeb26d776900926df7d9fe5dc4cdbe7ee4d0aa89c0 /adservices/service-core/java/com/android/adservices/service/measurement/reporting/EventReportWindowCalcDelegate.java
parent1e8cc3a1fb63a3e47ed3a98544dea7aac78e158e (diff)
downloadAdServices-67f81dc7d400b24192bbbaa17a5dc49f303a412b.tar.gz
Dynamic noising calculations based on event reporting windows
Details: Implemented the formula from https://github.com/WICG/attribution-reporting-api/blob/main/EVENT.md#differential-privacy. Bug: 282881409 Test: atest AdServicesServiceCoreUnitTests Change-Id: Ie5e91ba9676479519fbeaf70a884b2f73413fcfc
Diffstat (limited to 'adservices/service-core/java/com/android/adservices/service/measurement/reporting/EventReportWindowCalcDelegate.java')
-rw-r--r--adservices/service-core/java/com/android/adservices/service/measurement/reporting/EventReportWindowCalcDelegate.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/adservices/service-core/java/com/android/adservices/service/measurement/reporting/EventReportWindowCalcDelegate.java b/adservices/service-core/java/com/android/adservices/service/measurement/reporting/EventReportWindowCalcDelegate.java
index f1ccb28c82..b14d447960 100644
--- a/adservices/service-core/java/com/android/adservices/service/measurement/reporting/EventReportWindowCalcDelegate.java
+++ b/adservices/service-core/java/com/android/adservices/service/measurement/reporting/EventReportWindowCalcDelegate.java
@@ -111,7 +111,8 @@ public class EventReportWindowCalcDelegate {
}
/**
- * Returns event reporting windows count for noising cases.
+ * Returns effective, i.e. the ones that occur before {@link Source#getEventReportWindow()},
+ * event reporting windows count for noising cases.
*
* @param source source for which the count is requested
* @param isInstallCase true of cooldown window was specified
@@ -137,6 +138,13 @@ public class EventReportWindowCalcDelegate {
return destinationType == EventSurfaceType.APP && source.isInstallAttributed();
}
+ /**
+ * If the flag is enabled and the specified report windows are valid, picks from flag controlled
+ * configurable early reporting windows. Otherwise, falls back to the statical {@link
+ * com.android.adservices.service.measurement.PrivacyParams} values. It curtails the windows
+ * that occur after {@link Source#getEventReportWindow()} because they would effectively be
+ * unusable.
+ */
private List<Long> getEarlyReportingWindows(Source source, boolean installState) {
List<Long> earlyWindows;
List<Long> defaultEarlyWindows = getDefaultEarlyReportingWindows(source, installState);