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
This commit is contained in:
Milton Wu
2022-05-05 11:45:48 +08:00
parent a82a1ff84e
commit 130a64779e
2 changed files with 15 additions and 7 deletions

View File

@@ -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) {