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);
}
};
}