Loading packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +4 −0 Original line number Diff line number Diff line Loading @@ -2184,6 +2184,10 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable, */ public void showDismissibleKeyguard() { if (mFoldGracePeriodProvider.isEnabled()) { if (!mUpdateMonitor.isDeviceProvisioned()) { Log.d(TAG, "Device not provisioned, so ignore request to show keyguard."); return; } Bundle showKeyguardUnlocked = new Bundle(); showKeyguardUnlocked.putBoolean(OPTION_SHOW_DISMISSIBLE, true); showKeyguard(showKeyguardUnlocked); Loading packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardViewMediatorTest.java +29 −0 Original line number Diff line number Diff line Loading @@ -357,6 +357,7 @@ public class KeyguardViewMediatorTest extends SysuiTestCase { mock(FoldGracePeriodProvider.class); mViewMediator.mFoldGracePeriodProvider = mockedFoldGracePeriodProvider; when(mockedFoldGracePeriodProvider.isEnabled()).thenReturn(true); when(mUpdateMonitor.isDeviceProvisioned()).thenReturn(true); // GIVEN keyguard is not enabled and isn't showing mViewMediator.onSystemReady(); Loading @@ -373,6 +374,33 @@ public class KeyguardViewMediatorTest extends SysuiTestCase { assertTrue(mViewMediator.isShowingAndNotOccluded()); } @Test @TestableLooper.RunWithLooper(setAsMainLooper = true) public void doNotShowKeyguard_deviceNotProvisioned() { // GIVEN feature is enabled final FoldGracePeriodProvider mockedFoldGracePeriodProvider = mock(FoldGracePeriodProvider.class); mViewMediator.mFoldGracePeriodProvider = mockedFoldGracePeriodProvider; when(mockedFoldGracePeriodProvider.isEnabled()).thenReturn(true); // GIVEN keyguard is not enabled and isn't showing mViewMediator.onSystemReady(); mViewMediator.setKeyguardEnabled(false); TestableLooper.get(this).processAllMessages(); captureKeyguardUpdateMonitorCallback(); assertFalse(mViewMediator.isShowingAndNotOccluded()); // WHEN device is NOT provisioned when(mUpdateMonitor.isDeviceProvisioned()).thenReturn(false); // WHEN showKeyguard is requested mViewMediator.showDismissibleKeyguard(); // THEN keyguard is NOT shown TestableLooper.get(this).processAllMessages(); assertFalse(mViewMediator.isShowingAndNotOccluded()); } @Test @TestableLooper.RunWithLooper(setAsMainLooper = true) public void showKeyguardAfterKeyguardNotEnabled_featureNotEnabled() { Loading @@ -381,6 +409,7 @@ public class KeyguardViewMediatorTest extends SysuiTestCase { mock(FoldGracePeriodProvider.class); mViewMediator.mFoldGracePeriodProvider = mockedFoldGracePeriodProvider; when(mockedFoldGracePeriodProvider.isEnabled()).thenReturn(false); when(mUpdateMonitor.isDeviceProvisioned()).thenReturn(true); // GIVEN keyguard is not enabled and isn't showing mViewMediator.onSystemReady(); Loading Loading
packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +4 −0 Original line number Diff line number Diff line Loading @@ -2184,6 +2184,10 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable, */ public void showDismissibleKeyguard() { if (mFoldGracePeriodProvider.isEnabled()) { if (!mUpdateMonitor.isDeviceProvisioned()) { Log.d(TAG, "Device not provisioned, so ignore request to show keyguard."); return; } Bundle showKeyguardUnlocked = new Bundle(); showKeyguardUnlocked.putBoolean(OPTION_SHOW_DISMISSIBLE, true); showKeyguard(showKeyguardUnlocked); Loading
packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardViewMediatorTest.java +29 −0 Original line number Diff line number Diff line Loading @@ -357,6 +357,7 @@ public class KeyguardViewMediatorTest extends SysuiTestCase { mock(FoldGracePeriodProvider.class); mViewMediator.mFoldGracePeriodProvider = mockedFoldGracePeriodProvider; when(mockedFoldGracePeriodProvider.isEnabled()).thenReturn(true); when(mUpdateMonitor.isDeviceProvisioned()).thenReturn(true); // GIVEN keyguard is not enabled and isn't showing mViewMediator.onSystemReady(); Loading @@ -373,6 +374,33 @@ public class KeyguardViewMediatorTest extends SysuiTestCase { assertTrue(mViewMediator.isShowingAndNotOccluded()); } @Test @TestableLooper.RunWithLooper(setAsMainLooper = true) public void doNotShowKeyguard_deviceNotProvisioned() { // GIVEN feature is enabled final FoldGracePeriodProvider mockedFoldGracePeriodProvider = mock(FoldGracePeriodProvider.class); mViewMediator.mFoldGracePeriodProvider = mockedFoldGracePeriodProvider; when(mockedFoldGracePeriodProvider.isEnabled()).thenReturn(true); // GIVEN keyguard is not enabled and isn't showing mViewMediator.onSystemReady(); mViewMediator.setKeyguardEnabled(false); TestableLooper.get(this).processAllMessages(); captureKeyguardUpdateMonitorCallback(); assertFalse(mViewMediator.isShowingAndNotOccluded()); // WHEN device is NOT provisioned when(mUpdateMonitor.isDeviceProvisioned()).thenReturn(false); // WHEN showKeyguard is requested mViewMediator.showDismissibleKeyguard(); // THEN keyguard is NOT shown TestableLooper.get(this).processAllMessages(); assertFalse(mViewMediator.isShowingAndNotOccluded()); } @Test @TestableLooper.RunWithLooper(setAsMainLooper = true) public void showKeyguardAfterKeyguardNotEnabled_featureNotEnabled() { Loading @@ -381,6 +409,7 @@ public class KeyguardViewMediatorTest extends SysuiTestCase { mock(FoldGracePeriodProvider.class); mViewMediator.mFoldGracePeriodProvider = mockedFoldGracePeriodProvider; when(mockedFoldGracePeriodProvider.isEnabled()).thenReturn(false); when(mUpdateMonitor.isDeviceProvisioned()).thenReturn(true); // GIVEN keyguard is not enabled and isn't showing mViewMediator.onSystemReady(); Loading