Loading src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java +11 −10 Original line number Diff line number Diff line Loading @@ -53,7 +53,6 @@ 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.ProgressBar; Loading Loading @@ -191,7 +190,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { private boolean mHaveShownSfpsRightEdgeLottie; private boolean mShouldShowLottie; private ObjectAnimator mHelpAnimation; private Animator mHelpAnimation; private OrientationEventListener mOrientationEventListener; private int mPreviousRotation = 0; Loading Loading @@ -341,16 +340,10 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { } 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); mHelpAnimation = mSfpsEnrollmentFeature.getHelpAnimator(progressLottieLayout); } @Override protected BiometricEnrollSidecar getSidecar() { final FingerprintEnrollSidecar sidecar = new FingerprintEnrollSidecar(this, Loading Loading @@ -703,6 +696,9 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { view.setComposition(composition); view.setVisibility(View.VISIBLE); view.playAnimation(); if (mCanAssumeSfps) { mSfpsEnrollmentFeature.handleOnEnrollmentLottieComposition(view); } } @EnrollStage Loading Loading @@ -1226,5 +1222,10 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { public float getEnrollStageThreshold(@NonNull Context context, int index) { throw new IllegalStateException(exceptionStr); } @Override public Animator getHelpAnimator(@NonNull View target) { throw new IllegalStateException(exceptionStr); } } } src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeature.java +17 −0 Original line number Diff line number Diff line Loading @@ -16,12 +16,16 @@ package com.android.settings.biometrics.fingerprint.feature; import android.animation.Animator; import android.content.Context; import android.view.View; import androidx.annotation.NonNull; import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling; import com.airbnb.lottie.LottieAnimationView; import java.util.function.Function; import java.util.function.Supplier; Loading Loading @@ -76,4 +80,17 @@ public interface SfpsEnrollmentFeature { * @return threshold */ float getEnrollStageThreshold(@NonNull Context context, int index); /** * Gets the help animator used when get help message. * @param target the target view to animate * @return animator */ Animator getHelpAnimator(@NonNull View target); /** * Handles extra stuffs on lottie composition. * @param lottieView the view related to the lottie */ default void handleOnEnrollmentLottieComposition(LottieAnimationView lottieView) {} } src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeatureImpl.java +17 −0 Original line number Diff line number Diff line Loading @@ -23,8 +23,12 @@ import static com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrol import static com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.SFPS_STAGE_RIGHT_EDGE; import static com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.STAGE_UNKNOWN; import android.animation.Animator; import android.animation.ObjectAnimator; import android.content.Context; import android.hardware.fingerprint.FingerprintManager; import android.view.View; import android.view.animation.AccelerateInterpolator; import androidx.annotation.NonNull; import androidx.annotation.Nullable; Loading Loading @@ -88,4 +92,17 @@ public class SfpsEnrollmentFeatureImpl implements SfpsEnrollmentFeature { } return mFingerprintManager.getEnrollStageThreshold(index); } @Override public Animator getHelpAnimator(@NonNull View target) { final float translationX = 40; final int duration = 550; final ObjectAnimator help = ObjectAnimator.ofFloat(target, "translationX" /* propertyName */, 0, translationX, -1 * translationX, translationX, 0f); help.setInterpolator(new AccelerateInterpolator()); help.setDuration(duration); help.setAutoCancel(false); return help; } } Loading
src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java +11 −10 Original line number Diff line number Diff line Loading @@ -53,7 +53,6 @@ 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.ProgressBar; Loading Loading @@ -191,7 +190,7 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { private boolean mHaveShownSfpsRightEdgeLottie; private boolean mShouldShowLottie; private ObjectAnimator mHelpAnimation; private Animator mHelpAnimation; private OrientationEventListener mOrientationEventListener; private int mPreviousRotation = 0; Loading Loading @@ -341,16 +340,10 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { } 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); mHelpAnimation = mSfpsEnrollmentFeature.getHelpAnimator(progressLottieLayout); } @Override protected BiometricEnrollSidecar getSidecar() { final FingerprintEnrollSidecar sidecar = new FingerprintEnrollSidecar(this, Loading Loading @@ -703,6 +696,9 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { view.setComposition(composition); view.setVisibility(View.VISIBLE); view.playAnimation(); if (mCanAssumeSfps) { mSfpsEnrollmentFeature.handleOnEnrollmentLottieComposition(view); } } @EnrollStage Loading Loading @@ -1226,5 +1222,10 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { public float getEnrollStageThreshold(@NonNull Context context, int index) { throw new IllegalStateException(exceptionStr); } @Override public Animator getHelpAnimator(@NonNull View target) { throw new IllegalStateException(exceptionStr); } } }
src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeature.java +17 −0 Original line number Diff line number Diff line Loading @@ -16,12 +16,16 @@ package com.android.settings.biometrics.fingerprint.feature; import android.animation.Animator; import android.content.Context; import android.view.View; import androidx.annotation.NonNull; import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling; import com.airbnb.lottie.LottieAnimationView; import java.util.function.Function; import java.util.function.Supplier; Loading Loading @@ -76,4 +80,17 @@ public interface SfpsEnrollmentFeature { * @return threshold */ float getEnrollStageThreshold(@NonNull Context context, int index); /** * Gets the help animator used when get help message. * @param target the target view to animate * @return animator */ Animator getHelpAnimator(@NonNull View target); /** * Handles extra stuffs on lottie composition. * @param lottieView the view related to the lottie */ default void handleOnEnrollmentLottieComposition(LottieAnimationView lottieView) {} }
src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeatureImpl.java +17 −0 Original line number Diff line number Diff line Loading @@ -23,8 +23,12 @@ import static com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrol import static com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.SFPS_STAGE_RIGHT_EDGE; import static com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.STAGE_UNKNOWN; import android.animation.Animator; import android.animation.ObjectAnimator; import android.content.Context; import android.hardware.fingerprint.FingerprintManager; import android.view.View; import android.view.animation.AccelerateInterpolator; import androidx.annotation.NonNull; import androidx.annotation.Nullable; Loading Loading @@ -88,4 +92,17 @@ public class SfpsEnrollmentFeatureImpl implements SfpsEnrollmentFeature { } return mFingerprintManager.getEnrollStageThreshold(index); } @Override public Animator getHelpAnimator(@NonNull View target) { final float translationX = 40; final int duration = 550; final ObjectAnimator help = ObjectAnimator.ofFloat(target, "translationX" /* propertyName */, 0, translationX, -1 * translationX, translationX, 0f); help.setInterpolator(new AccelerateInterpolator()); help.setDuration(duration); help.setAutoCancel(false); return help; } }