Prevent bouncer from showing during unlock animation

There is a delay in keyguard showing state change when unlocking via
FPS. When a swipe down occurs during this change, the bouncer would
flicker on screen. Prevent bouncer showing if keyguard is going away.

Fixes: 284454840
Test: atest StatusBarKeyguardViewManagerTest
Test: manual, swipe down after unlock with FPS
Change-Id: I2b764fba6f7789d9d5bc5089d76a73f7e56f63f9
This commit is contained in:
Matt Pietal
2023-05-26 15:20:38 +00:00
parent 3058475a71
commit a3c0630095
2 changed files with 12 additions and 0 deletions

View File

@@ -495,6 +495,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
return mKeyguardStateController.isShowing()
&& !primaryBouncerIsOrWillBeShowing()
&& !mKeyguardStateController.isKeyguardGoingAway()
&& isUserTrackingStarted
&& !hideBouncerOverDream
&& !mKeyguardStateController.isOccluded()

View File

@@ -351,6 +351,17 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
verify(mPrimaryBouncerInteractor, never()).setPanelExpansion(anyFloat());
}
@Test
public void onPanelExpansionChanged_neverTranslatesBouncerWhenGoingAway() {
when(mKeyguardStateController.isKeyguardGoingAway()).thenReturn(true);
mStatusBarKeyguardViewManager.onPanelExpansionChanged(
expansionEvent(
/* fraction= */ EXPANSION_VISIBLE,
/* expanded= */ true,
/* tracking= */ false));
verify(mPrimaryBouncerInteractor, never()).setPanelExpansion(anyFloat());
}
@Test
public void onPanelExpansionChanged_neverTranslatesBouncerWhenShowBouncer() {
// Since KeyguardBouncer.EXPANSION_VISIBLE = 0 panel expansion, if the unlock is dismissing