From 93f714dad96a710abaf4af9499841bebc1e82614 Mon Sep 17 00:00:00 2001 From: Lucas Dupin Date: Tue, 26 Mar 2019 16:49:24 -0700 Subject: Add lock icon to bouncer when scrimmed Lock icon needs to be reparented to the bouncer when we're asking for a pin on top of the notification panel, since the scrim would cove the whole lock screen. Fixes: 129160870 Test: atest KeyguardBouncerTest Test: atest StatusBarKeyguardViewManagerTest Test: double tap notification Test: swipe up to unlock Test: swipe to shade locked, tap notification Test: repeat with and without pin Change-Id: I476ab2822da0040cfcfe7f8bc775b76407f0c613 --- .../SystemUI/res/layout/keyguard_bottom_area.xml | 17 +++++++++++------ .../statusbar/phone/KeyguardBottomAreaView.java | 6 ++++++ .../systemui/statusbar/phone/KeyguardBouncer.java | 8 +++++--- .../statusbar/phone/NotificationPanelView.java | 17 +++++++++++++++-- .../phone/StatusBarKeyguardViewManager.java | 5 ++++- .../statusbar/phone/KeyguardBouncerTest.java | 21 ++++++++++++++++++--- .../phone/StatusBarKeyguardViewManagerTest.java | 3 ++- 7 files changed, 61 insertions(+), 16 deletions(-) diff --git a/packages/SystemUI/res/layout/keyguard_bottom_area.xml b/packages/SystemUI/res/layout/keyguard_bottom_area.xml index adc0b417dea3..636b929c6aa5 100644 --- a/packages/SystemUI/res/layout/keyguard_bottom_area.xml +++ b/packages/SystemUI/res/layout/keyguard_bottom_area.xml @@ -77,15 +77,20 @@ android:contentDescription="@string/accessibility_phone_button" android:tint="?attr/wallpaperTextColor" /> - + android:layout_marginBottom="@dimen/keyguard_lock_padding"> + + { + assertThat(mBouncer.isScrimmed()).isTrue(); + return null; + }).when(mExpansionCallback).onFullyShown(); mBouncer.show(false /* resetSecuritySelection */, true /* animate */); - assertThat(mBouncer.isShowingScrimmed()).isTrue(); + assertThat(mBouncer.isScrimmed()).isTrue(); + mBouncer.hide(false /* destroyView */); + assertThat(mBouncer.isScrimmed()).isFalse(); + } + + @Test + public void testIsShowingScrimmed_false() { + doAnswer(invocation -> { + assertThat(mBouncer.isScrimmed()).isFalse(); + return null; + }).when(mExpansionCallback).onFullyShown(); mBouncer.show(false /* resetSecuritySelection */, false /* animate */); - assertThat(mBouncer.isShowingScrimmed()).isFalse(); + assertThat(mBouncer.isScrimmed()).isFalse(); } @Test 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 1a27765cbcda..7d347d55e930 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 @@ -120,7 +120,8 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { @Test public void onPanelExpansionChanged_neverHidesScrimmedBouncer() { - when(mBouncer.isShowingScrimmed()).thenReturn(true); + when(mBouncer.isShowing()).thenReturn(true); + when(mBouncer.isScrimmed()).thenReturn(true); mStatusBarKeyguardViewManager.onPanelExpansionChanged(0.5f /* expansion */, true /* tracking */); verify(mBouncer).setExpansion(eq(KeyguardBouncer.EXPANSION_VISIBLE)); -- cgit v1.2.3-59-g8ed1b