Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d86c5904 authored by Elliot Sisteron's avatar Elliot Sisteron
Browse files

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
parent d865ccc2
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -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);
                }
            };
}
+17 −10
Original line number Diff line number Diff line
@@ -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);
                }
            };
}
+23 −19
Original line number Diff line number Diff line
@@ -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);
                }
            };
}