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();
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 @@ public class PrivacyDashboardFragment extends DashboardFragment {
@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 @@ public class PrivacyDashboardFragment extends DashboardFragment {
keys.add(KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS);
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();
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 @@ public class MoreSecurityPrivacyFragment extends DashboardFragment {
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 @@ public class MoreSecurityPrivacyFragment extends DashboardFragment {
@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 @@ public class MoreSecurityPrivacyFragment extends DashboardFragment {
keys.add(KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS);
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();
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 @@ public class SecurityAdvancedSettings extends DashboardFragment {
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 @@ public class SecurityAdvancedSettings extends DashboardFragment {
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 @@ public class SecurityAdvancedSettings extends DashboardFragment {
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 @@ public class SecurityAdvancedSettings extends DashboardFragment {
* 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);
}
};
}