diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java index 8c97f0244a7..278ede4b2e8 100644 --- a/src/com/android/settings/SettingsPreferenceFragment.java +++ b/src/com/android/settings/SettingsPreferenceFragment.java @@ -737,7 +737,7 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF overrideKey, () -> getString(resource))); } - protected void replaceEnterpriseStringSummary( + public void replaceEnterpriseStringSummary( String preferenceKey, String overrideKey, int resource) { Preference preference = findPreference(preferenceKey); if (preference == null) { @@ -750,7 +750,7 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF () -> getString(resource))); } - protected void replaceEnterpriseStringTitle( + public void replaceEnterpriseStringTitle( String preferenceKey, String overrideKey, int resource) { Preference preference = findPreference(preferenceKey); if (preference == null) { diff --git a/src/com/android/settings/privacy/PrivacyDashboardFragment.java b/src/com/android/settings/privacy/PrivacyDashboardFragment.java index 4d762776a6a..04b10d2f3d1 100644 --- a/src/com/android/settings/privacy/PrivacyDashboardFragment.java +++ b/src/com/android/settings/privacy/PrivacyDashboardFragment.java @@ -28,7 +28,6 @@ import com.android.settings.Utils; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.safetycenter.SafetyCenterManagerWrapper; import com.android.settings.safetycenter.SafetyCenterUtils; -import com.android.settings.safetycenter.SafetyCenterUtils.EnterpriseOverrideString; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.Lifecycle; @@ -55,15 +54,7 @@ public class PrivacyDashboardFragment extends DashboardFragment { @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); - List privacyOverrideStrings = - SafetyCenterUtils.getEnterpriseOverrideStringForPrivacyEntries(); - for (int i = 0; i < privacyOverrideStrings.size(); i++) { - EnterpriseOverrideString overrideString = privacyOverrideStrings.get(i); - replaceEnterpriseStringTitle( - overrideString.getPreferenceKey(), - overrideString.getOverrideKey(), - overrideString.getResource()); - } + SafetyCenterUtils.replaceEnterpriseStringsForPrivacyEntries(this); } @Override diff --git a/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java b/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java index 69ec385f79c..34f8a535502 100644 --- a/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java +++ b/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java @@ -27,7 +27,6 @@ import android.provider.SearchIndexableResource; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.dashboard.DashboardFragment; -import com.android.settings.safetycenter.SafetyCenterUtils.EnterpriseOverrideString; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.security.LockUnificationPreferenceController; import com.android.settings.security.trustagent.TrustAgentListPreferenceController; @@ -73,24 +72,8 @@ public class MoreSecurityPrivacyFragment extends DashboardFragment { @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); - List privacyOverrideStrings = - SafetyCenterUtils.getEnterpriseOverrideStringForPrivacyEntries(); - for (int i = 0; i < privacyOverrideStrings.size(); i++) { - EnterpriseOverrideString overrideString = privacyOverrideStrings.get(i); - 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()); - } + SafetyCenterUtils.replaceEnterpriseStringsForPrivacyEntries(this); + SafetyCenterUtils.replaceEnterpriseStringsForSecurityEntries(this); } /** see confirmPatternThenDisableAndClear */ diff --git a/src/com/android/settings/safetycenter/SafetyCenterUtils.java b/src/com/android/settings/safetycenter/SafetyCenterUtils.java index 5becbf91450..e0665302fbb 100644 --- a/src/com/android/settings/safetycenter/SafetyCenterUtils.java +++ b/src/com/android/settings/safetycenter/SafetyCenterUtils.java @@ -28,7 +28,6 @@ import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROF import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_SET_UNLOCK_LAUNCH_PICKER_TITLE; import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_UNIFY_LOCKS_SUMMARY; -import android.annotation.StringRes; import android.content.Context; import com.android.settings.R; @@ -47,26 +46,31 @@ import com.android.settingslib.core.AbstractPreferenceController; import java.util.ArrayList; import java.util.List; -/** - * A class with helper method used in logic involving safety center. - */ +/** A class with helper method used in logic involving safety center. */ public final class SafetyCenterUtils { + private static final String WORK_PROFILE_SECURITY_CATEGORY = "work_profile_category"; + private static final String KEY_LOCK_SCREEN_NOTIFICATIONS = "privacy_lock_screen_notifications"; + private static final String KEY_WORK_PROFILE_CATEGORY = + "privacy_work_profile_notifications_category"; + private static final String KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS = + "privacy_lock_screen_work_profile_notifications"; + /** - * Returns preference controllers related to advanced security entries. - * This is used in {@link MoreSecurityPrivacyFragment} and - * {@link com.android.settings.security.SecurityAdvancedSettings}. + * Returns preference controllers related to advanced security entries. This is used in {@link + * MoreSecurityPrivacyFragment} and {@link + * com.android.settings.security.SecurityAdvancedSettings}. */ public static List getControllersForAdvancedSecurity( Context context, - com.android.settingslib.core.lifecycle.Lifecycle lifecycle, DashboardFragment host) { - final String WORK_PROFILE_SECURITY_CATEGORY = "work_profile_category"; + com.android.settingslib.core.lifecycle.Lifecycle lifecycle, + DashboardFragment host) { final List controllers = new ArrayList<>(); controllers.add(new TrustAgentListPreferenceController(context, host, lifecycle)); final List profileSecurityControllers = new ArrayList<>(); - profileSecurityControllers.add(new ChangeProfileScreenLockPreferenceController( - context, host)); + profileSecurityControllers.add( + new ChangeProfileScreenLockPreferenceController(context, host)); profileSecurityControllers.add(new LockUnificationPreferenceController(context, host)); profileSecurityControllers.add(new FaceProfileStatusPreferenceController( context, lifecycle)); @@ -81,19 +85,15 @@ public final class SafetyCenterUtils { } /** - * Returns preference controllers for advanced privacy entries. - * This is used in {@link MoreSecurityPrivacyFragment} and {@link PrivacyDashboardFragment}. + * Returns preference controllers for advanced privacy entries. This is used in {@link + * MoreSecurityPrivacyFragment} and {@link PrivacyDashboardFragment}. */ public static List getControllersForAdvancedPrivacy( Context context, com.android.settingslib.core.lifecycle.Lifecycle lifecycle) { - final String KEY_LOCK_SCREEN_NOTIFICATIONS = "privacy_lock_screen_notifications"; - final String KEY_WORK_PROFILE_CATEGORY = - "privacy_work_profile_notifications_category"; - final String KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS = - "privacy_lock_screen_work_profile_notifications"; final List controllers = new ArrayList<>(); final LockScreenNotificationPreferenceController notificationController = - new LockScreenNotificationPreferenceController(context, + new LockScreenNotificationPreferenceController( + context, KEY_LOCK_SCREEN_NOTIFICATIONS, KEY_WORK_PROFILE_CATEGORY, KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS); @@ -104,84 +104,54 @@ public final class SafetyCenterUtils { return controllers; } - /** - * A class that stores the resource that will be overridden using preferenceKey and overrideKey. - */ - public static final class EnterpriseOverrideString { - private final String mPreferenceKey; - private final String mOverrideKey; - @StringRes private final int mResource; - - public EnterpriseOverrideString( - String preferenceKey, - String overrideKey, - @StringRes int resource) { - this.mPreferenceKey = preferenceKey; - this.mOverrideKey = overrideKey; - this.mResource = resource; - } - - @StringRes - public int getResource() { - return mResource; - } - - public String getPreferenceKey() { - return mPreferenceKey; - } - - public String getOverrideKey() { - return mOverrideKey; - } - } - - /** - * Returns a list of @{EnterpriseOverrideString} for the privacy entries. - */ - public static List getEnterpriseOverrideStringForPrivacyEntries() { - List enterpriseOverrideStrings = new ArrayList<>(); - enterpriseOverrideStrings.add( - new EnterpriseOverrideString("privacy_lock_screen_work_profile_notifications", - WORK_PROFILE_LOCKED_NOTIFICATION_TITLE, - R.string.locked_work_profile_notification_title)); - enterpriseOverrideStrings.add( - new EnterpriseOverrideString("interact_across_profiles_privacy", - CONNECTED_WORK_AND_PERSONAL_APPS_TITLE, - R.string.interact_across_profiles_title)); - enterpriseOverrideStrings.add( - new EnterpriseOverrideString("privacy_work_profile_notifications_category", - WORK_PROFILE_NOTIFICATIONS_SECTION_HEADER, - R.string.profile_section_header)); - enterpriseOverrideStrings.add(new EnterpriseOverrideString("work_policy_info", - WORK_PROFILE_PRIVACY_POLICY_INFO, R.string.work_policy_privacy_settings)); - enterpriseOverrideStrings.add(new EnterpriseOverrideString("work_policy_info", + /** Replaces relevant strings with their enterprise variants for the privacy entries. */ + public static void replaceEnterpriseStringsForPrivacyEntries( + DashboardFragment dashboardFragment) { + dashboardFragment.replaceEnterpriseStringTitle( + "privacy_lock_screen_work_profile_notifications", + WORK_PROFILE_LOCKED_NOTIFICATION_TITLE, + R.string.locked_work_profile_notification_title); + dashboardFragment.replaceEnterpriseStringTitle( + "interact_across_profiles_privacy", + CONNECTED_WORK_AND_PERSONAL_APPS_TITLE, + R.string.interact_across_profiles_title); + dashboardFragment.replaceEnterpriseStringTitle( + "privacy_work_profile_notifications_category", + WORK_PROFILE_NOTIFICATIONS_SECTION_HEADER, + R.string.profile_section_header); + dashboardFragment.replaceEnterpriseStringTitle( + "work_policy_info", + WORK_PROFILE_PRIVACY_POLICY_INFO, + R.string.work_policy_privacy_settings); + dashboardFragment.replaceEnterpriseStringSummary( + "work_policy_info", WORK_PROFILE_PRIVACY_POLICY_INFO_SUMMARY, - R.string.work_policy_privacy_settings_summary)); - return enterpriseOverrideStrings; + R.string.work_policy_privacy_settings_summary); } - /** - * Returns a list of @{EnterpriseOverrideString} for the security entries. - */ - public static List getEnterpriseOverrideStringForSecurityEntries() { - List enterpriseOverrideStrings = new ArrayList<>(); - enterpriseOverrideStrings.add(new EnterpriseOverrideString("unlock_set_or_change_profile", + /** Replaces relevant strings with their enterprise variants for the security entries. */ + public static void replaceEnterpriseStringsForSecurityEntries( + DashboardFragment dashboardFragment) { + dashboardFragment.replaceEnterpriseStringTitle( + "unlock_set_or_change_profile", WORK_PROFILE_SET_UNLOCK_LAUNCH_PICKER_TITLE, - R.string.unlock_set_unlock_launch_picker_title_profile)); - enterpriseOverrideStrings.add(new EnterpriseOverrideString("unification", + R.string.unlock_set_unlock_launch_picker_title_profile); + dashboardFragment.replaceEnterpriseStringSummary( + "unification", WORK_PROFILE_UNIFY_LOCKS_SUMMARY, - R.string.lock_settings_profile_unification_summary)); - enterpriseOverrideStrings.add(new EnterpriseOverrideString("fingerprint_settings_profile", + R.string.lock_settings_profile_unification_summary); + dashboardFragment.replaceEnterpriseStringTitle( + "fingerprint_settings_profile", FINGERPRINT_FOR_WORK, - R.string.security_settings_work_fingerprint_preference_title)); - enterpriseOverrideStrings.add(new EnterpriseOverrideString("manage_device_admin", - MANAGE_DEVICE_ADMIN_APPS, R.string.manage_device_admin)); - enterpriseOverrideStrings.add(new EnterpriseOverrideString("security_category_profile", - WORK_PROFILE_SECURITY_TITLE, R.string.lock_settings_profile_title)); - enterpriseOverrideStrings.add( - new EnterpriseOverrideString("enterprise_privacy", MANAGED_DEVICE_INFO, - R.string.enterprise_privacy_settings)); - return enterpriseOverrideStrings; + R.string.security_settings_work_fingerprint_preference_title); + dashboardFragment.replaceEnterpriseStringTitle( + "manage_device_admin", MANAGE_DEVICE_ADMIN_APPS, R.string.manage_device_admin); + dashboardFragment.replaceEnterpriseStringTitle( + "security_category_profile", + WORK_PROFILE_SECURITY_TITLE, + R.string.lock_settings_profile_title); + dashboardFragment.replaceEnterpriseStringTitle( + "enterprise_privacy", MANAGED_DEVICE_INFO, R.string.enterprise_privacy_settings); } private SafetyCenterUtils() {} diff --git a/src/com/android/settings/security/SecurityAdvancedSettings.java b/src/com/android/settings/security/SecurityAdvancedSettings.java index 61f0975e306..23265a7d3f0 100644 --- a/src/com/android/settings/security/SecurityAdvancedSettings.java +++ b/src/com/android/settings/security/SecurityAdvancedSettings.java @@ -27,7 +27,6 @@ import com.android.settings.dashboard.DashboardFragment; import com.android.settings.overlay.FeatureFactory; import com.android.settings.safetycenter.SafetyCenterManagerWrapper; import com.android.settings.safetycenter.SafetyCenterUtils; -import com.android.settings.safetycenter.SafetyCenterUtils.EnterpriseOverrideString; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.security.trustagent.TrustAgentListPreferenceController; import com.android.settingslib.core.AbstractPreferenceController; @@ -54,15 +53,7 @@ public class SecurityAdvancedSettings extends DashboardFragment { @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); - List securityOverrideStrings = - SafetyCenterUtils.getEnterpriseOverrideStringForSecurityEntries(); - for (int i = 0; i < securityOverrideStrings.size(); i++) { - EnterpriseOverrideString overrideString = securityOverrideStrings.get(i); - replaceEnterpriseStringTitle( - overrideString.getPreferenceKey(), - overrideString.getOverrideKey(), - overrideString.getResource()); - } + SafetyCenterUtils.replaceEnterpriseStringsForSecurityEntries(this); } @Override