Fix entrerprise strings replacement for Safety Center.
In ag/20641184, it looks like we changed the behavior to only replace titles when in fact some strings were replacing the summary. This causes some entries to have the summary as the title instead. Bug: 283743216 Test: Manual Change-Id: I7157fd04c32eebd89bdb825ccc3e8ef73c9075bf
This commit is contained in:
@@ -737,7 +737,7 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF
|
|||||||
overrideKey, () -> getString(resource)));
|
overrideKey, () -> getString(resource)));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void replaceEnterpriseStringSummary(
|
public void replaceEnterpriseStringSummary(
|
||||||
String preferenceKey, String overrideKey, int resource) {
|
String preferenceKey, String overrideKey, int resource) {
|
||||||
Preference preference = findPreference(preferenceKey);
|
Preference preference = findPreference(preferenceKey);
|
||||||
if (preference == null) {
|
if (preference == null) {
|
||||||
@@ -750,7 +750,7 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF
|
|||||||
() -> getString(resource)));
|
() -> getString(resource)));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void replaceEnterpriseStringTitle(
|
public void replaceEnterpriseStringTitle(
|
||||||
String preferenceKey, String overrideKey, int resource) {
|
String preferenceKey, String overrideKey, int resource) {
|
||||||
Preference preference = findPreference(preferenceKey);
|
Preference preference = findPreference(preferenceKey);
|
||||||
if (preference == null) {
|
if (preference == null) {
|
||||||
|
@@ -28,7 +28,6 @@ import com.android.settings.Utils;
|
|||||||
import com.android.settings.dashboard.DashboardFragment;
|
import com.android.settings.dashboard.DashboardFragment;
|
||||||
import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
|
import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
|
||||||
import com.android.settings.safetycenter.SafetyCenterUtils;
|
import com.android.settings.safetycenter.SafetyCenterUtils;
|
||||||
import com.android.settings.safetycenter.SafetyCenterUtils.EnterpriseOverrideString;
|
|
||||||
import com.android.settings.search.BaseSearchIndexProvider;
|
import com.android.settings.search.BaseSearchIndexProvider;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
@@ -55,15 +54,7 @@ public class PrivacyDashboardFragment extends DashboardFragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle icicle) {
|
public void onCreate(Bundle icicle) {
|
||||||
super.onCreate(icicle);
|
super.onCreate(icicle);
|
||||||
List<EnterpriseOverrideString> privacyOverrideStrings =
|
SafetyCenterUtils.replaceEnterpriseStringsForPrivacyEntries(this);
|
||||||
SafetyCenterUtils.getEnterpriseOverrideStringForPrivacyEntries();
|
|
||||||
for (int i = 0; i < privacyOverrideStrings.size(); i++) {
|
|
||||||
EnterpriseOverrideString overrideString = privacyOverrideStrings.get(i);
|
|
||||||
replaceEnterpriseStringTitle(
|
|
||||||
overrideString.getPreferenceKey(),
|
|
||||||
overrideString.getOverrideKey(),
|
|
||||||
overrideString.getResource());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -27,7 +27,6 @@ import android.provider.SearchIndexableResource;
|
|||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.dashboard.DashboardFragment;
|
import com.android.settings.dashboard.DashboardFragment;
|
||||||
import com.android.settings.safetycenter.SafetyCenterUtils.EnterpriseOverrideString;
|
|
||||||
import com.android.settings.search.BaseSearchIndexProvider;
|
import com.android.settings.search.BaseSearchIndexProvider;
|
||||||
import com.android.settings.security.LockUnificationPreferenceController;
|
import com.android.settings.security.LockUnificationPreferenceController;
|
||||||
import com.android.settings.security.trustagent.TrustAgentListPreferenceController;
|
import com.android.settings.security.trustagent.TrustAgentListPreferenceController;
|
||||||
@@ -73,24 +72,8 @@ public class MoreSecurityPrivacyFragment extends DashboardFragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle icicle) {
|
public void onCreate(Bundle icicle) {
|
||||||
super.onCreate(icicle);
|
super.onCreate(icicle);
|
||||||
List<EnterpriseOverrideString> privacyOverrideStrings =
|
SafetyCenterUtils.replaceEnterpriseStringsForPrivacyEntries(this);
|
||||||
SafetyCenterUtils.getEnterpriseOverrideStringForPrivacyEntries();
|
SafetyCenterUtils.replaceEnterpriseStringsForSecurityEntries(this);
|
||||||
for (int i = 0; i < privacyOverrideStrings.size(); i++) {
|
|
||||||
EnterpriseOverrideString overrideString = privacyOverrideStrings.get(i);
|
|
||||||
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());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** see confirmPatternThenDisableAndClear */
|
/** see confirmPatternThenDisableAndClear */
|
||||||
|
@@ -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_SET_UNLOCK_LAUNCH_PICKER_TITLE;
|
||||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_UNIFY_LOCKS_SUMMARY;
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_UNIFY_LOCKS_SUMMARY;
|
||||||
|
|
||||||
import android.annotation.StringRes;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
@@ -47,26 +46,31 @@ import com.android.settingslib.core.AbstractPreferenceController;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
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 {
|
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.
|
* Returns preference controllers related to advanced security entries. This is used in {@link
|
||||||
* This is used in {@link MoreSecurityPrivacyFragment} and
|
* MoreSecurityPrivacyFragment} and {@link
|
||||||
* {@link com.android.settings.security.SecurityAdvancedSettings}.
|
* com.android.settings.security.SecurityAdvancedSettings}.
|
||||||
*/
|
*/
|
||||||
public static List<AbstractPreferenceController> getControllersForAdvancedSecurity(
|
public static List<AbstractPreferenceController> getControllersForAdvancedSecurity(
|
||||||
Context context,
|
Context context,
|
||||||
com.android.settingslib.core.lifecycle.Lifecycle lifecycle, DashboardFragment host) {
|
com.android.settingslib.core.lifecycle.Lifecycle lifecycle,
|
||||||
final String WORK_PROFILE_SECURITY_CATEGORY = "work_profile_category";
|
DashboardFragment host) {
|
||||||
final List<AbstractPreferenceController> controllers = new ArrayList<>();
|
final List<AbstractPreferenceController> controllers = new ArrayList<>();
|
||||||
controllers.add(new TrustAgentListPreferenceController(context, host, lifecycle));
|
controllers.add(new TrustAgentListPreferenceController(context, host, lifecycle));
|
||||||
|
|
||||||
final List<AbstractPreferenceController> profileSecurityControllers = new ArrayList<>();
|
final List<AbstractPreferenceController> profileSecurityControllers = new ArrayList<>();
|
||||||
profileSecurityControllers.add(new ChangeProfileScreenLockPreferenceController(
|
profileSecurityControllers.add(
|
||||||
context, host));
|
new ChangeProfileScreenLockPreferenceController(context, host));
|
||||||
profileSecurityControllers.add(new LockUnificationPreferenceController(context, host));
|
profileSecurityControllers.add(new LockUnificationPreferenceController(context, host));
|
||||||
profileSecurityControllers.add(new FaceProfileStatusPreferenceController(
|
profileSecurityControllers.add(new FaceProfileStatusPreferenceController(
|
||||||
context, lifecycle));
|
context, lifecycle));
|
||||||
@@ -81,19 +85,15 @@ public final class SafetyCenterUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns preference controllers for advanced privacy entries.
|
* Returns preference controllers for advanced privacy entries. This is used in {@link
|
||||||
* This is used in {@link MoreSecurityPrivacyFragment} and {@link PrivacyDashboardFragment}.
|
* MoreSecurityPrivacyFragment} and {@link PrivacyDashboardFragment}.
|
||||||
*/
|
*/
|
||||||
public static List<AbstractPreferenceController> getControllersForAdvancedPrivacy(
|
public static List<AbstractPreferenceController> getControllersForAdvancedPrivacy(
|
||||||
Context context, com.android.settingslib.core.lifecycle.Lifecycle lifecycle) {
|
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<AbstractPreferenceController> controllers = new ArrayList<>();
|
final List<AbstractPreferenceController> controllers = new ArrayList<>();
|
||||||
final LockScreenNotificationPreferenceController notificationController =
|
final LockScreenNotificationPreferenceController notificationController =
|
||||||
new LockScreenNotificationPreferenceController(context,
|
new LockScreenNotificationPreferenceController(
|
||||||
|
context,
|
||||||
KEY_LOCK_SCREEN_NOTIFICATIONS,
|
KEY_LOCK_SCREEN_NOTIFICATIONS,
|
||||||
KEY_WORK_PROFILE_CATEGORY,
|
KEY_WORK_PROFILE_CATEGORY,
|
||||||
KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS);
|
KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS);
|
||||||
@@ -104,84 +104,54 @@ public final class SafetyCenterUtils {
|
|||||||
return controllers;
|
return controllers;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/** Replaces relevant strings with their enterprise variants for the privacy entries. */
|
||||||
* A class that stores the resource that will be overridden using preferenceKey and overrideKey.
|
public static void replaceEnterpriseStringsForPrivacyEntries(
|
||||||
*/
|
DashboardFragment dashboardFragment) {
|
||||||
public static final class EnterpriseOverrideString {
|
dashboardFragment.replaceEnterpriseStringTitle(
|
||||||
private final String mPreferenceKey;
|
"privacy_lock_screen_work_profile_notifications",
|
||||||
private final String mOverrideKey;
|
WORK_PROFILE_LOCKED_NOTIFICATION_TITLE,
|
||||||
@StringRes private final int mResource;
|
R.string.locked_work_profile_notification_title);
|
||||||
|
dashboardFragment.replaceEnterpriseStringTitle(
|
||||||
public EnterpriseOverrideString(
|
"interact_across_profiles_privacy",
|
||||||
String preferenceKey,
|
CONNECTED_WORK_AND_PERSONAL_APPS_TITLE,
|
||||||
String overrideKey,
|
R.string.interact_across_profiles_title);
|
||||||
@StringRes int resource) {
|
dashboardFragment.replaceEnterpriseStringTitle(
|
||||||
this.mPreferenceKey = preferenceKey;
|
"privacy_work_profile_notifications_category",
|
||||||
this.mOverrideKey = overrideKey;
|
WORK_PROFILE_NOTIFICATIONS_SECTION_HEADER,
|
||||||
this.mResource = resource;
|
R.string.profile_section_header);
|
||||||
}
|
dashboardFragment.replaceEnterpriseStringTitle(
|
||||||
|
"work_policy_info",
|
||||||
@StringRes
|
WORK_PROFILE_PRIVACY_POLICY_INFO,
|
||||||
public int getResource() {
|
R.string.work_policy_privacy_settings);
|
||||||
return mResource;
|
dashboardFragment.replaceEnterpriseStringSummary(
|
||||||
}
|
"work_policy_info",
|
||||||
|
|
||||||
public String getPreferenceKey() {
|
|
||||||
return mPreferenceKey;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getOverrideKey() {
|
|
||||||
return mOverrideKey;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns a list of @{EnterpriseOverrideString} for the privacy entries.
|
|
||||||
*/
|
|
||||||
public static List<EnterpriseOverrideString> getEnterpriseOverrideStringForPrivacyEntries() {
|
|
||||||
List<EnterpriseOverrideString> 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",
|
|
||||||
WORK_PROFILE_PRIVACY_POLICY_INFO_SUMMARY,
|
WORK_PROFILE_PRIVACY_POLICY_INFO_SUMMARY,
|
||||||
R.string.work_policy_privacy_settings_summary));
|
R.string.work_policy_privacy_settings_summary);
|
||||||
return enterpriseOverrideStrings;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/** Replaces relevant strings with their enterprise variants for the security entries. */
|
||||||
* Returns a list of @{EnterpriseOverrideString} for the security entries.
|
public static void replaceEnterpriseStringsForSecurityEntries(
|
||||||
*/
|
DashboardFragment dashboardFragment) {
|
||||||
public static List<EnterpriseOverrideString> getEnterpriseOverrideStringForSecurityEntries() {
|
dashboardFragment.replaceEnterpriseStringTitle(
|
||||||
List<EnterpriseOverrideString> enterpriseOverrideStrings = new ArrayList<>();
|
"unlock_set_or_change_profile",
|
||||||
enterpriseOverrideStrings.add(new EnterpriseOverrideString("unlock_set_or_change_profile",
|
|
||||||
WORK_PROFILE_SET_UNLOCK_LAUNCH_PICKER_TITLE,
|
WORK_PROFILE_SET_UNLOCK_LAUNCH_PICKER_TITLE,
|
||||||
R.string.unlock_set_unlock_launch_picker_title_profile));
|
R.string.unlock_set_unlock_launch_picker_title_profile);
|
||||||
enterpriseOverrideStrings.add(new EnterpriseOverrideString("unification",
|
dashboardFragment.replaceEnterpriseStringSummary(
|
||||||
|
"unification",
|
||||||
WORK_PROFILE_UNIFY_LOCKS_SUMMARY,
|
WORK_PROFILE_UNIFY_LOCKS_SUMMARY,
|
||||||
R.string.lock_settings_profile_unification_summary));
|
R.string.lock_settings_profile_unification_summary);
|
||||||
enterpriseOverrideStrings.add(new EnterpriseOverrideString("fingerprint_settings_profile",
|
dashboardFragment.replaceEnterpriseStringTitle(
|
||||||
|
"fingerprint_settings_profile",
|
||||||
FINGERPRINT_FOR_WORK,
|
FINGERPRINT_FOR_WORK,
|
||||||
R.string.security_settings_work_fingerprint_preference_title));
|
R.string.security_settings_work_fingerprint_preference_title);
|
||||||
enterpriseOverrideStrings.add(new EnterpriseOverrideString("manage_device_admin",
|
dashboardFragment.replaceEnterpriseStringTitle(
|
||||||
MANAGE_DEVICE_ADMIN_APPS, R.string.manage_device_admin));
|
"manage_device_admin", MANAGE_DEVICE_ADMIN_APPS, R.string.manage_device_admin);
|
||||||
enterpriseOverrideStrings.add(new EnterpriseOverrideString("security_category_profile",
|
dashboardFragment.replaceEnterpriseStringTitle(
|
||||||
WORK_PROFILE_SECURITY_TITLE, R.string.lock_settings_profile_title));
|
"security_category_profile",
|
||||||
enterpriseOverrideStrings.add(
|
WORK_PROFILE_SECURITY_TITLE,
|
||||||
new EnterpriseOverrideString("enterprise_privacy", MANAGED_DEVICE_INFO,
|
R.string.lock_settings_profile_title);
|
||||||
R.string.enterprise_privacy_settings));
|
dashboardFragment.replaceEnterpriseStringTitle(
|
||||||
return enterpriseOverrideStrings;
|
"enterprise_privacy", MANAGED_DEVICE_INFO, R.string.enterprise_privacy_settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
private SafetyCenterUtils() {}
|
private SafetyCenterUtils() {}
|
||||||
|
@@ -27,7 +27,6 @@ import com.android.settings.dashboard.DashboardFragment;
|
|||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
|
import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
|
||||||
import com.android.settings.safetycenter.SafetyCenterUtils;
|
import com.android.settings.safetycenter.SafetyCenterUtils;
|
||||||
import com.android.settings.safetycenter.SafetyCenterUtils.EnterpriseOverrideString;
|
|
||||||
import com.android.settings.search.BaseSearchIndexProvider;
|
import com.android.settings.search.BaseSearchIndexProvider;
|
||||||
import com.android.settings.security.trustagent.TrustAgentListPreferenceController;
|
import com.android.settings.security.trustagent.TrustAgentListPreferenceController;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
@@ -54,15 +53,7 @@ public class SecurityAdvancedSettings extends DashboardFragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle icicle) {
|
public void onCreate(Bundle icicle) {
|
||||||
super.onCreate(icicle);
|
super.onCreate(icicle);
|
||||||
List<EnterpriseOverrideString> securityOverrideStrings =
|
SafetyCenterUtils.replaceEnterpriseStringsForSecurityEntries(this);
|
||||||
SafetyCenterUtils.getEnterpriseOverrideStringForSecurityEntries();
|
|
||||||
for (int i = 0; i < securityOverrideStrings.size(); i++) {
|
|
||||||
EnterpriseOverrideString overrideString = securityOverrideStrings.get(i);
|
|
||||||
replaceEnterpriseStringTitle(
|
|
||||||
overrideString.getPreferenceKey(),
|
|
||||||
overrideString.getOverrideKey(),
|
|
||||||
overrideString.getResource());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Reference in New Issue
Block a user