diff options
| author | 2024-09-05 22:09:41 +0000 | |
|---|---|---|
| committer | 2024-09-05 22:09:41 +0000 | |
| commit | 74fe960d2628b3b336141e395142b01a92d53b44 (patch) | |
| tree | 577e1d16328648fafe74344c3456fa585a936226 | |
| parent | ed34ba17d4d108047a7df000e8255c53e8e5d251 (diff) | |
| parent | 7337b1515eb8b6beeabd11726fcce1f3e1e21bf6 (diff) | |
Merge "Only call dismissCallback cancel on reset if bouncer is showing" into main
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); |