Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 51f3c670 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Check whether udfps is supported instead of enrolled" into sc-v2-dev

parents 60422ba0 ab30e51c
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -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="
+1 −1
Original line number Diff line number Diff line
@@ -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();
+1 −1
Original line number Diff line number Diff line
@@ -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()) {
+6 −4
Original line number Diff line number Diff line
@@ -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 =
+1 −1
Original line number Diff line number Diff line
@@ -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);