Allow Device Management Role Holder to update Settings strings.
Test: manual Bug: 188414370 Change-Id: I6e1a06619799a9e99382d791e72e2e4518f93cac
This commit is contained in:
@@ -16,6 +16,16 @@
|
||||
|
||||
package com.android.settings.password;
|
||||
|
||||
import static android.app.admin.DevicePolicyResources.Strings.UNDEFINED;
|
||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.CONFIRM_WORK_PROFILE_PASSWORD_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_PIN;
|
||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_LAST_PASSWORD_ATTEMPT_BEFORE_WIPE;
|
||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_LAST_PIN_ATTEMPT_BEFORE_WIPE;
|
||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_PASSWORD_REQUIRED;
|
||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_PIN_REQUIRED;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.app.settings.SettingsEnums;
|
||||
@@ -73,6 +83,17 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity {
|
||||
R.string.lockpassword_strong_auth_required_work_password
|
||||
};
|
||||
|
||||
private static final String[] DETAIL_TEXT_OVERRIDES = new String[] {
|
||||
UNDEFINED,
|
||||
UNDEFINED,
|
||||
WORK_PROFILE_CONFIRM_PIN,
|
||||
WORK_PROFILE_CONFIRM_PASSWORD,
|
||||
UNDEFINED,
|
||||
UNDEFINED,
|
||||
WORK_PROFILE_PIN_REQUIRED,
|
||||
WORK_PROFILE_PASSWORD_REQUIRED
|
||||
};
|
||||
|
||||
public static class InternalActivity extends ConfirmLockPassword {
|
||||
}
|
||||
|
||||
@@ -160,10 +181,10 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity {
|
||||
headerMessage = mDevicePolicyManager.getOrganizationNameForUser(mUserId);
|
||||
}
|
||||
if (TextUtils.isEmpty(headerMessage)) {
|
||||
headerMessage = getString(getDefaultHeader());
|
||||
headerMessage = getDefaultHeader();
|
||||
}
|
||||
if (TextUtils.isEmpty(detailsMessage)) {
|
||||
detailsMessage = getString(getDefaultDetails());
|
||||
detailsMessage = getDefaultDetails();
|
||||
}
|
||||
mGlifLayout.setHeaderText(headerMessage);
|
||||
mGlifLayout.setDescriptionText(detailsMessage);
|
||||
@@ -228,29 +249,37 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity {
|
||||
}, 5000);
|
||||
}
|
||||
|
||||
private int getDefaultHeader() {
|
||||
private String getDefaultHeader() {
|
||||
if (mFrp) {
|
||||
return mIsAlpha ? R.string.lockpassword_confirm_your_password_header_frp
|
||||
: R.string.lockpassword_confirm_your_pin_header_frp;
|
||||
return mIsAlpha ? getString(R.string.lockpassword_confirm_your_password_header_frp)
|
||||
: getString(R.string.lockpassword_confirm_your_pin_header_frp);
|
||||
}
|
||||
if (mIsManagedProfile) {
|
||||
return mIsAlpha ? R.string.lockpassword_confirm_your_work_password_header
|
||||
: R.string.lockpassword_confirm_your_work_pin_header;
|
||||
if (mIsAlpha) {
|
||||
return mDevicePolicyManager.getString(
|
||||
CONFIRM_WORK_PROFILE_PASSWORD_HEADER,
|
||||
() -> getString(
|
||||
R.string.lockpassword_confirm_your_work_password_header));
|
||||
}
|
||||
return mDevicePolicyManager.getString(
|
||||
CONFIRM_WORK_PROFILE_PIN_HEADER,
|
||||
() -> getString(R.string.lockpassword_confirm_your_work_pin_header));
|
||||
}
|
||||
return mIsAlpha ? R.string.lockpassword_confirm_your_password_header
|
||||
: R.string.lockpassword_confirm_your_pin_header;
|
||||
return mIsAlpha ? getString(R.string.lockpassword_confirm_your_password_header)
|
||||
: getString(R.string.lockpassword_confirm_your_pin_header);
|
||||
}
|
||||
|
||||
private int getDefaultDetails() {
|
||||
private String getDefaultDetails() {
|
||||
if (mFrp) {
|
||||
return mIsAlpha ? R.string.lockpassword_confirm_your_password_details_frp
|
||||
: R.string.lockpassword_confirm_your_pin_details_frp;
|
||||
return mIsAlpha ? getString(R.string.lockpassword_confirm_your_password_details_frp)
|
||||
: getString(R.string.lockpassword_confirm_your_pin_details_frp);
|
||||
}
|
||||
boolean isStrongAuthRequired = isStrongAuthRequired();
|
||||
// Map boolean flags to an index by isStrongAuth << 2 + isManagedProfile << 1 + isAlpha.
|
||||
int index = ((isStrongAuthRequired ? 1 : 0) << 2) + ((mIsManagedProfile ? 1 : 0) << 1)
|
||||
+ (mIsAlpha ? 1 : 0);
|
||||
return DETAIL_TEXTS[index];
|
||||
return mDevicePolicyManager.getString(
|
||||
DETAIL_TEXT_OVERRIDES[index], () -> getString(DETAIL_TEXTS[index]));
|
||||
}
|
||||
|
||||
private int getErrorMessage() {
|
||||
@@ -259,7 +288,17 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getLastTryErrorMessage(int userType) {
|
||||
protected String getLastTryOverrideErrorMessageId(int userType) {
|
||||
if (userType == USER_TYPE_MANAGED_PROFILE) {
|
||||
return mIsAlpha ? WORK_PROFILE_LAST_PASSWORD_ATTEMPT_BEFORE_WIPE
|
||||
: WORK_PROFILE_LAST_PIN_ATTEMPT_BEFORE_WIPE;
|
||||
}
|
||||
|
||||
return UNDEFINED;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getLastTryDefaultErrorMessage(int userType) {
|
||||
switch (userType) {
|
||||
case USER_TYPE_PRIMARY:
|
||||
return mIsAlpha ? R.string.lock_last_password_attempt_before_wipe_device
|
||||
|
||||
Reference in New Issue
Block a user