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(