From 130a64779eaa23aee5ee986d8f593cd03ed16466 Mon Sep 17 00:00:00 2001 From: Milton Wu Date: Thu, 5 May 2022 11:45:48 +0800 Subject: [PATCH] Fix Learn more link not work Old span text shall not be used in preference footer. Change implementation to use footer learnMore APIs Bug: 228101275 Test: Make sure "Learn more" can be clicked on Fingerprint setting page Change-Id: Ied2326b1a75fc02e7a3fe2321735f2f9f5ac066f --- res/values/strings.xml | 8 ++++++-- .../fingerprint/FingerprintSettings.java | 14 +++++++++----- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index e333969e471..76ac7e94539 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1044,8 +1044,12 @@ You\u2019ve reached the maximum number of attempts - - Use your fingerprint to unlock your phone or verify it\u2019s you, like when you sign in to apps\n\nLearn more + + Use your fingerprint to unlock your tablet or verify it\u2019s you, like when you sign in to apps + + Use your fingerprint to unlock your device or verify it\u2019s you, like when you sign in to apps + + Use your fingerprint to unlock your phone or verify it\u2019s you, like when you sign in to apps diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java index 22821920722..408f8596aac 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java @@ -145,6 +145,7 @@ public class FingerprintSettings extends SubSettings { private Drawable mHighlightDrawable; private int mUserId; private CharSequence mFooterTitle; + private View.OnClickListener mLearnMoreListener = null; private boolean mEnrollClicked; private long mChallenge; @@ -372,9 +373,8 @@ public class FingerprintSettings extends SubSettings { mFooterTitle = AnnotationSpan.linkify(footerText, linkInfo, adminLinkInfo); } else { - mFooterTitle = AnnotationSpan.linkify( - getText(R.string.security_settings_fingerprint_v2_home_screen), - linkInfo, adminLinkInfo); + mFooterTitle = getText(R.string.security_settings_fingerprint_v2_home_screen_text); + mLearnMoreListener = (v) -> activity.startActivityForResult(helpIntent, 0); } @@ -474,8 +474,12 @@ public class FingerprintSettings extends SubSettings { if (context == null) { return; } - root.addPreference(new FooterPreference.Builder(context).setTitle( - mFooterTitle).build()); + final FooterPreference footer = new FooterPreference.Builder(context) + .setTitle(mFooterTitle).build(); + if (mLearnMoreListener != null) { + footer.setLearnMoreAction(mLearnMoreListener); + } + root.addPreference(footer); } private static String genKey(int id) {