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
This commit is contained in:
Elliot Sisteron
2023-05-10 13:41:51 +00:00
parent d865ccc2ed
commit d86c590440
3 changed files with 52 additions and 32 deletions

View File

@@ -59,8 +59,10 @@ public class PrivacyDashboardFragment extends DashboardFragment {
SafetyCenterUtils.getEnterpriseOverrideStringForPrivacyEntries(); SafetyCenterUtils.getEnterpriseOverrideStringForPrivacyEntries();
for (int i = 0; i < privacyOverrideStrings.size(); i++) { for (int i = 0; i < privacyOverrideStrings.size(); i++) {
EnterpriseOverrideString overrideString = privacyOverrideStrings.get(i); EnterpriseOverrideString overrideString = privacyOverrideStrings.get(i);
replaceEnterpriseStringTitle(overrideString.getPreferenceKey(), replaceEnterpriseStringTitle(
overrideString.getOverrideKey(), overrideString.getResource()); overrideString.getPreferenceKey(),
overrideString.getOverrideKey(),
overrideString.getResource());
} }
} }
@@ -93,7 +95,9 @@ public class PrivacyDashboardFragment extends DashboardFragment {
@Override @Override
public List<SearchIndexableResource> getXmlResourcesToIndex( public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) { 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 null;
} }
return super.getXmlResourcesToIndex(context, enabled); return super.getXmlResourcesToIndex(context, enabled);
@@ -120,5 +124,10 @@ public class PrivacyDashboardFragment extends DashboardFragment {
keys.add(KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS); keys.add(KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS);
return keys; return keys;
} }
@Override
protected boolean isPageSearchEnabled(Context context) {
return !SafetyCenterManagerWrapper.get().isEnabled(context);
}
}; };
} }

View File

@@ -77,21 +77,23 @@ public class MoreSecurityPrivacyFragment extends DashboardFragment {
SafetyCenterUtils.getEnterpriseOverrideStringForPrivacyEntries(); SafetyCenterUtils.getEnterpriseOverrideStringForPrivacyEntries();
for (int i = 0; i < privacyOverrideStrings.size(); i++) { for (int i = 0; i < privacyOverrideStrings.size(); i++) {
EnterpriseOverrideString overrideString = privacyOverrideStrings.get(i); EnterpriseOverrideString overrideString = privacyOverrideStrings.get(i);
replaceEnterpriseStringTitle(overrideString.getPreferenceKey(), replaceEnterpriseStringTitle(
overrideString.getOverrideKey(), overrideString.getResource()); overrideString.getPreferenceKey(),
overrideString.getOverrideKey(),
overrideString.getResource());
} }
List<EnterpriseOverrideString> securityOverrideStrings = List<EnterpriseOverrideString> securityOverrideStrings =
SafetyCenterUtils.getEnterpriseOverrideStringForSecurityEntries(); SafetyCenterUtils.getEnterpriseOverrideStringForSecurityEntries();
for (int i = 0; i < securityOverrideStrings.size(); i++) { for (int i = 0; i < securityOverrideStrings.size(); i++) {
EnterpriseOverrideString overrideString = securityOverrideStrings.get(i); EnterpriseOverrideString overrideString = securityOverrideStrings.get(i);
replaceEnterpriseStringTitle(overrideString.getPreferenceKey(), replaceEnterpriseStringTitle(
overrideString.getOverrideKey(), overrideString.getResource()); overrideString.getPreferenceKey(),
overrideString.getOverrideKey(),
overrideString.getResource());
} }
} }
/** /** see confirmPatternThenDisableAndClear */
* see confirmPatternThenDisableAndClear
*/
@Override @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) { public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (use(TrustAgentListPreferenceController.class) if (use(TrustAgentListPreferenceController.class)
@@ -117,10 +119,8 @@ public class MoreSecurityPrivacyFragment extends DashboardFragment {
controllers.addAll( controllers.addAll(
SafetyCenterUtils.getControllersForAdvancedSecurity(context, lifecycle, host)); SafetyCenterUtils.getControllersForAdvancedSecurity(context, lifecycle, host));
return controllers; return controllers;
} }
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider(R.xml.more_security_privacy_settings) { new BaseSearchIndexProvider(R.xml.more_security_privacy_settings) {
/** /**
@@ -130,7 +130,9 @@ public class MoreSecurityPrivacyFragment extends DashboardFragment {
@Override @Override
public List<SearchIndexableResource> getXmlResourcesToIndex( public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) { 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 null;
} }
return super.getXmlResourcesToIndex(context, enabled); return super.getXmlResourcesToIndex(context, enabled);
@@ -157,5 +159,10 @@ public class MoreSecurityPrivacyFragment extends DashboardFragment {
keys.add(KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS); keys.add(KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS);
return keys; return keys;
} }
@Override
protected boolean isPageSearchEnabled(Context context) {
return SafetyCenterManagerWrapper.get().isEnabled(context);
}
}; };
} }

View File

@@ -58,8 +58,10 @@ public class SecurityAdvancedSettings extends DashboardFragment {
SafetyCenterUtils.getEnterpriseOverrideStringForSecurityEntries(); SafetyCenterUtils.getEnterpriseOverrideStringForSecurityEntries();
for (int i = 0; i < securityOverrideStrings.size(); i++) { for (int i = 0; i < securityOverrideStrings.size(); i++) {
EnterpriseOverrideString overrideString = securityOverrideStrings.get(i); EnterpriseOverrideString overrideString = securityOverrideStrings.get(i);
replaceEnterpriseStringTitle(overrideString.getPreferenceKey(), replaceEnterpriseStringTitle(
overrideString.getOverrideKey(), overrideString.getResource()); overrideString.getPreferenceKey(),
overrideString.getOverrideKey(),
overrideString.getResource());
} }
} }
@@ -77,8 +79,7 @@ public class SecurityAdvancedSettings extends DashboardFragment {
return CategoryKey.CATEGORY_SECURITY_ADVANCED_SETTINGS; return CategoryKey.CATEGORY_SECURITY_ADVANCED_SETTINGS;
} else { } else {
final SecuritySettingsFeatureProvider securitySettingsFeatureProvider = final SecuritySettingsFeatureProvider securitySettingsFeatureProvider =
FeatureFactory.getFactory(context) FeatureFactory.getFactory(context).getSecuritySettingsFeatureProvider();
.getSecuritySettingsFeatureProvider();
if (securitySettingsFeatureProvider.hasAlternativeSecuritySettingsFragment()) { if (securitySettingsFeatureProvider.hasAlternativeSecuritySettingsFragment()) {
return securitySettingsFeatureProvider.getAlternativeAdvancedSettingsCategoryKey(); return securitySettingsFeatureProvider.getAlternativeAdvancedSettingsCategoryKey();
@@ -103,9 +104,7 @@ public class SecurityAdvancedSettings extends DashboardFragment {
return buildPreferenceControllers(context, getSettingsLifecycle(), this /* host*/); return buildPreferenceControllers(context, getSettingsLifecycle(), this /* host*/);
} }
/** /** see confirmPatternThenDisableAndClear */
* see confirmPatternThenDisableAndClear
*/
@Override @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) { public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (use(TrustAgentListPreferenceController.class) if (use(TrustAgentListPreferenceController.class)
@@ -119,14 +118,12 @@ public class SecurityAdvancedSettings extends DashboardFragment {
super.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data);
} }
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context, private static List<AbstractPreferenceController> buildPreferenceControllers(
Lifecycle lifecycle, DashboardFragment host) { Context context, Lifecycle lifecycle, DashboardFragment host) {
return SafetyCenterUtils.getControllersForAdvancedSecurity(context, lifecycle, 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 = public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider(R.xml.security_advanced_settings) { new BaseSearchIndexProvider(R.xml.security_advanced_settings) {
/** /**
@@ -134,19 +131,26 @@ public class SecurityAdvancedSettings extends DashboardFragment {
* page, and we don't want to index these entries. * page, and we don't want to index these entries.
*/ */
@Override @Override
public List<SearchIndexableResource> getXmlResourcesToIndex(Context context, public List<SearchIndexableResource> getXmlResourcesToIndex(
boolean enabled) { 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 null;
} }
return super.getXmlResourcesToIndex(context, enabled); return super.getXmlResourcesToIndex(context, enabled);
} }
@Override @Override
public List<AbstractPreferenceController> createPreferenceControllers(Context public List<AbstractPreferenceController> createPreferenceControllers(
context) { Context context) {
return buildPreferenceControllers(context, null /* lifecycle */, return buildPreferenceControllers(
null /* host*/); context, null /* lifecycle */, null /* host*/);
}
@Override
protected boolean isPageSearchEnabled(Context context) {
return !SafetyCenterManagerWrapper.get().isEnabled(context);
} }
}; };
} }