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

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20089250

Change-Id: I1889f3df60f5e0c06a76dfed0db8755880c2cd51
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Aaron Liu
2022-10-03 18:26:12 +00:00
committed by Automerger Merge Worker
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) { if (dozing || mBouncer.needsFullscreenBouncer() || mOccluded) {
reset(dozing /* hideBouncerWhenShowing */); reset(dozing /* hideBouncerWhenShowing */);
} }
if (bouncerIsOrWillBeShowing()) {
// Ensure bouncer is not shown when dozing state changes.
hideBouncer(false);
}
updateStates(); updateStates();
if (!dozing) { 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.anyInt;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.clearInvocations;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never; import static org.mockito.Mockito.never;
import static org.mockito.Mockito.reset; import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
@@ -525,4 +527,26 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
mBouncerExpansionCallback.onVisibilityChanged(false); mBouncerExpansionCallback.onVisibilityChanged(false);
verify(mCentralSurfaces).setBouncerShowingOverDream(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);
}
} }