summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Magno <david.magno@sony.com>2023-01-25 11:30:28 +0100
committeralk3pInjection <webmaster@raspii.tech>2023-04-22 17:15:45 +0800
commitd704a4b31843e7575cc418c1c3b3c04e5ea3ddbc (patch)
tree579ddfb59aaed72c150682bb8e94045fb32ff569
parent5ef300f02d9643c44935bf537545a24684a84247 (diff)
Crash when clicking Fingerprint Settings 'Learn more' link
NPE when clicking the 'Learn more' link if no helpIntent has been provided. Also hide the link icon on the Fingerprint Enroll Introduction screen if no link/text has been provided. Bug: 266530752 Test: Manual Change-Id: I7f16abe5b171a759603329400f840449ea527456
-rw-r--r--res/layout/fingerprint_enroll_introduction.xml1
-rw-r--r--src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java15
-rw-r--r--src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java4
3 files changed, 14 insertions, 6 deletions
diff --git a/res/layout/fingerprint_enroll_introduction.xml b/res/layout/fingerprint_enroll_introduction.xml
index 0c10e52e71..f3faf874bf 100644
--- a/res/layout/fingerprint_enroll_introduction.xml
+++ b/res/layout/fingerprint_enroll_introduction.xml
@@ -185,6 +185,7 @@
</LinearLayout>
<LinearLayout
+ android:id="@+id/learn_more"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
index 08fb5c0c5e..20b204c87d 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
@@ -28,9 +28,11 @@ import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
import android.os.Bundle;
import android.text.Html;
import android.text.method.LinkMovementMethod;
+import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
+import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
@@ -107,10 +109,15 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
footerMessage5.setText(getFooterMessage5());
footerMessage6.setText(getFooterMessage6());
- final TextView footerLink = findViewById(R.id.footer_learn_more);
- footerLink.setMovementMethod(LinkMovementMethod.getInstance());
- footerLink.setText(Html.fromHtml(getString(getFooterLearnMore()),
- Html.FROM_HTML_MODE_LEGACY));
+ if (TextUtils.isEmpty(getString(getFooterLearnMore()))) {
+ final LinearLayout learnMoreFooter = findViewById(R.id.learn_more);
+ learnMoreFooter.setVisibility(View.GONE);
+ } else {
+ final TextView footerLink = findViewById(R.id.footer_learn_more);
+ footerLink.setMovementMethod(LinkMovementMethod.getInstance());
+ footerLink.setText(Html.fromHtml(getString(getFooterLearnMore()),
+ Html.FROM_HTML_MODE_LEGACY));
+ }
if (mCanAssumeUdfps) {
footerMessage6.setVisibility(View.VISIBLE);
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
index bbb4f45b70..3d192111c6 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
@@ -419,8 +419,8 @@ public class FingerprintSettings extends SubSettings {
activity, DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT, mUserId);
final Intent helpIntent = HelpUtils.getHelpIntent(
activity, getString(getHelpResource()), activity.getClass().getName());
- final View.OnClickListener learnMoreClickListener = (v) ->
- activity.startActivityForResult(helpIntent, 0);
+ final View.OnClickListener learnMoreClickListener = helpIntent != null ? (v) ->
+ activity.startActivityForResult(helpIntent, 0) : null;
mFooterColumns.clear();
if (admin != null) {