diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java index f2eec39ed17e5..c32133119386c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java @@ -166,6 +166,7 @@ public class NotificationPanelViewController extends PanelViewController { private final ConfigurationListener mConfigurationListener = new ConfigurationListener(); private final StatusBarStateListener mStatusBarStateListener = new StatusBarStateListener(); private final ExpansionCallback mExpansionCallback = new ExpansionCallback(); + private final BiometricUnlockController mBiometricUnlockController; private final NotificationPanelView mView; private final MetricsLogger mMetricsLogger; private final ActivityManager mActivityManager; @@ -227,7 +228,8 @@ public class NotificationPanelViewController extends PanelViewController { mBarState == StatusBarState.KEYGUARD || mBarState == StatusBarState.SHADE_LOCKED; if (!running && mFirstBypassAttempt && keyguardOrShadeLocked && !mDozing - && !mDelayShowingKeyguardStatusBar) { + && !mDelayShowingKeyguardStatusBar + && !mBiometricUnlockController.isBiometricUnlock()) { mFirstBypassAttempt = false; animateKeyguardStatusBarIn(StackStateAnimator.ANIMATION_DURATION_STANDARD); } @@ -487,6 +489,7 @@ public class NotificationPanelViewController extends PanelViewController { StatusBarTouchableRegionManager statusBarTouchableRegionManager, ConversationNotificationManager conversationNotificationManager, MediaHierarchyManager mediaHierarchyManager, + BiometricUnlockController biometricUnlockController, StatusBarKeyguardViewManager statusBarKeyguardViewManager) { super(view, falsingManager, dozeLog, keyguardStateController, (SysuiStatusBarStateController) statusBarStateController, vibratorHelper, @@ -511,6 +514,7 @@ public class NotificationPanelViewController extends PanelViewController { mDisplayId = displayId; mPulseExpansionHandler = pulseExpansionHandler; mDozeParameters = dozeParameters; + mBiometricUnlockController = biometricUnlockController; pulseExpansionHandler.setPulseExpandAbortListener(() -> { if (mQs != null) { mQs.animateHeaderSlidingOut(); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java index c2d2181408036..b0b66b87d421b 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java @@ -180,6 +180,8 @@ public class NotificationPanelViewTest extends SysuiTestCase { @Mock private ConversationNotificationManager mConversationNotificationManager; @Mock + private BiometricUnlockController mBiometricUnlockController; + @Mock private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager; private FlingAnimationUtils.Builder mFlingAnimationUtilsBuilder; @@ -238,7 +240,7 @@ public class NotificationPanelViewTest extends SysuiTestCase { mMetricsLogger, mActivityManager, mZenModeController, mConfigurationController, mFlingAnimationUtilsBuilder, mStatusBarTouchableRegionManager, mConversationNotificationManager, mMediaHiearchyManager, - mStatusBarKeyguardViewManager); + mBiometricUnlockController, mStatusBarKeyguardViewManager); mNotificationPanelViewController.initDependencies(mStatusBar, mGroupManager, mNotificationShelf, mNotificationAreaController, mScrimController); mNotificationPanelViewController.setHeadsUpManager(mHeadsUpManager);