Merge "[Bouncer] ensure bouncer not shown with doze state." into tm-qpr-dev

This commit is contained in:
Aaron Liu
2022-10-03 17:54:37 +00:00
committed by Android (Google) Code Review
2 changed files with 29 additions and 0 deletions

View File

@@ -733,6 +733,11 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
if (dozing || mBouncer.needsFullscreenBouncer() || mOccluded) {
reset(dozing /* hideBouncerWhenShowing */);
}
if (bouncerIsOrWillBeShowing()) {
// Ensure bouncer is not shown when dozing state changes.
hideBouncer(false);
}
updateStates();
if (!dozing) {

View File

@@ -23,9 +23,11 @@ import static org.mockito.ArgumentMatchers.anyFloat;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.clearInvocations;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -525,4 +527,26 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
mBouncerExpansionCallback.onVisibilityChanged(false);
verify(mCentralSurfaces).setBouncerShowingOverDream(false);
}
@Test
public void testSetDozing_bouncerShowing_Dozing() {
clearInvocations(mBouncer);
when(mBouncer.isShowing()).thenReturn(true);
doAnswer(invocation -> {
when(mBouncer.isShowing()).thenReturn(false);
return null;
}).when(mBouncer).hide(false);
mStatusBarKeyguardViewManager.onDozingChanged(true);
verify(mBouncer, times(1)).hide(false);
}
@Test
public void testSetDozing_bouncerShowing_notDozing() {
mStatusBarKeyguardViewManager.onDozingChanged(true);
when(mBouncer.isShowing()).thenReturn(true);
clearInvocations(mBouncer);
mStatusBarKeyguardViewManager.onDozingChanged(false);
verify(mBouncer, times(1)).hide(false);
}
}