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,12 @@
package com.android.settings.password;
import static android.app.admin.DevicePolicyResources.Strings.UNDEFINED;
import static android.app.admin.DevicePolicyResources.Strings.Settings.CONFIRM_WORK_PROFILE_PATTERN_HEADER;
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PATTERN;
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_LAST_PATTERN_ATTEMPT_BEFORE_WIPE;
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_PATTERN_REQUIRED;
import android.annotation.Nullable;
import android.annotation.SuppressLint;
import android.app.Activity;
@@ -258,19 +264,25 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
mGlifLayout.getDescriptionTextView().setAlpha(0f);
}
private int getDefaultDetails() {
private String getDefaultDetails() {
if (mFrp) {
return R.string.lockpassword_confirm_your_pattern_details_frp;
return getString(R.string.lockpassword_confirm_your_pattern_details_frp);
}
final boolean isStrongAuthRequired = isStrongAuthRequired();
if (mIsManagedProfile) {
return isStrongAuthRequired
? R.string.lockpassword_strong_auth_required_work_pattern
: R.string.lockpassword_confirm_your_pattern_generic_profile;
if (isStrongAuthRequired) {
return mDevicePolicyManager.getString(WORK_PROFILE_PATTERN_REQUIRED,
() -> getString(
R.string.lockpassword_strong_auth_required_work_pattern));
} else {
return mDevicePolicyManager.getString(WORK_PROFILE_CONFIRM_PATTERN,
() -> getString(
R.string.lockpassword_confirm_your_pattern_generic_profile));
}
} else {
return isStrongAuthRequired
? R.string.lockpassword_strong_auth_required_device_pattern
: R.string.lockpassword_confirm_your_pattern_generic;
? getString(R.string.lockpassword_strong_auth_required_device_pattern)
: getString(R.string.lockpassword_confirm_your_pattern_generic);
}
}
@@ -352,11 +364,16 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
mGlifLayout.getHeaderTextView().announceForAccessibility(mGlifLayout.getHeaderText());
}
private int getDefaultHeader() {
if (mFrp) return R.string.lockpassword_confirm_your_pattern_header_frp;
return mIsManagedProfile
? R.string.lockpassword_confirm_your_work_pattern_header
: R.string.lockpassword_confirm_your_pattern_header;
private String getDefaultHeader() {
if (mFrp) return getString(R.string.lockpassword_confirm_your_pattern_header_frp);
if (mIsManagedProfile) {
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);
}
private Runnable mClearPatternRunnable = new Runnable() {
@@ -550,7 +567,16 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
}
@Override
protected int getLastTryErrorMessage(int userType) {
protected String getLastTryOverrideErrorMessageId(int userType) {
if (userType == USER_TYPE_MANAGED_PROFILE) {
return WORK_PROFILE_LAST_PATTERN_ATTEMPT_BEFORE_WIPE;
}
return UNDEFINED;
}
@Override
protected int getLastTryDefaultErrorMessage(int userType) {
switch (userType) {
case USER_TYPE_PRIMARY:
return R.string.lock_last_pattern_attempt_before_wipe_device;