Add animation for progress bar and lottie in fingerprint enrollment
Test: Manual - While enrolling a fingerprint, onHelp will cause the lottie and progress bar to shake Bug: 266838595 Change-Id: I547d86182a87846aca7d025b35a008675f449e2e Merged-in: I547d86182a87846aca7d025b35a008675f449e2e
This commit is contained in:
@@ -53,10 +53,12 @@ import android.view.Surface;
|
||||
import android.view.View;
|
||||
import android.view.accessibility.AccessibilityEvent;
|
||||
import android.view.accessibility.AccessibilityManager;
|
||||
import android.view.animation.AccelerateDecelerateInterpolator;
|
||||
import android.view.animation.AnimationUtils;
|
||||
import android.view.animation.Interpolator;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.IdRes;
|
||||
@@ -185,6 +187,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
|
||||
private boolean mHaveShownSfpsLeftEdgeLottie;
|
||||
private boolean mHaveShownSfpsRightEdgeLottie;
|
||||
private boolean mShouldShowLottie;
|
||||
private ObjectAnimator mHelpAnimation;
|
||||
|
||||
private OrientationEventListener mOrientationEventListener;
|
||||
private int mPreviousRotation = 0;
|
||||
@@ -276,6 +279,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
|
||||
} else if (mCanAssumeSfps) {
|
||||
setContentView(R.layout.sfps_enroll_enrolling);
|
||||
setDescriptionText(R.string.security_settings_fingerprint_enroll_start_message);
|
||||
setHelpAnimation();
|
||||
} else {
|
||||
setContentView(R.layout.fingerprint_enroll_enrolling);
|
||||
setDescriptionText(R.string.security_settings_fingerprint_enroll_start_message);
|
||||
@@ -350,6 +354,17 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
|
||||
maybeHideSfpsText(config);
|
||||
}
|
||||
|
||||
private void setHelpAnimation() {
|
||||
final float translationX = 40;
|
||||
final int duration = 550;
|
||||
final RelativeLayout progressLottieLayout = findViewById(R.id.progress_lottie);
|
||||
mHelpAnimation = ObjectAnimator.ofFloat(progressLottieLayout,
|
||||
"translationX" /* propertyName */,
|
||||
0, translationX, -1 * translationX, translationX, 0f);
|
||||
mHelpAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
|
||||
mHelpAnimation.setDuration(duration);
|
||||
mHelpAnimation.setAutoCancel(false);
|
||||
}
|
||||
@Override
|
||||
protected BiometricEnrollSidecar getSidecar() {
|
||||
final FingerprintEnrollSidecar sidecar = new FingerprintEnrollSidecar(this,
|
||||
@@ -755,6 +770,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
|
||||
if (!TextUtils.isEmpty(helpString)) {
|
||||
if (!(mCanAssumeUdfps || mCanAssumeSfps)) {
|
||||
mErrorText.removeCallbacks(mTouchAgainRunnable);
|
||||
mErrorText.removeCallbacks(mTouchAgainRunnable);
|
||||
}
|
||||
showError(helpString);
|
||||
}
|
||||
@@ -848,6 +864,9 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
|
||||
// Show nothing for subtitle when getting an error message.
|
||||
setDescriptionText("");
|
||||
if (mCanAssumeSfps) {
|
||||
if (!mHelpAnimation.isRunning()) {
|
||||
mHelpAnimation.start();
|
||||
}
|
||||
applySfpsErrorDynamicColors(getApplicationContext(), true);
|
||||
}
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user