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

Commit 7078fbe4 authored by Beverly Tai's avatar Beverly Tai Committed by Android (Google) Code Review
Browse files

Merge "Immediately trigger face-auth on udfps bouncer" into sc-dev

parents e36778ea 8bfe50aa
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2199,7 +2199,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
                && !mSwitchingUser && !isFaceDisabled(user) && becauseCannotSkipBouncer
                && !mKeyguardGoingAway && mBiometricEnabledForUser.get(user) && !mLockIconPressed
                && strongAuthAllowsScanning && mIsPrimaryUser
                && !mSecureCameraLaunched;
                && (!mSecureCameraLaunched || mOccludingAppRequestingFace);

        // Aggregate relevant fields for debug logging.
        if (DEBUG_FACE || DEBUG_SPEW) {
+9 −1
Original line number Diff line number Diff line
@@ -148,7 +148,7 @@ public class UdfpsKeyguardView extends UdfpsAnimationView {
    /**
     * Animates in the bg protection circle behind the fp icon to highlight the icon.
     */
    void animateUdfpsBouncer() {
    void animateUdfpsBouncer(Runnable onEndAnimation) {
        if (mBgProtection.getVisibility() == View.VISIBLE && mBgProtection.getAlpha() == 1f) {
            // already fully highlighted, don't re-animate
            return;
@@ -186,6 +186,14 @@ public class UdfpsKeyguardView extends UdfpsAnimationView {
                ObjectAnimator.ofFloat(mBgProtection, View.SCALE_X, 0f, 1f),
                ObjectAnimator.ofFloat(mBgProtection, View.SCALE_Y, 0f, 1f),
                fpIconAnim);
        mAnimatorSet.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                if (onEndAnimation != null) {
                    onEndAnimation.run();
                }
            }
        });
        mAnimatorSet.start();
    }

+4 −1
Original line number Diff line number Diff line
@@ -129,6 +129,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
        mStatusBarStateController.removeCallback(mStateListener);
        mKeyguardViewManager.setAlternateAuthInterceptor(null);
        mTransitioningFromHome = false;
        mKeyguardUpdateMonitor.requestFaceAuthOnOccludingApp(false);

        if (mCancelRunnable != null) {
            mCancelRunnable.run();
@@ -165,11 +166,13 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
        mShowingUdfpsBouncer = show;
        updatePauseAuth();
        if (mShowingUdfpsBouncer) {
            mView.animateUdfpsBouncer();
            mView.animateUdfpsBouncer(() ->
                    mKeyguardUpdateMonitor.requestFaceAuthOnOccludingApp(true));
            mView.announceForAccessibility(mView.getContext().getString(
                    R.string.accessibility_fingerprint_bouncer));
        } else {
            mView.animateAwayUdfpsBouncer(null);
            mKeyguardUpdateMonitor.requestFaceAuthOnOccludingApp(false);
        }
        return true;
    }
+9 −3
Original line number Diff line number Diff line
@@ -114,7 +114,8 @@ public class BiometricUnlockController extends KeyguardUpdateMonitorCallback imp
    public static final int MODE_ONLY_WAKE = 4;

    /**
     * Mode in which fingerprint unlocks the device.
     * Mode in which fingerprint unlocks the device or passive auth (ie face auth) unlocks the
     * device while being requested when keyguard is occluded.
     */
    public static final int MODE_UNLOCK_COLLAPSING = 5;

@@ -355,7 +356,9 @@ public class BiometricUnlockController extends KeyguardUpdateMonitorCallback imp
        Optional.ofNullable(BiometricUiEvent.SUCCESS_EVENT_BY_SOURCE_TYPE.get(biometricSourceType))
                .ifPresent(UI_EVENT_LOGGER::log);

        boolean unlockAllowed = mKeyguardBypassController.onBiometricAuthenticated(
        boolean unlockAllowed =
                mKeyguardStateController.isOccluded()
                        || mKeyguardBypassController.onBiometricAuthenticated(
                                biometricSourceType, isStrongBiometric);
        if (unlockAllowed) {
            mKeyguardViewMediator.userActivity();
@@ -581,6 +584,9 @@ public class BiometricUnlockController extends KeyguardUpdateMonitorCallback imp
        if (unlockingAllowed && deviceDreaming) {
            return bypass ? MODE_WAKE_AND_UNLOCK_FROM_DREAM : MODE_ONLY_WAKE;
        }
        if (unlockingAllowed && mKeyguardStateController.isOccluded()) {
            return MODE_UNLOCK_COLLAPSING;
        }
        if (mKeyguardViewController.isShowing()) {
            if (mKeyguardViewController.bouncerIsOrWillBeShowing() && unlockingAllowed) {
                if (bypass && mKeyguardBypassController.canPlaySubtleWindowAnimations()) {