From e9e7071512adbaaf0e1b8441821502bb0daa4c5b Mon Sep 17 00:00:00 2001 From: Lucas Dupin Date: Wed, 1 May 2019 14:41:49 -0700 Subject: [PATCH] Do not expand NPV when unoccluding with bouncer Otherwise the notification shade would be expanded behind the the pin pad. Test: manual Test: atest StatusBarKeyguardViewManagerTest Fixes: 120767257 Change-Id: Ic8f5e4477e75dddbefc5e2c5decd0f5a74289591 --- .../phone/StatusBarKeyguardViewManager.java | 2 +- .../phone/StatusBarKeyguardViewManagerTest.java | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) 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 7fe89069b4386..ce432534c1bc5 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java @@ -484,7 +484,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb // by a FLAG_DISMISS_KEYGUARD_ACTIVITY. reset(isOccluding /* hideBouncerWhenShowing*/); } - if (animate && !occluded && mShowing) { + if (animate && !occluded && mShowing && !mBouncer.isShowing()) { mStatusBar.animateKeyguardUnoccluding(); } } 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 1c6e3b09df443..f50cf5a70cdc3 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 @@ -19,6 +19,7 @@ package com.android.systemui.statusbar.phone; import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyFloat; import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; @@ -196,6 +197,17 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { verify(mBouncer, never()).setExpansion(anyFloat()); } + @Test + public void setOccluded_animatesPanelExpansion_onlyIfBouncerHidden() { + mStatusBarKeyguardViewManager.setOccluded(false /* occluded */, true /* animated */); + verify(mStatusBar).animateKeyguardUnoccluding(); + + when(mBouncer.isShowing()).thenReturn(true); + clearInvocations(mStatusBar); + mStatusBarKeyguardViewManager.setOccluded(false /* occluded */, true /* animated */); + verify(mStatusBar, never()).animateKeyguardUnoccluding(); + } + private class TestableStatusBarKeyguardViewManager extends StatusBarKeyguardViewManager { public TestableStatusBarKeyguardViewManager(Context context,