diff options
2 files changed, 22 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java index 43f9af6016f1..dd4b0005b034 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java @@ -992,7 +992,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb } else { showBouncerOrKeyguard(hideBouncerWhenShowing, isFalsingReset); } - if (!SceneContainerFlag.isEnabled() && hideBouncerWhenShowing) { + if (!SceneContainerFlag.isEnabled() && hideBouncerWhenShowing && isBouncerShowing()) { hideAlternateBouncer(true); mDismissCallbackRegistry.notifyDismissCancelled(); mPrimaryBouncerInteractor.setDismissAction(null, null); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java index 3e3c046ce62e..01a3d36a05ec 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java @@ -779,6 +779,26 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { @Test @DisableSceneContainer + public void testResetDoesNotHideBouncerWhenNotShowing() { + reset(mDismissCallbackRegistry); + reset(mPrimaryBouncerInteractor); + + // GIVEN the keyguard is showing + reset(mAlternateBouncerInteractor); + when(mKeyguardStateController.isShowing()).thenReturn(true); + when(mPrimaryBouncerInteractor.isFullyShowing()).thenReturn(false); + + // WHEN SBKV is reset with hideBouncerWhenShowing=true + mStatusBarKeyguardViewManager.reset(true); + + // THEN no calls to hide should be made + verify(mAlternateBouncerInteractor, never()).hide(); + verify(mDismissCallbackRegistry, never()).notifyDismissCancelled(); + verify(mPrimaryBouncerInteractor, never()).setDismissAction(eq(null), eq(null)); + } + + @Test + @DisableSceneContainer public void testResetHideBouncerWhenShowing_alternateBouncerHides() { reset(mDismissCallbackRegistry); reset(mPrimaryBouncerInteractor); @@ -786,6 +806,7 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { // GIVEN the keyguard is showing reset(mAlternateBouncerInteractor); when(mKeyguardStateController.isShowing()).thenReturn(true); + when(mPrimaryBouncerInteractor.isFullyShowing()).thenReturn(true); // WHEN SBKV is reset with hideBouncerWhenShowing=true mStatusBarKeyguardViewManager.reset(true); |