Extend SfpsEnrollmentFeature for text updating when progress changes

Bug: 341693248
Test: atest SfpsEnrollmentFeatureImplTest
Change-Id: I63576f129f4453d4db088adfaa472df797823514
This commit is contained in:
Wu Ahan
2024-05-23 07:46:16 +00:00
parent 1302513608
commit 25ce76f667
3 changed files with 43 additions and 9 deletions

View File

@@ -264,7 +264,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
mIsSetupWizard = WizardManagerHelper.isAnySetupWizard(getIntent());
if (mCanAssumeUdfps || mCanAssumeSfps) {
updateTitleAndDescription();
updateTitleAndDescription(true);
} else {
setHeaderText(R.string.security_settings_fingerprint_enroll_repeat_title);
}
@@ -387,7 +387,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
protected void onStart() {
super.onStart();
updateProgress(false /* animate */);
updateTitleAndDescription();
updateTitleAndDescription(true);
if (mRestoring) {
startIconAnimation();
}
@@ -491,12 +491,14 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
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 class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
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 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
if (mUdfpsEnrollHelper != null) {
mUdfpsEnrollHelper.onAcquired(isAcquiredGood);
}
if (mCanAssumeSfps) {
mSfpsEnrollmentFeature.handleOnAcquired(isAcquiredGood);
}
}
@Override

View File

@@ -177,6 +177,11 @@ public class MessageDisplayController extends FingerprintManager.EnrollmentCallb
mEnrollmentCallback.onEnrollmentError(errMsgId, errString);
}
@Override
public void onAcquired(boolean isAcquiredGood) {
mEnrollmentCallback.onAcquired(isAcquiredGood);
}
private Message getMessageToDisplay(long timeStamp) {
ProgressMessage progressMessageToDisplay = getProgressMessageToDisplay(timeStamp);
if (mMustDisplayProgress) {

View File

@@ -93,4 +93,25 @@ public interface SfpsEnrollmentFeature {
* @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) {}
}