diff options
2 files changed, 29 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 3c32131220d7..b6a3ba80da15 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java @@ -733,7 +733,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb } else { showBouncerOrKeyguard(hideBouncerWhenShowing); } - hideAlternateBouncer(false); + if (hideBouncerWhenShowing) { + hideAlternateBouncer(false); + } mKeyguardUpdateManager.sendKeyguardReset(); updateStates(); } 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 158e9adcff43..e2019b2814d9 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 @@ -683,4 +683,30 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { // the following call before registering centralSurfaces should NOT throw a NPE: mStatusBarKeyguardViewManager.hideAlternateBouncer(true); } + + @Test + public void testResetHideBouncerWhenShowing_alternateBouncerHides() { + // GIVEN the keyguard is showing + reset(mAlternateBouncerInteractor); + when(mKeyguardStateController.isShowing()).thenReturn(true); + + // WHEN SBKV is reset with hideBouncerWhenShowing=true + mStatusBarKeyguardViewManager.reset(true); + + // THEN alternate bouncer is hidden + verify(mAlternateBouncerInteractor).hide(); + } + + @Test + public void testResetHideBouncerWhenShowingIsFalse_alternateBouncerHides() { + // GIVEN the keyguard is showing + reset(mAlternateBouncerInteractor); + when(mKeyguardStateController.isShowing()).thenReturn(true); + + // WHEN SBKV is reset with hideBouncerWhenShowing=false + mStatusBarKeyguardViewManager.reset(false); + + // THEN alternate bouncer is NOT hidden + verify(mAlternateBouncerInteractor, never()).hide(); + } } |