Extend SfpsEnrollmentFeature for text updating when progress changes
Bug: 341693248
Test: atest SfpsEnrollmentFeatureImplTest
Change-Id: I63576f129f4453d4db088adfaa472df797823514
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
index 39b1313..795f999 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
@@ -264,7 +264,7 @@
mIsSetupWizard = WizardManagerHelper.isAnySetupWizard(getIntent());
if (mCanAssumeUdfps || mCanAssumeSfps) {
- updateTitleAndDescription();
+ updateTitleAndDescription(true);
} else {
setHeaderText(R.string.security_settings_fingerprint_enroll_repeat_title);
}
@@ -387,7 +387,7 @@
protected void onStart() {
super.onStart();
updateProgress(false /* animate */);
- updateTitleAndDescription();
+ updateTitleAndDescription(true);
if (mRestoring) {
startIconAnimation();
}
@@ -491,12 +491,14 @@
return new Intent(this, FingerprintEnrollFinish.class);
}
- private void updateTitleAndDescription() {
+ private void updateTitleAndDescription(boolean force) {
if (mCanAssumeUdfps) {
updateTitleAndDescriptionForUdfps();
return;
} else if (mCanAssumeSfps) {
- updateTitleAndDescriptionForSfps();
+ if (force || mSfpsEnrollmentFeature.shouldUpdateTitleAndDescription()) {
+ updateTitleAndDescriptionForSfps();
+ }
return;
}
@@ -814,12 +816,15 @@
public void onEnrollmentProgressChange(int steps, int remaining) {
updateProgress(true /* animate */);
final int percent = (int) (((float) (steps - remaining) / (float) steps) * 100);
- if (mCanAssumeSfps && mIsAccessibilityEnabled) {
- CharSequence announcement = getString(
- R.string.security_settings_sfps_enroll_progress_a11y_message, percent);
- announceEnrollmentProgress(announcement);
+ if (mCanAssumeSfps) {
+ mSfpsEnrollmentFeature.handleOnEnrollmentProgressChange(steps, remaining);
+ if (mIsAccessibilityEnabled) {
+ CharSequence announcement = getString(
+ R.string.security_settings_sfps_enroll_progress_a11y_message, percent);
+ announceEnrollmentProgress(announcement);
+ }
}
- updateTitleAndDescription();
+ updateTitleAndDescription(false);
animateFlash();
if (mCanAssumeUdfps) {
if (mIsAccessibilityEnabled) {
@@ -850,6 +855,9 @@
if (mUdfpsEnrollHelper != null) {
mUdfpsEnrollHelper.onAcquired(isAcquiredGood);
}
+ if (mCanAssumeSfps) {
+ mSfpsEnrollmentFeature.handleOnAcquired(isAcquiredGood);
+ }
}
@Override
diff --git a/src/com/android/settings/biometrics/fingerprint/MessageDisplayController.java b/src/com/android/settings/biometrics/fingerprint/MessageDisplayController.java
index 4dc75b9..639bb3d 100644
--- a/src/com/android/settings/biometrics/fingerprint/MessageDisplayController.java
+++ b/src/com/android/settings/biometrics/fingerprint/MessageDisplayController.java
@@ -177,6 +177,11 @@
mEnrollmentCallback.onEnrollmentError(errMsgId, errString);
}
+ @Override
+ public void onAcquired(boolean isAcquiredGood) {
+ mEnrollmentCallback.onAcquired(isAcquiredGood);
+ }
+
private Message getMessageToDisplay(long timeStamp) {
ProgressMessage progressMessageToDisplay = getProgressMessageToDisplay(timeStamp);
if (mMustDisplayProgress) {
diff --git a/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeature.java b/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeature.java
index f99d394..bdf9530 100644
--- a/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeature.java
+++ b/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeature.java
@@ -93,4 +93,25 @@
* @param lottieView the view related to the lottie
*/
default void handleOnEnrollmentLottieComposition(LottieAnimationView lottieView) {}
+
+ /**
+ * Indicates if the title and description should be updated.
+ * @return true to update the title and description; false otherwise.
+ */
+ default boolean shouldUpdateTitleAndDescription() {
+ return true;
+ }
+
+ /**
+ * Notifies an acquisition happens.
+ * @param isAcquiredGood isAcquiredGood
+ */
+ default void handleOnAcquired(boolean isAcquiredGood) {}
+
+ /**
+ * Notifies an enrollment progress changes event.
+ * @param steps steps
+ * @param remaining remaining
+ */
+ default void handleOnEnrollmentProgressChange(int steps, int remaining) {}
}