Fix issue where scrims would not go away

Change-Id: Ibb683d6bddadd5b670da28427d4801e03d575bd8
Fixes: 70245015
Test: runtest -x packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java
This commit is contained in:
Lucas Dupin
2017-12-06 13:59:25 -08:00
parent 29fdbc67fc
commit c2e7546921
2 changed files with 15 additions and 3 deletions

View File

@@ -5112,6 +5112,7 @@ public class StatusBar extends SystemUI implements DemoMode,
public void notifyFpAuthModeChanged() {
updateDozing();
updateScrimController();
}
private void updateDozing() {

View File

@@ -104,6 +104,7 @@ public class StatusBarTest extends SysuiTestCase {
PowerManager mPowerManager;
SystemServicesProxy mSystemServicesProxy;
NotificationPanelView mNotificationPanelView;
ScrimController mScrimController;
IStatusBarService mBarService;
ArrayList<Entry> mNotificationList;
private DisplayMetrics mDisplayMetrics = new DisplayMetrics();
@@ -131,6 +132,7 @@ public class StatusBarTest extends SysuiTestCase {
mNotificationPanelView = mock(NotificationPanelView.class);
when(mNotificationPanelView.getLayoutParams()).thenReturn(new LayoutParams(0, 0));
mNotificationList = mock(ArrayList.class);
mScrimController = mock(ScrimController.class);
IPowerManager powerManagerService = mock(IPowerManager.class);
HandlerThread handlerThread = new HandlerThread("TestThread");
handlerThread.start();
@@ -143,7 +145,7 @@ public class StatusBarTest extends SysuiTestCase {
mStatusBar = new TestableStatusBar(mStatusBarKeyguardViewManager, mUnlockMethodCache,
mKeyguardIndicationController, mStackScroller, mHeadsUpManager,
mNotificationData, mPowerManager, mSystemServicesProxy, mNotificationPanelView,
mBarService);
mBarService, mScrimController);
mStatusBar.mContext = mContext;
mStatusBar.mComponents = mContext.getComponents();
doAnswer(invocation -> {
@@ -532,12 +534,21 @@ public class StatusBarTest extends SysuiTestCase {
mStatusBar.updateKeyguardState(false, false);
}
@Test
public void testFingerprintNotification_UpdatesScrims() {
mStatusBar.mStatusBarWindowManager = mock(StatusBarWindowManager.class);
mStatusBar.mFingerprintUnlockController = mock(FingerprintUnlockController.class);
mStatusBar.mDozeScrimController = mock(DozeScrimController.class);
mStatusBar.notifyFpAuthModeChanged();
verify(mScrimController).transitionTo(any(), any());
}
static class TestableStatusBar extends StatusBar {
public TestableStatusBar(StatusBarKeyguardViewManager man,
UnlockMethodCache unlock, KeyguardIndicationController key,
NotificationStackScrollLayout stack, HeadsUpManager hum, NotificationData nd,
PowerManager pm, SystemServicesProxy ssp, NotificationPanelView panelView,
IStatusBarService barService) {
IStatusBarService barService, ScrimController scrimController) {
mStatusBarKeyguardViewManager = man;
mUnlockMethodCache = unlock;
mKeyguardIndicationController = key;
@@ -550,7 +561,7 @@ public class StatusBarTest extends SysuiTestCase {
mNotificationPanel = panelView;
mBarService = barService;
mWakefulnessLifecycle = createAwakeWakefulnessLifecycle();
mScrimController = mock(ScrimController.class);
mScrimController = scrimController;
}
private WakefulnessLifecycle createAwakeWakefulnessLifecycle() {