From 8ada95641a4d224098c1a108b037ff6a8d7e193b Mon Sep 17 00:00:00 2001 From: Grace Cheng Date: Tue, 3 Jan 2023 18:23:15 +0000 Subject: [PATCH] Updates sfps animations for natural orientation Updates enroll find sensor animations given sfps natural orientation switch from landscape to portrait Test: make RunSettingsRoboTests ROBOTEST_FILTER=FingerprintEnrollFindSensorTest Fixes: 264274708 Change-Id: I392767d2bde98e3509eef29f3095b2dafee16a30 --- .../FingerprintEnrollFindSensor.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java index 778ee5cb0b9..89bda20cd7a 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java @@ -73,6 +73,7 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements private int mPreviousRotation = 0; private ScreenSizeFoldProvider mScreenSizeFoldProvider; private boolean mIsFolded; + private boolean mIsReverseDefaultRotation; @Override protected void onCreate(Bundle savedInstanceState) { @@ -120,6 +121,8 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements } else if (mCanAssumeSfps) { setHeaderText(R.string.security_settings_sfps_enroll_find_sensor_title); setDescriptionText(R.string.security_settings_sfps_enroll_find_sensor_message); + mIsReverseDefaultRotation = getApplicationContext().getResources().getBoolean( + com.android.internal.R.bool.config_reverseDefaultRotation); } else { setHeaderText(R.string.security_settings_fingerprint_enroll_find_sensor_title); setDescriptionText(R.string.security_settings_fingerprint_enroll_find_sensor_message); @@ -175,11 +178,20 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements } } + private int getRotationFromDefault(int rotation) { + if (mIsReverseDefaultRotation) { + return (rotation + 1) % 4; + } else { + return rotation; + } + } + private void updateSfpsFindSensorAnimationAsset() { mScreenSizeFoldProvider .onConfigurationChange(getApplicationContext().getResources().getConfiguration()); mIllustrationLottie = findViewById(R.id.illustration_lottie); - final int rotation = getApplicationContext().getDisplay().getRotation(); + final int rotation = getRotationFromDefault( + getApplicationContext().getDisplay().getRotation()); switch (rotation) { case Surface.ROTATION_90: @@ -441,7 +453,7 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements mOrientationEventListener = new OrientationEventListener(this) { @Override public void onOrientationChanged(int orientation) { - final int currentRotation = getDisplay().getRotation(); + final int currentRotation = getRotationFromDefault(getDisplay().getRotation()); if ((currentRotation + 2) % 4 == mPreviousRotation) { mPreviousRotation = currentRotation; recreate(); @@ -449,7 +461,7 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements } }; mOrientationEventListener.enable(); - mPreviousRotation = getDisplay().getRotation(); + mPreviousRotation = getRotationFromDefault(getDisplay().getRotation()); } private void stopListenOrientationEvent() {