From 872db9c41a285bab6b6d891bac4e20c33cecbf21 Mon Sep 17 00:00:00 2001 From: Mill Chen Date: Thu, 6 May 2021 16:57:08 +0800 Subject: [PATCH] Add require scrolling button for FingerprintEnrolling intro The consent in the fingerprint introduction has been updated. Users are required to read through the content. Adding a scrolling button is to prevent directly going to next page from this page. It also makes sure the content has to be scrolled down to the bottom of page. Fix: 184591438 Test: visual verified 1) Prepare a device with fingerprint sensor 2) Settings > Security > Fingerprint unlock 3) Entering the enrollment flow and see if the introduction has a button named "More" on the right-bottom side. Change-Id: I1916293807ca9fb04f5d576cf4f6aaccbbe1ff00 --- .../FingerprintEnrollIntroduction.java | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java index 0996a582d44..162208697b1 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java @@ -37,6 +37,7 @@ import com.android.settingslib.RestrictedLockUtilsInternal; import com.google.android.setupcompat.template.FooterBarMixin; import com.google.android.setupcompat.template.FooterButton; import com.google.android.setupdesign.span.LinkSpan; +import com.google.android.setupdesign.template.RequireScrollMixin; import java.util.List; @@ -69,14 +70,18 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction { .build() ); - mFooterBarMixin.setPrimaryButton( - new FooterButton.Builder(this) - .setText(R.string.security_settings_fingerprint_enroll_introduction_agree) - .setListener(this::onNextButtonClick) - .setButtonType(FooterButton.ButtonType.NEXT) - .setTheme(R.style.SudGlifButton_Primary) - .build() - ); + final FooterButton nextButton = new FooterButton.Builder(this) + .setText(R.string.security_settings_fingerprint_enroll_introduction_agree) + .setListener(this::onNextButtonClick) + .setButtonType(FooterButton.ButtonType.NEXT) + .setTheme(R.style.SudGlifButton_Primary) + .build(); + + mFooterBarMixin.setPrimaryButton(nextButton); + final RequireScrollMixin requireScrollMixin = + getLayout().getMixin(RequireScrollMixin.class); + requireScrollMixin.requireScrollWithButton(this, nextButton, + R.string.security_settings_face_enroll_introduction_more, this::onNextButtonClick); } int getNegativeButtonTextId() {