Add missing settings strings.
Also re-enable and fix tests.
Test: manual
Fixes: 226183482
Fixes: 218799125
Fixes: 219375624
Change-Id: I9605f1f4e2e834baf63e015e96639567c5481b5f
diff --git a/src/com/android/settings/MonitoringCertInfoActivity.java b/src/com/android/settings/MonitoringCertInfoActivity.java
index eadebc1..5c15eb3 100644
--- a/src/com/android/settings/MonitoringCertInfoActivity.java
+++ b/src/com/android/settings/MonitoringCertInfoActivity.java
@@ -16,12 +16,16 @@
package com.android.settings;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.DEVICE_OWNER_INSTALLED_CERTIFICATE_AUTHORITY_WARNING;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_INSTALLED_CERTIFICATE_AUTHORITY_WARNING;
+
import android.app.Activity;
import android.app.admin.DevicePolicyManager;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.DialogInterface.OnDismissListener;
import android.content.Intent;
+import android.icu.text.MessageFormat;
import android.os.Bundle;
import android.os.UserHandle;
import android.provider.Settings;
@@ -30,6 +34,10 @@
import com.android.settingslib.RestrictedLockUtils;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+
/**
* Activity that shows a dialog explaining that a CA cert is allowing someone to monitor network
* traffic. This activity should be launched for the user into which the CA cert is installed
@@ -71,12 +79,30 @@
builder.setOnDismissListener(this);
if (dpm.getProfileOwnerAsUser(mUserId) != null) {
- builder.setMessage(getResources().getQuantityString(R.plurals.ssl_ca_cert_info_message,
- numberOfCertificates, dpm.getProfileOwnerNameAsUser(mUserId)));
+ MessageFormat msgFormat = new MessageFormat(
+ dpm.getResources().getString(
+ WORK_PROFILE_INSTALLED_CERTIFICATE_AUTHORITY_WARNING,
+ () -> getString(R.string.ssl_ca_cert_info_message)),
+ Locale.getDefault());
+
+ Map<String, Object> arguments = new HashMap<>();
+ arguments.put("numberOfCertificates", numberOfCertificates);
+ arguments.put("orgName", dpm.getProfileOwnerNameAsUser(mUserId));
+
+ builder.setMessage(msgFormat.format(arguments));
} else if (dpm.getDeviceOwnerComponentOnCallingUser() != null) {
- builder.setMessage(getResources().getQuantityString(
- R.plurals.ssl_ca_cert_info_message_device_owner, numberOfCertificates,
- dpm.getDeviceOwnerNameOnAnyUser()));
+ MessageFormat msgFormat = new MessageFormat(
+ dpm.getResources()
+ .getString(DEVICE_OWNER_INSTALLED_CERTIFICATE_AUTHORITY_WARNING,
+ () -> getResources().getString(
+ R.string.ssl_ca_cert_info_message_device_owner)),
+ Locale.getDefault());
+
+ Map<String, Object> arguments = new HashMap<>();
+ arguments.put("numberOfCertificates", numberOfCertificates);
+ arguments.put("orgName", dpm.getDeviceOwnerNameOnAnyUser());
+
+ builder.setMessage(msgFormat.format(arguments));
} else {
// Consumer case. Show scary warning.
builder.setIcon(android.R.drawable.stat_notify_error);
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java
index d3e1c49..8c97f02 100644
--- a/src/com/android/settings/SettingsPreferenceFragment.java
+++ b/src/com/android/settings/SettingsPreferenceFragment.java
@@ -18,6 +18,7 @@
import android.app.Activity;
import android.app.Dialog;
+import android.app.admin.DevicePolicyManager;
import android.content.ContentResolver;
import android.content.Context;
import android.content.DialogInterface;
@@ -70,6 +71,7 @@
private static final int ORDER_FIRST = -1;
+ protected DevicePolicyManager mDevicePolicyManager;
private SettingsDialogFragment mDialogFragment;
// Cache the content resolver for async callbacks
private ContentResolver mContentResolver;
@@ -135,6 +137,7 @@
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ mDevicePolicyManager = getContext().getSystemService(DevicePolicyManager.class);
if (icicle != null) {
mPreferenceHighlighted = icicle.getBoolean(SAVE_HIGHLIGHTED_KEY);
}
@@ -728,4 +731,35 @@
final Activity activity = getActivity();
return activity == null || activity.isFinishing() || activity.isDestroyed();
}
+
+ protected void replaceEnterprisePreferenceScreenTitle(String overrideKey, int resource) {
+ getActivity().setTitle(mDevicePolicyManager.getResources().getString(
+ overrideKey, () -> getString(resource)));
+ }
+
+ protected void replaceEnterpriseStringSummary(
+ String preferenceKey, String overrideKey, int resource) {
+ Preference preference = findPreference(preferenceKey);
+ if (preference == null) {
+ Log.d(TAG, "Could not find enterprise preference " + preferenceKey);
+ return;
+ }
+
+ preference.setSummary(
+ mDevicePolicyManager.getResources().getString(overrideKey,
+ () -> getString(resource)));
+ }
+
+ protected void replaceEnterpriseStringTitle(
+ String preferenceKey, String overrideKey, int resource) {
+ Preference preference = findPreference(preferenceKey);
+ if (preference == null) {
+ Log.d(TAG, "Could not find enterprise preference " + preferenceKey);
+ return;
+ }
+
+ preference.setTitle(
+ mDevicePolicyManager.getResources().getString(overrideKey,
+ () -> getString(resource)));
+ }
}
diff --git a/src/com/android/settings/accounts/ManagedProfileSettings.java b/src/com/android/settings/accounts/ManagedProfileSettings.java
index 001a2cd..9c4d855 100644
--- a/src/com/android/settings/accounts/ManagedProfileSettings.java
+++ b/src/com/android/settings/accounts/ManagedProfileSettings.java
@@ -18,6 +18,7 @@
import static android.app.admin.DevicePolicyResources.Strings.Settings.CROSS_PROFILE_CALENDAR_SUMMARY;
import static android.app.admin.DevicePolicyResources.Strings.Settings.CROSS_PROFILE_CALENDAR_TITLE;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.MANAGED_PROFILE_SETTINGS_TITLE;
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONTACT_SEARCH_SUMMARY;
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONTACT_SEARCH_TITLE;
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_SETTING;
@@ -84,6 +85,8 @@
super.onCreate(icicle);
mManagedProfileBroadcastReceiver = new ManagedProfileBroadcastReceiver();
mManagedProfileBroadcastReceiver.register(getActivity());
+ replaceEnterprisePreferenceScreenTitle(
+ MANAGED_PROFILE_SETTINGS_TITLE, R.string.managed_profile_settings_title);
replaceEnterpriseStringTitle("work_mode",
WORK_PROFILE_SETTING, R.string.work_mode_label);
replaceEnterpriseStringTitle("contacts_search",
diff --git a/src/com/android/settings/applications/autofill/PasswordsPreferenceController.java b/src/com/android/settings/applications/autofill/PasswordsPreferenceController.java
index cb8b73d..a130bb2 100644
--- a/src/com/android/settings/applications/autofill/PasswordsPreferenceController.java
+++ b/src/com/android/settings/applications/autofill/PasswordsPreferenceController.java
@@ -16,6 +16,8 @@
package com.android.settings.applications.autofill;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.AUTO_SYNC_PERSONAL_DATA;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.AUTO_SYNC_WORK_DATA;
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
import static android.service.autofill.AutofillService.EXTRA_RESULT;
@@ -114,6 +116,11 @@
super.displayPreference(screen);
final PreferenceGroup group = screen.findPreference(getPreferenceKey());
addPasswordPreferences(screen.getContext(), getUser(), group);
+
+ replaceEnterpriseStringTitle(screen, "auto_sync_personal_account_data",
+ AUTO_SYNC_PERSONAL_DATA, R.string.account_settings_menu_auto_sync_personal);
+ replaceEnterpriseStringTitle(screen, "auto_sync_work_account_data",
+ AUTO_SYNC_WORK_DATA, R.string.account_settings_menu_auto_sync_work);
}
private void addPasswordPreferences(
diff --git a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminSettings.java b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminSettings.java
index 3819124..2258bf1 100644
--- a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminSettings.java
+++ b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminSettings.java
@@ -16,6 +16,7 @@
package com.android.settings.applications.specialaccess.deviceadmin;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.MANAGE_DEVICE_ADMIN_APPS;
import static android.app.admin.DevicePolicyResources.Strings.Settings.NO_DEVICE_ADMINS;
import android.app.settings.SettingsEnums;
@@ -37,7 +38,8 @@
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
- // TODO: Replace PreferenceScreen title manage_device_admin/MANAGE_DEVICE_ADMIN_APPS
+ replaceEnterprisePreferenceScreenTitle(
+ MANAGE_DEVICE_ADMIN_APPS, R.string.manage_device_admin);
replaceEnterpriseStringTitle("device_admin_footer",
NO_DEVICE_ADMINS, R.string.no_device_admins);
}
diff --git a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java
index e316125..b59928f 100644
--- a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java
+++ b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java
@@ -18,6 +18,7 @@
import static android.app.admin.DevicePolicyResources.Strings.Settings.APP_CAN_ACCESS_PERSONAL_DATA;
import static android.app.admin.DevicePolicyResources.Strings.Settings.APP_CAN_ACCESS_PERSONAL_PERMISSIONS;
import static android.app.admin.DevicePolicyResources.Strings.Settings.CONNECTED_APPS_SHARE_PERMISSIONS_AND_DATA;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.CONNECTED_WORK_AND_PERSONAL_APPS_TITLE;
import static android.app.admin.DevicePolicyResources.Strings.Settings.CONNECT_APPS_DIALOG_SUMMARY;
import static android.app.admin.DevicePolicyResources.Strings.Settings.CONNECT_APPS_DIALOG_TITLE;
import static android.app.admin.DevicePolicyResources.Strings.Settings.HOW_TO_DISCONNECT_APPS;
@@ -81,7 +82,6 @@
private Context mContext;
private CrossProfileApps mCrossProfileApps;
- private DevicePolicyManager mDevicePolicyManager;
private UserManager mUserManager;
private RestrictedSwitchPreference mSwitchPref;
private LayoutPreference mHeader;
@@ -101,7 +101,6 @@
mContext = getContext();
mCrossProfileApps = mContext.getSystemService(CrossProfileApps.class);
- mDevicePolicyManager = mContext.getSystemService(DevicePolicyManager.class);
mUserManager = mContext.getSystemService(UserManager.class);
mPackageManager = mContext.getPackageManager();
@@ -115,6 +114,8 @@
addPreferencesFromResource(R.xml.interact_across_profiles_permissions_details);
+ replaceEnterprisePreferenceScreenTitle(CONNECTED_WORK_AND_PERSONAL_APPS_TITLE,
+ R.string.interact_across_profiles_title);
replaceEnterpriseStringSummary("interact_across_profiles_summary_1",
CONNECTED_APPS_SHARE_PERMISSIONS_AND_DATA,
R.string.interact_across_profiles_summary_1);
@@ -147,19 +148,6 @@
logPageLaunchMetrics();
}
- private void replaceEnterpriseStringSummary(
- String preferenceKey, String overrideKey, int resource) {
- Preference preference = findPreference(preferenceKey);
- if (preference == null) {
- Log.d(TAG, "Could not find enterprise preference " + preferenceKey);
- return;
- }
-
- preference.setSummary(
- mDevicePolicyManager.getResources().getString(overrideKey,
- () -> getString(resource)));
- }
-
private void maybeShowExtraSummary() {
Preference extraSummary = findPreference(INTERACT_ACROSS_PROFILE_EXTRA_SUMMARY_KEY);
if (extraSummary == null) {
diff --git a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettings.java b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettings.java
index 6ce0869..ba0d9af 100644
--- a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettings.java
+++ b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettings.java
@@ -53,7 +53,6 @@
private Context mContext;
private PackageManager mPackageManager;
private UserManager mUserManager;
- private DevicePolicyManager mDevicePolicyManager;
private CrossProfileApps mCrossProfileApps;
private IconDrawableFactory mIconDrawableFactory;
@@ -66,7 +65,6 @@
mUserManager = mContext.getSystemService(UserManager.class);
mIconDrawableFactory = IconDrawableFactory.newInstance(mContext);
mCrossProfileApps = mContext.getSystemService(CrossProfileApps.class);
- mDevicePolicyManager = mContext.getSystemService(DevicePolicyManager.class);
}
@Override
@@ -76,6 +74,9 @@
final PreferenceScreen screen = getPreferenceScreen();
screen.removeAll();
+ replaceEnterprisePreferenceScreenTitle(CONNECTED_WORK_AND_PERSONAL_APPS_TITLE,
+ R.string.interact_across_profiles_title);
+
final ArrayList<Pair<ApplicationInfo, UserHandle>> crossProfileApps =
collectConfigurableApps(mPackageManager, mUserManager, mCrossProfileApps);
diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java
index aaa9b3d..378d55e 100644
--- a/src/com/android/settings/dashboard/DashboardFragment.java
+++ b/src/com/android/settings/dashboard/DashboardFragment.java
@@ -79,7 +79,6 @@
private DashboardTilePlaceholderPreferenceController mPlaceholderPreferenceController;
private boolean mListeningToCategoryChange;
private List<String> mSuppressInjectedTileKeys;
- private DevicePolicyManager mDevicePolicyManager;
@Override
public void onAttach(Context context) {
@@ -154,7 +153,6 @@
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
- mDevicePolicyManager = getSystemService(DevicePolicyManager.class);
// Set ComparisonCallback so we get better animation when list changes.
getPreferenceManager().setPreferenceComparisonCallback(
new PreferenceManager.SimplePreferenceComparisonCallback());
@@ -548,30 +546,4 @@
resolver.unregisterContentObserver(observer);
});
}
-
- protected void replaceEnterpriseStringTitle(
- String preferenceKey, String overrideKey, int resource) {
- Preference preference = findPreference(preferenceKey);
- if (preference == null) {
- Log.d(TAG, "Could not find enterprise preference " + preferenceKey);
- return;
- }
-
- preference.setTitle(
- mDevicePolicyManager.getResources().getString(overrideKey,
- () -> getString(resource)));
- }
-
- protected void replaceEnterpriseStringSummary(
- String preferenceKey, String overrideKey, int resource) {
- Preference preference = findPreference(preferenceKey);
- if (preference == null) {
- Log.d(TAG, "Could not find enterprise preference " + preferenceKey);
- return;
- }
-
- preference.setSummary(
- mDevicePolicyManager.getResources().getString(overrideKey,
- () -> getString(resource)));
- }
}
diff --git a/src/com/android/settings/display/TimeoutListPreference.java b/src/com/android/settings/display/TimeoutListPreference.java
index 0b2d18f..5079cca 100644
--- a/src/com/android/settings/display/TimeoutListPreference.java
+++ b/src/com/android/settings/display/TimeoutListPreference.java
@@ -16,6 +16,8 @@
package com.android.settings.display;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.OTHER_OPTIONS_DISABLED_BY_ADMIN;
+
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
import android.app.Dialog;
@@ -24,7 +26,9 @@
import android.content.DialogInterface;
import android.util.AttributeSet;
import android.util.Log;
+import android.view.LayoutInflater;
import android.view.View;
+import android.widget.TextView;
import androidx.appcompat.app.AlertDialog.Builder;
@@ -52,13 +56,26 @@
DialogInterface.OnClickListener listener) {
super.onPrepareDialogBuilder(builder, listener);
if (mAdmin != null) {
- builder.setView(R.layout.admin_disabled_other_options_footer);
- // TODO: replace Text on textview with admin_disabled_other_options
+ updateTextOnDialog(builder);
} else {
builder.setView(null);
}
}
+ private void updateTextOnDialog(Builder builder) {
+ LayoutInflater inflater = getContext().getSystemService(LayoutInflater.class);
+ DevicePolicyManager devicePolicyManager = getContext()
+ .getSystemService(DevicePolicyManager.class);
+ View v = inflater.inflate(R.layout.admin_disabled_other_options_footer, null);
+ builder.setView(v);
+ TextView textView = v.findViewById(R.id.admin_disabled_other_options_text);
+ String replacementText = devicePolicyManager.getResources().getString(
+ OTHER_OPTIONS_DISABLED_BY_ADMIN, () -> null);
+ if (replacementText != null) {
+ textView.setText(replacementText);
+ }
+ }
+
@Override
protected void onDialogCreated(Dialog dialog) {
super.onDialogCreated(dialog);
diff --git a/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java b/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java
index e5484db..cf1b8a3 100644
--- a/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java
+++ b/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java
@@ -52,7 +52,8 @@
}
private String getEnterprisePrivacyNone() {
- return mContext.getSystemService(DevicePolicyManager.class).getResources()
+ return ((DevicePolicyManager) mContext.getSystemService(Context.DEVICE_POLICY_SERVICE))
+ .getResources()
.getString(ADMIN_ACTION_NONE,
() -> mContext.getString(R.string.enterprise_privacy_none));
}
diff --git a/src/com/android/settings/enterprise/ApplicationListFragment.java b/src/com/android/settings/enterprise/ApplicationListFragment.java
index a82789b..38a5c6f 100644
--- a/src/com/android/settings/enterprise/ApplicationListFragment.java
+++ b/src/com/android/settings/enterprise/ApplicationListFragment.java
@@ -16,6 +16,8 @@
package com.android.settings.enterprise;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.ADMIN_ACTION_APPS_COUNT_ESTIMATED;
+
import android.Manifest;
import android.app.settings.SettingsEnums;
import android.content.Context;
@@ -47,6 +49,10 @@
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
+
+ replaceEnterpriseStringTitle("enterprise_privacy_apps_footer",
+ ADMIN_ACTION_APPS_COUNT_ESTIMATED,
+ R.string.enterprise_privacy_apps_count_estimation_info);
}
@Override
diff --git a/src/com/android/settings/enterprise/EnterprisePrivacySettings.java b/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
index 1aad544..92e4f4a 100644
--- a/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
+++ b/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
@@ -16,11 +16,39 @@
package com.android.settings.enterprise;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.ADMIN_ACTION_ACCESS_CAMERA;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.ADMIN_ACTION_ACCESS_LOCATION;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.ADMIN_ACTION_ACCESS_MICROPHONE;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.ADMIN_ACTION_APPS_INSTALLED;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.ADMIN_ACTION_SET_CURRENT_INPUT_METHOD;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.ADMIN_ACTION_SET_DEFAULT_APPS;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.ADMIN_ACTION_SET_HTTP_PROXY;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.ADMIN_CAN_LOCK_DEVICE;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.ADMIN_CAN_SEE_APPS_WARNING;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.ADMIN_CAN_SEE_BUG_REPORT_WARNING;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.ADMIN_CAN_SEE_NETWORK_LOGS_WARNING;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.ADMIN_CAN_SEE_SECURITY_LOGS_WARNING;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.ADMIN_CAN_SEE_USAGE_WARNING;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.ADMIN_CAN_SEE_WORK_DATA_WARNING;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.ADMIN_CAN_WIPE_DEVICE;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.ADMIN_CONFIGURED_FAILED_PASSWORD_WIPE_DEVICE;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.ADMIN_CONFIGURED_FAILED_PASSWORD_WIPE_WORK_PROFILE;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.ALWAYS_ON_VPN_WORK_PROFILE;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.CA_CERTS_PERSONAL_PROFILE;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.CA_CERTS_WORK_PROFILE;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.CHANGES_BY_ORGANIZATION_TITLE;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.ENTERPRISE_PRIVACY_FOOTER;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.INFORMATION_SEEN_BY_ORGANIZATION_TITLE;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.MANAGED_DEVICE_INFO;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.YOUR_ACCESS_TO_THIS_DEVICE_TITLE;
+
import android.app.settings.SettingsEnums;
import android.content.Context;
+import android.os.Bundle;
import android.provider.SearchIndexableResource;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
@@ -46,6 +74,70 @@
}
@Override
+ public void onCreate(Bundle icicle) {
+ super.onCreate(icicle);
+
+ replaceEnterprisePreferenceScreenTitle(
+ MANAGED_DEVICE_INFO, R.string.enterprise_privacy_settings);
+
+ replaceEnterpriseStringTitle("exposure_category",
+ INFORMATION_SEEN_BY_ORGANIZATION_TITLE,
+ R.string.enterprise_privacy_exposure_category);
+ replaceEnterpriseStringTitle("enterprise_privacy_enterprise_data",
+ ADMIN_CAN_SEE_WORK_DATA_WARNING, R.string.enterprise_privacy_enterprise_data);
+ replaceEnterpriseStringTitle("enterprise_privacy_installed_packages",
+ ADMIN_CAN_SEE_APPS_WARNING, R.string.enterprise_privacy_installed_packages);
+ replaceEnterpriseStringTitle("enterprise_privacy_usage_stats",
+ ADMIN_CAN_SEE_USAGE_WARNING, R.string.enterprise_privacy_usage_stats);
+ replaceEnterpriseStringTitle("network_logs",
+ ADMIN_CAN_SEE_NETWORK_LOGS_WARNING, R.string.enterprise_privacy_network_logs);
+ replaceEnterpriseStringTitle("bug_reports",
+ ADMIN_CAN_SEE_BUG_REPORT_WARNING, R.string.enterprise_privacy_bug_reports);
+ replaceEnterpriseStringTitle("security_logs",
+ ADMIN_CAN_SEE_SECURITY_LOGS_WARNING, R.string.enterprise_privacy_security_logs);
+ replaceEnterpriseStringTitle("exposure_changes_category",
+ CHANGES_BY_ORGANIZATION_TITLE,
+ R.string.enterprise_privacy_exposure_changes_category);
+ replaceEnterpriseStringTitle("number_enterprise_installed_packages",
+ ADMIN_ACTION_APPS_INSTALLED,
+ R.string.enterprise_privacy_enterprise_installed_packages);
+ replaceEnterpriseStringTitle("enterprise_privacy_number_location_access_packages",
+ ADMIN_ACTION_ACCESS_LOCATION, R.string.enterprise_privacy_location_access);
+ replaceEnterpriseStringTitle("enterprise_privacy_number_microphone_access_packages",
+ ADMIN_ACTION_ACCESS_MICROPHONE, R.string.enterprise_privacy_microphone_access);
+ replaceEnterpriseStringTitle("enterprise_privacy_number_camera_access_packages",
+ ADMIN_ACTION_ACCESS_CAMERA, R.string.enterprise_privacy_camera_access);
+ replaceEnterpriseStringTitle("number_enterprise_set_default_apps",
+ ADMIN_ACTION_SET_DEFAULT_APPS,
+ R.string.enterprise_privacy_enterprise_set_default_apps);
+ replaceEnterpriseStringTitle("always_on_vpn_managed_profile",
+ ALWAYS_ON_VPN_WORK_PROFILE, R.string.enterprise_privacy_always_on_vpn_work);
+ replaceEnterpriseStringTitle("input_method",
+ ADMIN_ACTION_SET_CURRENT_INPUT_METHOD, R.string.enterprise_privacy_input_method);
+ replaceEnterpriseStringTitle("global_http_proxy",
+ ADMIN_ACTION_SET_HTTP_PROXY, R.string.enterprise_privacy_global_http_proxy);
+ replaceEnterpriseStringTitle("ca_certs_current_user",
+ CA_CERTS_PERSONAL_PROFILE, R.string.enterprise_privacy_ca_certs_personal);
+ replaceEnterpriseStringTitle("ca_certs_managed_profile",
+ CA_CERTS_WORK_PROFILE, R.string.enterprise_privacy_ca_certs_work);
+ replaceEnterpriseStringTitle("device_access_category",
+ YOUR_ACCESS_TO_THIS_DEVICE_TITLE,
+ R.string.enterprise_privacy_device_access_category);
+ replaceEnterpriseStringTitle("enterprise_privacy_lock_device",
+ ADMIN_CAN_LOCK_DEVICE, R.string.enterprise_privacy_lock_device);
+ replaceEnterpriseStringTitle("enterprise_privacy_wipe_device",
+ ADMIN_CAN_WIPE_DEVICE, R.string.enterprise_privacy_wipe_device);
+ replaceEnterpriseStringTitle("failed_password_wipe_current_user",
+ ADMIN_CONFIGURED_FAILED_PASSWORD_WIPE_DEVICE,
+ R.string.enterprise_privacy_failed_password_wipe_device);
+ replaceEnterpriseStringTitle("failed_password_wipe_managed_profile",
+ ADMIN_CONFIGURED_FAILED_PASSWORD_WIPE_WORK_PROFILE,
+ R.string.enterprise_privacy_failed_password_wipe_work);
+ replaceEnterpriseStringTitle("enterprise_privacy_footer",
+ ENTERPRISE_PRIVACY_FOOTER, R.string.enterprise_privacy_header);
+ }
+
+ @Override
public void onDetach() {
mPrivacySettingsPreference = null;
super.onDetach();
diff --git a/src/com/android/settings/notification/LockScreenNotificationPreferenceController.java b/src/com/android/settings/notification/LockScreenNotificationPreferenceController.java
index 1c024e3..1ede911 100644
--- a/src/com/android/settings/notification/LockScreenNotificationPreferenceController.java
+++ b/src/com/android/settings/notification/LockScreenNotificationPreferenceController.java
@@ -18,6 +18,8 @@
import static android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_SECURE_NOTIFICATIONS;
import static android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.LOCK_SCREEN_HIDE_WORK_NOTIFICATION_CONTENT;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.LOCK_SCREEN_SHOW_WORK_NOTIFICATION_CONTENT;
import android.app.admin.DevicePolicyManager;
import android.content.ContentResolver;
@@ -158,8 +160,13 @@
ArrayList<CharSequence> entries = new ArrayList<>();
ArrayList<CharSequence> values = new ArrayList<>();
- String summaryShowEntry = mContext.getString(
- R.string.lock_screen_notifications_summary_show_profile);
+ DevicePolicyManager devicePolicyManager =
+ mContext.getSystemService(DevicePolicyManager.class);
+
+ String summaryShowEntry = devicePolicyManager
+ .getResources().getString(LOCK_SCREEN_SHOW_WORK_NOTIFICATION_CONTENT,
+ () -> mContext.getString(
+ R.string.lock_screen_notifications_summary_show_profile));
String summaryShowEntryValue = Integer.toString(
R.string.lock_screen_notifications_summary_show_profile);
entries.add(summaryShowEntry);
@@ -168,8 +175,10 @@
KEYGUARD_DISABLE_SECURE_NOTIFICATIONS | KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS);
if (mSecureProfile) {
- String summaryHideEntry = mContext.getString(
- R.string.lock_screen_notifications_summary_hide_profile);
+ String summaryHideEntry = devicePolicyManager
+ .getResources().getString(LOCK_SCREEN_HIDE_WORK_NOTIFICATION_CONTENT,
+ () -> mContext.getString(
+ R.string.lock_screen_notifications_summary_hide_profile));
String summaryHideEntryValue = Integer.toString(
R.string.lock_screen_notifications_summary_hide_profile);
entries.add(summaryHideEntry);
diff --git a/src/com/android/settings/notification/RedactionInterstitial.java b/src/com/android/settings/notification/RedactionInterstitial.java
index d6cf0c6..f243250 100644
--- a/src/com/android/settings/notification/RedactionInterstitial.java
+++ b/src/com/android/settings/notification/RedactionInterstitial.java
@@ -18,11 +18,14 @@
import static android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_SECURE_NOTIFICATIONS;
import static android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.LOCK_SCREEN_HIDE_WORK_NOTIFICATION_CONTENT;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.LOCK_SCREEN_SHOW_WORK_NOTIFICATION_CONTENT;
import static android.provider.Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS;
import static android.provider.Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS;
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+import android.app.admin.DevicePolicyManager;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.Intent;
@@ -115,6 +118,7 @@
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
+ DevicePolicyManager devicePolicyManager = getSystemService(DevicePolicyManager.class);
mRadioGroup = (RadioGroup) view.findViewById(R.id.radio_group);
mShowAllButton = (RestrictedRadioButton) view.findViewById(R.id.show_all);
mRedactSensitiveButton =
@@ -126,9 +130,15 @@
if (UserManager.get(getContext()).isManagedProfile(mUserId)) {
((TextView) view.findViewById(R.id.sud_layout_description))
.setText(R.string.lock_screen_notifications_interstitial_message_profile);
- mShowAllButton.setText(R.string.lock_screen_notifications_summary_show_profile);
+ mShowAllButton.setText(devicePolicyManager
+ .getResources().getString(LOCK_SCREEN_SHOW_WORK_NOTIFICATION_CONTENT,
+ () -> getString(
+ R.string.lock_screen_notifications_summary_show_profile)));
mRedactSensitiveButton
- .setText(R.string.lock_screen_notifications_summary_hide_profile);
+ .setText(devicePolicyManager.getResources().getString(
+ LOCK_SCREEN_HIDE_WORK_NOTIFICATION_CONTENT,
+ () -> getString(
+ R.string.lock_screen_notifications_summary_hide_profile)));
((RadioButton) view.findViewById(R.id.hide_all)).setVisibility(View.GONE);
}
diff --git a/src/com/android/settings/notification/SoundWorkSettings.java b/src/com/android/settings/notification/SoundWorkSettings.java
index eb7f05e..2cb4215 100644
--- a/src/com/android/settings/notification/SoundWorkSettings.java
+++ b/src/com/android/settings/notification/SoundWorkSettings.java
@@ -19,6 +19,7 @@
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_ALARM_RINGTONE_TITLE;
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_NOTIFICATION_RINGTONE_TITLE;
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_RINGTONE_TITLE;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_SOUND_SETTINGS_SECTION_HEADER;
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_USE_PERSONAL_SOUNDS_SUMMARY;
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_USE_PERSONAL_SOUNDS_TITLE;
@@ -70,6 +71,8 @@
mRequestPreference = findPreference(selectedPreference);
}
}
+ replaceEnterprisePreferenceScreenTitle(
+ WORK_PROFILE_SOUND_SETTINGS_SECTION_HEADER, R.string.sound_work_settings);
replaceEnterpriseStringTitle("work_use_personal_sounds",
WORK_PROFILE_USE_PERSONAL_SOUNDS_TITLE, R.string.work_use_personal_sounds_title);
replaceEnterpriseStringSummary("work_use_personal_sounds",
@@ -79,7 +82,7 @@
WORK_PROFILE_RINGTONE_TITLE, R.string.work_ringtone_title);
replaceEnterpriseStringTitle("work_alarm_ringtone",
WORK_PROFILE_ALARM_RINGTONE_TITLE, R.string.work_alarm_ringtone_title);
- replaceEnterpriseStringTitle("work_notification",
+ replaceEnterpriseStringTitle("work_notification_ringtone",
WORK_PROFILE_NOTIFICATION_RINGTONE_TITLE,
R.string.work_notification_ringtone_title);
}
diff --git a/src/com/android/settings/password/ChooseLockGeneric.java b/src/com/android/settings/password/ChooseLockGeneric.java
index 841d1f9..e340b50 100644
--- a/src/com/android/settings/password/ChooseLockGeneric.java
+++ b/src/com/android/settings/password/ChooseLockGeneric.java
@@ -22,6 +22,7 @@
import static android.app.admin.DevicePolicyManager.PASSWORD_COMPLEXITY_LOW;
import static android.app.admin.DevicePolicyManager.PASSWORD_COMPLEXITY_MEDIUM;
import static android.app.admin.DevicePolicyManager.PASSWORD_COMPLEXITY_NONE;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.LOCK_SETTINGS_NEW_PROFILE_LOCK_TITLE;
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_IT_ADMIN_CANT_RESET_SCREEN_LOCK;
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_SCREEN_LOCK_SETUP_MESSAGE;
@@ -347,7 +348,9 @@
if (updateExistingLock) {
getActivity().setTitle(R.string.lock_settings_picker_update_profile_lock_title);
} else {
- getActivity().setTitle(R.string.lock_settings_picker_new_profile_lock_title);
+ getActivity().setTitle(mDpm.getResources().getString(
+ LOCK_SETTINGS_NEW_PROFILE_LOCK_TITLE,
+ () -> getString(R.string.lock_settings_picker_new_profile_lock_title)));
}
} else {
updateExistingLock = mLockPatternUtils.isSecure(mUserId);
diff --git a/src/com/android/settings/password/ForgotPasswordActivity.java b/src/com/android/settings/password/ForgotPasswordActivity.java
index 657139e..d9db335 100644
--- a/src/com/android/settings/password/ForgotPasswordActivity.java
+++ b/src/com/android/settings/password/ForgotPasswordActivity.java
@@ -17,6 +17,7 @@
package com.android.settings.password;
import static android.app.admin.DevicePolicyResources.Strings.Settings.FORGOT_PASSWORD_TEXT;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.FORGOT_PASSWORD_TITLE;
import android.app.Activity;
import android.app.admin.DevicePolicyManager;
@@ -64,6 +65,9 @@
.build()
);
+ layout.setHeaderText(devicePolicyManager.getResources().getString(
+ FORGOT_PASSWORD_TITLE, () -> getString(R.string.forgot_password_title)));
+
UserManager.get(this).requestQuietModeEnabled(
false, UserHandle.of(userId), UserManager.QUIET_MODE_DISABLE_DONT_ASK_CREDENTIAL);
}
diff --git a/src/com/android/settings/security/SecurityAdvancedSettingsController.java b/src/com/android/settings/security/SecurityAdvancedSettingsController.java
index 904141d..22a482d 100644
--- a/src/com/android/settings/security/SecurityAdvancedSettingsController.java
+++ b/src/com/android/settings/security/SecurityAdvancedSettingsController.java
@@ -16,6 +16,9 @@
package com.android.settings.security;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.MORE_SECURITY_SETTINGS_WORK_PROFILE_SUMMARY;
+
+import android.app.admin.DevicePolicyManager;
import android.content.Context;
import android.content.pm.CrossProfileApps;
@@ -29,11 +32,13 @@
public class SecurityAdvancedSettingsController extends BasePreferenceController {
private final CrossProfileApps mCrossProfileApps;
+ private final DevicePolicyManager mDevicePolicyManager;
public SecurityAdvancedSettingsController(Context context, String preferenceKey) {
super(context, preferenceKey);
mCrossProfileApps = context.getSystemService(CrossProfileApps.class);
+ mDevicePolicyManager = context.getSystemService(DevicePolicyManager.class);
}
@Override
@@ -44,8 +49,10 @@
@Override
public CharSequence getSummary() {
return isWorkProfilePresent()
- ? mContext.getResources().getString(
- R.string.security_advanced_settings_work_profile_settings_summary)
+ ? mDevicePolicyManager.getResources().getString(
+ MORE_SECURITY_SETTINGS_WORK_PROFILE_SUMMARY,
+ () -> mContext.getResources().getString(
+ R.string.security_advanced_settings_work_profile_settings_summary))
: mContext.getResources().getString(
R.string.security_advanced_settings_no_work_profile_settings_summary);
}