diff options
5 files changed, 16 insertions, 14 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java index 85bc8f7c70a2..14bf800d261e 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java @@ -2044,17 +2044,17 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab } /** - * @return true if there's at least one udfps enrolled + * @return true if there's at least one udfps enrolled for the current user. */ public boolean isUdfpsEnrolled() { return mIsUdfpsEnrolled; } /** - * @return if udfps is available on this device. will return true even if the user hasn't - * enrolled udfps. This may be false if called before onAllAuthenticatorsRegistered. + * @return true if udfps HW is supported on this device. Can return true even if the user has + * not enrolled udfps. This may be false if called before onAllAuthenticatorsRegistered. */ - public boolean isUdfpsAvailable() { + public boolean isUdfpsSupported() { return mAuthController.getUdfpsProps() != null && !mAuthController.getUdfpsProps().isEmpty(); } @@ -2102,7 +2102,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab } updateUdfpsEnrolled(getCurrentUser()); - final boolean shouldListenForFingerprint = shouldListenForFingerprint(isUdfpsEnrolled()); + final boolean shouldListenForFingerprint = shouldListenForFingerprint(isUdfpsSupported()); final boolean runningOrRestarting = mFingerprintRunningState == BIOMETRIC_STATE_RUNNING || mFingerprintRunningState == BIOMETRIC_STATE_CANCELLING_RESTARTING; if (runningOrRestarting && !shouldListenForFingerprint) { @@ -3388,11 +3388,11 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab + " expected=" + (shouldListenForFingerprint(isUdfpsEnrolled()) ? 1 : 0)); pw.println(" strongAuthFlags=" + Integer.toHexString(strongAuthFlags)); pw.println(" trustManaged=" + getUserTrustIsManaged(userId)); - pw.println(" udfpsEnrolled=" + isUdfpsEnrolled()); pw.println(" mFingerprintLockedOut=" + mFingerprintLockedOut); pw.println(" mFingerprintLockedOutPermanent=" + mFingerprintLockedOutPermanent); pw.println(" enabledByUser=" + mBiometricEnabledForUser.get(userId)); - if (isUdfpsEnrolled()) { + if (isUdfpsSupported()) { + pw.println(" udfpsEnrolled=" + isUdfpsEnrolled()); pw.println(" shouldListenForUdfps=" + shouldListenForFingerprint(true)); pw.println(" bouncerVisible=" + mBouncer); pw.println(" mStatusBarState=" diff --git a/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java b/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java index 8a0b5b8704e6..c7be3ce01c54 100644 --- a/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java +++ b/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java @@ -435,7 +435,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme boolean wasUdfpsSupported = mUdfpsSupported; boolean wasUdfpsEnrolled = mUdfpsEnrolled; - mUdfpsSupported = mAuthController.getUdfpsSensorLocation() != null; + mUdfpsSupported = mKeyguardUpdateMonitor.isUdfpsSupported(); mView.setUseBackground(mUdfpsSupported); mUdfpsEnrolled = mKeyguardUpdateMonitor.isUdfpsEnrolled(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java index 74ebfe5ad5e4..1c0088709f14 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java @@ -818,7 +818,7 @@ public class KeyguardIndicationController { } private void showTryFingerprintMsg(int msgId, String a11yString) { - if (mKeyguardUpdateMonitor.isUdfpsAvailable()) { + if (mKeyguardUpdateMonitor.isUdfpsSupported()) { // if udfps available, there will always be a tappable affordance to unlock // For example, the lock icon if (mKeyguardBypassController.getUserHasDeviceEntryIntent()) { diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/LockIconViewControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/keyguard/LockIconViewControllerTest.java index 5e73dbcbc95d..d64319b278b4 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/LockIconViewControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/LockIconViewControllerTest.java @@ -212,6 +212,7 @@ public class LockIconViewControllerTest extends SysuiTestCase { @Test public void testUpdateFingerprintLocationOnAuthenticatorsRegistered() { // GIVEN fp sensor location is not available pre-init + when(mKeyguardUpdateMonitor.isUdfpsSupported()).thenReturn(false); when(mAuthController.getFingerprintSensorLocation()).thenReturn(null); when(mAuthController.getUdfpsProps()).thenReturn(null); mLockIconViewController.init(); @@ -232,7 +233,7 @@ public class LockIconViewControllerTest extends SysuiTestCase { } @Test - public void testLockIconViewBackgroundEnabledWhenUdfpsIsAvailable() { + public void testLockIconViewBackgroundEnabledWhenUdfpsIsSupported() { // GIVEN Udpfs sensor location is available setupUdfps(); @@ -247,9 +248,9 @@ public class LockIconViewControllerTest extends SysuiTestCase { } @Test - public void testLockIconViewBackgroundDisabledWhenUdfpsIsUnavailable() { - // GIVEN Udfps sensor location is not available - when(mAuthController.getUdfpsSensorLocation()).thenReturn(null); + public void testLockIconViewBackgroundDisabledWhenUdfpsIsNotSupported() { + // GIVEN Udfps sensor location is not supported + when(mKeyguardUpdateMonitor.isUdfpsSupported()).thenReturn(false); mLockIconViewController.init(); captureAttachListener(); @@ -365,6 +366,7 @@ public class LockIconViewControllerTest extends SysuiTestCase { } private Pair<Integer, PointF> setupUdfps() { + when(mKeyguardUpdateMonitor.isUdfpsSupported()).thenReturn(true); final PointF udfpsLocation = new PointF(50, 75); final int radius = 33; final FingerprintSensorPropertiesInternal fpProps = diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/KeyguardIndicationControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/KeyguardIndicationControllerTest.java index 01f7fae05f76..cb0d87a20f89 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/KeyguardIndicationControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/KeyguardIndicationControllerTest.java @@ -701,7 +701,7 @@ public class KeyguardIndicationControllerTest extends SysuiTestCase { // GIVEN fingerprint is also running (not udfps) when(mKeyguardUpdateMonitor.isFingerprintDetectionRunning()).thenReturn(true); - when(mKeyguardUpdateMonitor.isUdfpsAvailable()).thenReturn(false); + when(mKeyguardUpdateMonitor.isUdfpsSupported()).thenReturn(false); mController.setVisible(true); |