Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6e05ff47 authored by Curtis Belmonte's avatar Curtis Belmonte
Browse files

Fix UDFPS enroll when help received on first step

Fixes an issue where the UDFPS enroll progress drawable would complete
if an error resulted in a help message being sent on the first
enrollment step. Instead, the progress bar will now remain empty in this
case.

Test: Manual

Bug: 201364678
Bug: 201602528
Change-Id: I7df617287e448be3c40443b2fe0f1359b6ab2b82
parent fd48bc50
Loading
Loading
Loading
Loading
+5 −8
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ public class UdfpsEnrollProgressBarDrawable extends Drawable {

    @Nullable private UdfpsEnrollHelper mEnrollHelper;
    @NonNull private List<UdfpsEnrollProgressBarSegment> mSegments = new ArrayList<>();
    private int mTotalSteps = 1;
    private int mTotalSteps = 0;
    private int mProgressSteps = 0;
    private boolean mIsShowingHelp = false;

@@ -67,22 +67,19 @@ public class UdfpsEnrollProgressBarDrawable extends Drawable {

    void onEnrollmentProgress(int remaining, int totalSteps) {
        mTotalSteps = totalSteps;
        updateState(getProgressSteps(remaining, totalSteps), false /* isShowingHelp */);

        // Show some progress for the initial touch.
        updateState(Math.max(1, totalSteps - remaining), false /* isShowingHelp */);
    }

    void onEnrollmentHelp(int remaining, int totalSteps) {
        updateState(getProgressSteps(remaining, totalSteps), true /* isShowingHelp */);
        updateState(Math.max(0, totalSteps - remaining), true /* isShowingHelp */);
    }

    void onLastStepAcquired() {
        updateState(mTotalSteps, false /* isShowingHelp */);
    }

    private static int getProgressSteps(int remaining, int totalSteps) {
        // Show some progress for the initial touch.
        return Math.max(1, totalSteps - remaining);
    }

    private void updateState(int progressSteps, boolean isShowingHelp) {
        updateProgress(progressSteps);
        updateFillColor(isShowingHelp);