From 23b95b41479ac6463b0e5789f6b60275c12c852e Mon Sep 17 00:00:00 2001 From: Milton Wu Date: Wed, 11 May 2022 16:10:20 +0800 Subject: [PATCH] Recreate fingerprint setup if degree 0 to 180 Recreate animation on fingerprint setup page when screen orientation is changed from 0 to 180, or 180 to 0. Bug: 232187001 Test: Manually rotate screen for 4 orientation, and make sure animation orientation is correct Change-Id: I75687bc8500cf5a48be6da6ef4245b12b63e774e --- .../fingerprint/FingerprintEnrollFindSensor.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java index 66059e71256..b5782cd510e 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java @@ -111,6 +111,11 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements lottieAnimationView.setVisibility(View.GONE); lottieAnimationViewPortrait.setVisibility(View.VISIBLE); break; + case Surface.ROTATION_180: + lottieAnimationView.setVisibility(View.VISIBLE); + lottieAnimationView.setRotation(180); + lottieAnimationViewPortrait.setVisibility(View.GONE); + break; case Surface.ROTATION_270: lottieAnimationView.setVisibility(View.GONE); lottieAnimationViewPortrait.setVisibility(View.VISIBLE); @@ -342,10 +347,7 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements @Override public void onOrientationChanged(int orientation) { final int currentRotation = getDisplay().getRotation(); - if ((mPreviousRotation == Surface.ROTATION_90 - && currentRotation == Surface.ROTATION_270) || ( - mPreviousRotation == Surface.ROTATION_270 - && currentRotation == Surface.ROTATION_90)) { + if ((currentRotation + 2) % 4 == mPreviousRotation) { mPreviousRotation = currentRotation; recreate(); }