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,10 @@
package com.android.settings.biometrics.fingerprint;
import static android.app.admin.DevicePolicyResources.Strings.UNDEFINED;
import static android.app.admin.DevicePolicyResources.Strings.Settings.FINGERPRINT_UNLOCK_DISABLED_EXPLANATION;
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_FINGERPRINT_LAST_DELETE_MESSAGE;
import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
import android.app.Activity;
@@ -356,11 +360,22 @@ public class FingerprintSettings extends SubSettings {
activity, getString(getHelpResource()), activity.getClass().getName());
final AnnotationSpan.LinkInfo linkInfo = new AnnotationSpan.LinkInfo(
activity, ANNOTATION_URL, helpIntent);
mFooterTitle = AnnotationSpan.linkify(getText(admin != null
? R.string
.security_settings_fingerprint_enroll_disclaimer_lockscreen_disabled
: R.string.security_settings_fingerprint_v2_home_screen),
linkInfo, adminLinkInfo);
if (admin != null) {
DevicePolicyManager devicePolicyManager =
getSystemService(DevicePolicyManager.class);
String footerText = devicePolicyManager.getString(
FINGERPRINT_UNLOCK_DISABLED_EXPLANATION,
() -> getString(R.string.security_settings_fingerprint_enroll_disclaimer_lockscreen_disabled));
mFooterTitle = AnnotationSpan.linkify(footerText, linkInfo, adminLinkInfo);
} else {
mFooterTitle = AnnotationSpan.linkify(
getText(R.string.security_settings_fingerprint_v2_home_screen),
linkInfo, adminLinkInfo);
}
}
private boolean isUdfps() {
@@ -917,11 +932,20 @@ public class FingerprintSettings extends SubSettings {
mFp = getArguments().getParcelable("fingerprint");
final boolean isProfileChallengeUser =
getArguments().getBoolean("isProfileChallengeUser");
DevicePolicyManager devicePolicyManager =
getContext().getSystemService(DevicePolicyManager.class);
String messageId =
isProfileChallengeUser ? WORK_PROFILE_FINGERPRINT_LAST_DELETE_MESSAGE
: UNDEFINED;
int defaultMessageId = isProfileChallengeUser
? R.string.fingerprint_last_delete_message_profile_challenge
: R.string.fingerprint_last_delete_message;
final AlertDialog alertDialog = new AlertDialog.Builder(getActivity())
.setTitle(R.string.fingerprint_last_delete_title)
.setMessage((isProfileChallengeUser)
? R.string.fingerprint_last_delete_message_profile_challenge
: R.string.fingerprint_last_delete_message)
.setMessage(devicePolicyManager.getString(
messageId, () -> getContext().getString(defaultMessageId)))
.setPositiveButton(R.string.fingerprint_last_delete_confirm,
new DialogInterface.OnClickListener() {
@Override