Making the enable_appsearch_consent_data flag process stable.
Test: atest ConsentManagerTest, manual
Bug: b/301603452
Change-Id: I7b520b90b9a2e0fc507fc2ced07e6458a6e055c5
diff --git a/adservices/service-core/java/com/android/adservices/service/consent/ConsentManager.java b/adservices/service-core/java/com/android/adservices/service/consent/ConsentManager.java
index ca9cf71..4a79a74 100644
--- a/adservices/service-core/java/com/android/adservices/service/consent/ConsentManager.java
+++ b/adservices/service-core/java/com/android/adservices/service/consent/ConsentManager.java
@@ -150,7 +150,8 @@
@NonNull UserProfileIdManager userProfileIdManager,
@NonNull UxStatesDao uxStatesDao,
@NonNull Flags flags,
- @Flags.ConsentSourceOfTruth int consentSourceOfTruth) {
+ @Flags.ConsentSourceOfTruth int consentSourceOfTruth,
+ boolean enableAppsearchConsentData) {
Objects.requireNonNull(topicsWorker);
Objects.requireNonNull(appConsentDao);
Objects.requireNonNull(measurementImpl);
@@ -165,7 +166,7 @@
Objects.requireNonNull(adServicesManager);
}
- if (flags.getEnableAppsearchConsentData()) {
+ if (enableAppsearchConsentData) {
Objects.requireNonNull(appSearchConsentManager);
}
@@ -217,7 +218,9 @@
StatsdAdServicesLogger.getInstance();
// Flag enable_appsearch_consent_data is true on S- and T+ only when we want to
// use AppSearch to write to or read from.
- if (FlagsFactory.getFlags().getEnableAppsearchConsentData()) {
+ boolean enableAppsearchConsentData =
+ FlagsFactory.getFlags().getEnableAppsearchConsentData();
+ if (enableAppsearchConsentData) {
appSearchConsentManager = AppSearchConsentManager.getInstance(context);
handleConsentMigrationFromAppSearchIfNeeded(
context,
@@ -252,7 +255,8 @@
// TODO(b/260601944): Remove Flag Instance.
UxStatesDao.getInstance(context),
FlagsFactory.getFlags(),
- consentSourceOfTruth);
+ consentSourceOfTruth,
+ enableAppsearchConsentData);
}
}
}
diff --git a/adservices/tests/unittest/service-core/src/com/android/adservices/service/consent/ConsentManagerTest.java b/adservices/tests/unittest/service-core/src/com/android/adservices/service/consent/ConsentManagerTest.java
index 6a2093f..92678d1 100644
--- a/adservices/tests/unittest/service-core/src/com/android/adservices/service/consent/ConsentManagerTest.java
+++ b/adservices/tests/unittest/service-core/src/com/android/adservices/service/consent/ConsentManagerTest.java
@@ -3316,7 +3316,8 @@
mUserProfileIdManagerMock,
mUxStatesDaoMock,
mMockFlags,
- Flags.PPAPI_ONLY);
+ Flags.PPAPI_ONLY,
+ true);
doNothing().when(mBlockedTopicsManagerMock).blockTopic(any());
doNothing().when(mBlockedTopicsManagerMock).unblockTopic(any());
// The actual usage is to invoke clearAllTopicsData() from TopicsWorker
@@ -3812,7 +3813,8 @@
mUserProfileIdManagerMock,
mUxStatesDaoMock,
mMockFlags,
- consentSourceOfTruth);
+ consentSourceOfTruth,
+ true);
}
private ConsentManager getSpiedConsentManagerForMigrationTesting(