From d86c5904401ae13b034f45a9d0ed7aa55d381018 Mon Sep 17 00:00:00 2001 From: Elliot Sisteron Date: Wed, 10 May 2023 13:41:51 +0000 Subject: [PATCH] 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 --- .../privacy/PrivacyDashboardFragment.java | 15 +++++-- .../MoreSecurityPrivacyFragment.java | 27 +++++++----- .../security/SecurityAdvancedSettings.java | 42 ++++++++++--------- 3 files changed, 52 insertions(+), 32 deletions(-) diff --git a/src/com/android/settings/privacy/PrivacyDashboardFragment.java b/src/com/android/settings/privacy/PrivacyDashboardFragment.java index 19683b85b6d..4d762776a6a 100644 --- a/src/com/android/settings/privacy/PrivacyDashboardFragment.java +++ b/src/com/android/settings/privacy/PrivacyDashboardFragment.java @@ -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 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); + } }; } diff --git a/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java b/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java index 3eb61024239..69ec385f79c 100644 --- a/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java +++ b/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java @@ -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 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 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); + } }; } diff --git a/src/com/android/settings/security/SecurityAdvancedSettings.java b/src/com/android/settings/security/SecurityAdvancedSettings.java index b2b2782f3d0..61f0975e306 100644 --- a/src/com/android/settings/security/SecurityAdvancedSettings.java +++ b/src/com/android/settings/security/SecurityAdvancedSettings.java @@ -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 buildPreferenceControllers(Context context, - Lifecycle lifecycle, DashboardFragment host) { + private static List 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 getXmlResourcesToIndex(Context context, - boolean enabled) { - if (SafetyCenterManagerWrapper.get().isEnabled(context)) { + public List 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 createPreferenceControllers(Context - context) { - return buildPreferenceControllers(context, null /* lifecycle */, - null /* host*/); + public List createPreferenceControllers( + Context context) { + return buildPreferenceControllers( + context, null /* lifecycle */, null /* host*/); + } + + @Override + protected boolean isPageSearchEnabled(Context context) { + return !SafetyCenterManagerWrapper.get().isEnabled(context); } }; }