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

@@ -17,6 +17,13 @@
package com.android.settings.password;
import static android.app.admin.DevicePolicyResources.Strings.Settings.CONFIRM_WORK_PROFILE_PASSWORD_HEADER;
import static android.app.admin.DevicePolicyResources.Strings.Settings.CONFIRM_WORK_PROFILE_PATTERN_HEADER;
import static android.app.admin.DevicePolicyResources.Strings.Settings.CONFIRM_WORK_PROFILE_PIN_HEADER;
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PASSWORD;
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PATTERN;
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PIN;
import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
import android.app.Activity;
@@ -259,19 +266,36 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity {
private String getTitleFromCredentialType(@LockPatternUtils.CredentialType int credentialType,
boolean isEffectiveUserManagedProfile) {
int overrideStringId;
int defaultStringId;
switch (credentialType) {
case LockPatternUtils.CREDENTIAL_TYPE_PIN:
return isEffectiveUserManagedProfile
? getString(R.string.lockpassword_confirm_your_work_pin_header)
: getString(R.string.lockpassword_confirm_your_pin_header);
if (isEffectiveUserManagedProfile) {
return mDevicePolicyManager.getString(
CONFIRM_WORK_PROFILE_PIN_HEADER,
() -> getString(R.string.lockpassword_confirm_your_work_pin_header));
}
return getString(R.string.lockpassword_confirm_your_pin_header);
case LockPatternUtils.CREDENTIAL_TYPE_PATTERN:
return isEffectiveUserManagedProfile
? getString(R.string.lockpassword_confirm_your_work_pattern_header)
: getString(R.string.lockpassword_confirm_your_pattern_header);
if (isEffectiveUserManagedProfile) {
return mDevicePolicyManager.getString(
CONFIRM_WORK_PROFILE_PATTERN_HEADER,
() -> getString(
R.string.lockpassword_confirm_your_work_pattern_header));
}
return getString(R.string.lockpassword_confirm_your_pattern_header);
case LockPatternUtils.CREDENTIAL_TYPE_PASSWORD:
return isEffectiveUserManagedProfile
? getString(R.string.lockpassword_confirm_your_work_password_header)
: getString(R.string.lockpassword_confirm_your_password_header);
if (isEffectiveUserManagedProfile) {
return mDevicePolicyManager.getString(
CONFIRM_WORK_PROFILE_PASSWORD_HEADER,
() -> getString(
R.string.lockpassword_confirm_your_work_password_header));
}
return getString(R.string.lockpassword_confirm_your_password_header);
}
return null;
}
@@ -280,17 +304,29 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity {
boolean isEffectiveUserManagedProfile) {
switch (credentialType) {
case LockPatternUtils.CREDENTIAL_TYPE_PIN:
return isEffectiveUserManagedProfile
? getString(R.string.lockpassword_confirm_your_pin_generic_profile)
: getString(R.string.lockpassword_confirm_your_pin_generic);
if (isEffectiveUserManagedProfile) {
return mDevicePolicyManager.getString(WORK_PROFILE_CONFIRM_PIN,
() -> getString(
R.string.lockpassword_confirm_your_pin_generic_profile));
}
return getString(R.string.lockpassword_confirm_your_pin_generic);
case LockPatternUtils.CREDENTIAL_TYPE_PATTERN:
return isEffectiveUserManagedProfile
? getString(R.string.lockpassword_confirm_your_pattern_generic_profile)
: getString(R.string.lockpassword_confirm_your_pattern_generic);
if (isEffectiveUserManagedProfile) {
return mDevicePolicyManager.getString(WORK_PROFILE_CONFIRM_PATTERN,
() -> getString(
R.string.lockpassword_confirm_your_pattern_generic_profile));
}
return getString(R.string.lockpassword_confirm_your_pattern_generic);
case LockPatternUtils.CREDENTIAL_TYPE_PASSWORD:
return isEffectiveUserManagedProfile
? getString(R.string.lockpassword_confirm_your_password_generic_profile)
: getString(R.string.lockpassword_confirm_your_password_generic);
if (isEffectiveUserManagedProfile) {
return mDevicePolicyManager.getString(WORK_PROFILE_CONFIRM_PASSWORD,
() -> getString(
R.string.lockpassword_confirm_your_password_generic_profile));
}
return getString(R.string.lockpassword_confirm_your_password_generic);
}
return null;
}