Allow Device Management Role Holder to update Settings strings.

Test: manual
Bug: 188414370
Change-Id: I6e1a06619799a9e99382d791e72e2e4518f93cac
This commit is contained in:
Jonathan Scott
2022-01-19 15:19:08 +00:00
parent 47d115c3ff
commit e0d439472f
55 changed files with 788 additions and 231 deletions

View File

@@ -16,6 +16,7 @@
package com.android.settings.display;
import static android.app.admin.DevicePolicyResources.Strings.Settings.DISABLED_BY_IT_ADMIN_TITLE;
import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;
import static com.android.settings.display.ScreenTimeoutSettings.FALLBACK_SCREEN_TIMEOUT_VALUE;
@@ -60,7 +61,9 @@ public class ScreenTimeoutPreferenceController extends BasePreferenceController
final RestrictedLockUtils.EnforcedAdmin admin = getPreferenceDisablingAdmin(maxTimeout);
if (admin != null) {
preference.setEnabled(false);
preference.setSummary(mContext.getText(R.string.disabled_by_policy_title));
preference.setSummary(mContext.getSystemService(DevicePolicyManager.class)
.getString(DISABLED_BY_IT_ADMIN_TITLE,
() -> mContext.getString(R.string.disabled_by_policy_title)));
((RestrictedPreference) preference).setDisabledByAdmin(admin);
} else {
preference.setSummary(getTimeoutSummary(maxTimeout));

View File

@@ -16,6 +16,7 @@
package com.android.settings.display;
import static android.app.admin.DevicePolicyResources.Strings.Settings.OTHER_OPTIONS_DISABLED_BY_ADMIN;
import static android.hardware.SensorPrivacyManager.Sensors.CAMERA;
import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;
@@ -85,6 +86,8 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements
}
};
private DevicePolicyManager mDevicePolicyManager;
@VisibleForTesting
Context mContext;
@@ -116,6 +119,7 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements
public void onAttach(Context context) {
super.onAttach(context);
mContext = context;
mDevicePolicyManager = mContext.getSystemService(DevicePolicyManager.class);
mInitialEntries = getResources().getStringArray(R.array.screen_timeout_entries);
mInitialValues = getResources().getStringArray(R.array.screen_timeout_values);
mAdaptiveSleepController = new AdaptiveSleepPreferenceController(context);
@@ -219,8 +223,9 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements
@VisibleForTesting
void setupDisabledFooterPreference() {
final String textDisabledByAdmin = getResources().getString(
R.string.admin_disabled_other_options);
final String textDisabledByAdmin = mDevicePolicyManager.getString(
OTHER_OPTIONS_DISABLED_BY_ADMIN, () -> getResources().getString(
R.string.admin_disabled_other_options));
final String textMoreDetails = getResources().getString(R.string.admin_more_details);
final SpannableString spannableString = new SpannableString(