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/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)));
+ }
}