summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Liu <aaronjli@google.com>2022-09-30 10:47:47 -0700
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-10-05 19:06:28 +0000
commit68f0e3c1b96b3fde4ef2872cda2c603fb64e4511 (patch)
tree20ed9f2b6472b0d649395c537931e34d4dec9228
parent7930dad08a3700107b55e1483e0d398b4ef024ce (diff)
downloadbase-68f0e3c1b96b3fde4ef2872cda2c603fb64e4511.tar.gz
[Bouncer] ensure bouncer not shown with doze state.
When doze state is no longer dozing, we were not resetting the bouncer view. Here, when dozing state changes, we want to ensure that the bouncer is not shown. Fixes: 237822716 Test: Added a unit test and test manually. Change-Id: If085851b5e3c8b15cdd4b0a2fce8cbb5e8f48035 (cherry picked from commit f348307f7ba56ac38d746cde837638dd623156c6) Merged-In: If085851b5e3c8b15cdd4b0a2fce8cbb5e8f48035
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java5
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java24
2 files changed, 29 insertions, 0 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 9d5392af3127..a0578fac2033 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
@@ -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) {
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 dcce61b86ced..f52bfcaaaa44 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
@@ -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);
+ }
}