Loading packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +1 −1 Original line number Diff line number Diff line Loading @@ -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) { Loading packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardView.java +9 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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(); } Loading packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java +4 −1 Original line number Diff line number Diff line Loading @@ -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(); Loading Loading @@ -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; } Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java +9 −3 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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(); Loading Loading @@ -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()) { Loading Loading
packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +1 −1 Original line number Diff line number Diff line Loading @@ -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) { Loading
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardView.java +9 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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(); } Loading
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java +4 −1 Original line number Diff line number Diff line Loading @@ -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(); Loading Loading @@ -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; } Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java +9 −3 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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(); Loading Loading @@ -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()) { Loading