Remove search entries from old pages when SC is on.

There was already some code to guard this, but this wasn't overriding
the `isPageSearchEnabled` as well to support dynamic indexing.

Bug: 280596858
Test: manual
Change-Id: If4793d9fa2a7d68eac78258c18d04e9fb7d8fcea
diff --git a/src/com/android/settings/privacy/PrivacyDashboardFragment.java b/src/com/android/settings/privacy/PrivacyDashboardFragment.java
index 19683b8..4d76277 100644
--- a/src/com/android/settings/privacy/PrivacyDashboardFragment.java
+++ b/src/com/android/settings/privacy/PrivacyDashboardFragment.java
@@ -59,8 +59,10 @@
                 SafetyCenterUtils.getEnterpriseOverrideStringForPrivacyEntries();
         for (int i = 0; i < privacyOverrideStrings.size(); i++) {
             EnterpriseOverrideString overrideString = privacyOverrideStrings.get(i);
-            replaceEnterpriseStringTitle(overrideString.getPreferenceKey(),
-                    overrideString.getOverrideKey(), overrideString.getResource());
+            replaceEnterpriseStringTitle(
+                    overrideString.getPreferenceKey(),
+                    overrideString.getOverrideKey(),
+                    overrideString.getResource());
         }
     }
 
@@ -93,7 +95,9 @@
                 @Override
                 public List<SearchIndexableResource> getXmlResourcesToIndex(
                         Context context, boolean enabled) {
-                    if (SafetyCenterManagerWrapper.get().isEnabled(context)) {
+                    // NOTE: This check likely should be moved to the super method. This is done
+                    // here to avoid potentially undesired side effects for existing implementors.
+                    if (!isPageSearchEnabled(context)) {
                         return null;
                     }
                     return super.getXmlResourcesToIndex(context, enabled);
@@ -120,5 +124,10 @@
                     keys.add(KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS);
                     return keys;
                 }
+
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    return !SafetyCenterManagerWrapper.get().isEnabled(context);
+                }
             };
 }
diff --git a/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java b/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java
index 3eb6102..69ec385 100644
--- a/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java
+++ b/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java
@@ -77,21 +77,23 @@
                 SafetyCenterUtils.getEnterpriseOverrideStringForPrivacyEntries();
         for (int i = 0; i < privacyOverrideStrings.size(); i++) {
             EnterpriseOverrideString overrideString = privacyOverrideStrings.get(i);
-            replaceEnterpriseStringTitle(overrideString.getPreferenceKey(),
-                    overrideString.getOverrideKey(), overrideString.getResource());
+            replaceEnterpriseStringTitle(
+                    overrideString.getPreferenceKey(),
+                    overrideString.getOverrideKey(),
+                    overrideString.getResource());
         }
         List<EnterpriseOverrideString> securityOverrideStrings =
                 SafetyCenterUtils.getEnterpriseOverrideStringForSecurityEntries();
         for (int i = 0; i < securityOverrideStrings.size(); i++) {
             EnterpriseOverrideString overrideString = securityOverrideStrings.get(i);
-            replaceEnterpriseStringTitle(overrideString.getPreferenceKey(),
-                    overrideString.getOverrideKey(), overrideString.getResource());
+            replaceEnterpriseStringTitle(
+                    overrideString.getPreferenceKey(),
+                    overrideString.getOverrideKey(),
+                    overrideString.getResource());
         }
     }
 
-    /**
-     * see confirmPatternThenDisableAndClear
-     */
+    /** see confirmPatternThenDisableAndClear */
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (use(TrustAgentListPreferenceController.class)
@@ -117,10 +119,8 @@
         controllers.addAll(
                 SafetyCenterUtils.getControllersForAdvancedSecurity(context, lifecycle, host));
         return controllers;
-
     }
 
-
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider(R.xml.more_security_privacy_settings) {
                 /**
@@ -130,7 +130,9 @@
                 @Override
                 public List<SearchIndexableResource> getXmlResourcesToIndex(
                         Context context, boolean enabled) {
-                    if (!SafetyCenterManagerWrapper.get().isEnabled(context)) {
+                    // NOTE: This check likely should be moved to the super method. This is done
+                    // here to avoid potentially undesired side effects for existing implementors.
+                    if (!isPageSearchEnabled(context)) {
                         return null;
                     }
                     return super.getXmlResourcesToIndex(context, enabled);
@@ -157,5 +159,10 @@
                     keys.add(KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS);
                     return keys;
                 }
+
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    return SafetyCenterManagerWrapper.get().isEnabled(context);
+                }
             };
 }
diff --git a/src/com/android/settings/security/SecurityAdvancedSettings.java b/src/com/android/settings/security/SecurityAdvancedSettings.java
index b2b2782..61f0975 100644
--- a/src/com/android/settings/security/SecurityAdvancedSettings.java
+++ b/src/com/android/settings/security/SecurityAdvancedSettings.java
@@ -58,8 +58,10 @@
                 SafetyCenterUtils.getEnterpriseOverrideStringForSecurityEntries();
         for (int i = 0; i < securityOverrideStrings.size(); i++) {
             EnterpriseOverrideString overrideString = securityOverrideStrings.get(i);
-            replaceEnterpriseStringTitle(overrideString.getPreferenceKey(),
-                    overrideString.getOverrideKey(), overrideString.getResource());
+            replaceEnterpriseStringTitle(
+                    overrideString.getPreferenceKey(),
+                    overrideString.getOverrideKey(),
+                    overrideString.getResource());
         }
     }
 
@@ -77,8 +79,7 @@
             return CategoryKey.CATEGORY_SECURITY_ADVANCED_SETTINGS;
         } else {
             final SecuritySettingsFeatureProvider securitySettingsFeatureProvider =
-                    FeatureFactory.getFactory(context)
-                            .getSecuritySettingsFeatureProvider();
+                    FeatureFactory.getFactory(context).getSecuritySettingsFeatureProvider();
 
             if (securitySettingsFeatureProvider.hasAlternativeSecuritySettingsFragment()) {
                 return securitySettingsFeatureProvider.getAlternativeAdvancedSettingsCategoryKey();
@@ -103,9 +104,7 @@
         return buildPreferenceControllers(context, getSettingsLifecycle(), this /* host*/);
     }
 
-    /**
-     * see confirmPatternThenDisableAndClear
-     */
+    /** see confirmPatternThenDisableAndClear */
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (use(TrustAgentListPreferenceController.class)
@@ -119,14 +118,12 @@
         super.onActivityResult(requestCode, resultCode, data);
     }
 
-    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
-            Lifecycle lifecycle, DashboardFragment host) {
+    private static List<AbstractPreferenceController> buildPreferenceControllers(
+            Context context, Lifecycle lifecycle, DashboardFragment host) {
         return SafetyCenterUtils.getControllersForAdvancedSecurity(context, lifecycle, host);
     }
 
-    /**
-     * For Search. Please keep it in sync when updating "createPreferenceHierarchy()"
-     */
+    /** For Search. Please keep it in sync when updating "createPreferenceHierarchy()" */
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider(R.xml.security_advanced_settings) {
                 /**
@@ -134,19 +131,26 @@
                  * page, and we don't want to index these entries.
                  */
                 @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    if (SafetyCenterManagerWrapper.get().isEnabled(context)) {
+                public List<SearchIndexableResource> getXmlResourcesToIndex(
+                        Context context, boolean enabled) {
+                    // NOTE: This check likely should be moved to the super method. This is done
+                    // here to avoid potentially undesired side effects for existing implementors.
+                    if (!isPageSearchEnabled(context)) {
                         return null;
                     }
                     return super.getXmlResourcesToIndex(context, enabled);
                 }
 
                 @Override
-                public List<AbstractPreferenceController> createPreferenceControllers(Context
-                        context) {
-                    return buildPreferenceControllers(context, null /* lifecycle */,
-                            null /* host*/);
+                public List<AbstractPreferenceController> createPreferenceControllers(
+                        Context context) {
+                    return buildPreferenceControllers(
+                            context, null /* lifecycle */, null /* host*/);
+                }
+
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    return !SafetyCenterManagerWrapper.get().isEnabled(context);
                 }
             };
 }