Merge "Don't re-lock if we're wake and unlocking." into tm-qpr-dev
This commit is contained in:
@@ -1613,7 +1613,7 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable,
|
|||||||
// TODO: Rename all screen off/on references to interactive/sleeping
|
// TODO: Rename all screen off/on references to interactive/sleeping
|
||||||
synchronized (this) {
|
synchronized (this) {
|
||||||
mDeviceInteractive = true;
|
mDeviceInteractive = true;
|
||||||
if (mPendingLock && !cameraGestureTriggered) {
|
if (mPendingLock && !cameraGestureTriggered && !mWakeAndUnlocking) {
|
||||||
doKeyguardLocked(null);
|
doKeyguardLocked(null);
|
||||||
}
|
}
|
||||||
mAnimatingScreenOff = false;
|
mAnimatingScreenOff = false;
|
||||||
|
|||||||
@@ -167,6 +167,45 @@ public class KeyguardViewMediatorTest extends SysuiTestCase {
|
|||||||
verify(mStatusBarKeyguardViewManager, never()).setKeyguardGoingAwayState(anyBoolean());
|
verify(mStatusBarKeyguardViewManager, never()).setKeyguardGoingAwayState(anyBoolean());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestableLooper.RunWithLooper(setAsMainLooper = true)
|
||||||
|
public void testOnStartedWakingUp_whileSleeping_ifWakeAndUnlocking_doesNotShowKeyguard() {
|
||||||
|
when(mLockPatternUtils.isLockScreenDisabled(anyInt())).thenReturn(false);
|
||||||
|
when(mLockPatternUtils.getPowerButtonInstantlyLocks(anyInt())).thenReturn(true);
|
||||||
|
mViewMediator.onSystemReady();
|
||||||
|
TestableLooper.get(this).processAllMessages();
|
||||||
|
|
||||||
|
mViewMediator.setShowingLocked(false);
|
||||||
|
TestableLooper.get(this).processAllMessages();
|
||||||
|
|
||||||
|
mViewMediator.onStartedGoingToSleep(OFF_BECAUSE_OF_USER);
|
||||||
|
mViewMediator.onWakeAndUnlocking();
|
||||||
|
mViewMediator.onStartedWakingUp(OFF_BECAUSE_OF_USER, false);
|
||||||
|
TestableLooper.get(this).processAllMessages();
|
||||||
|
|
||||||
|
assertFalse(mViewMediator.isShowingAndNotOccluded());
|
||||||
|
verify(mKeyguardStateController, never()).notifyKeyguardState(eq(true), anyBoolean());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestableLooper.RunWithLooper(setAsMainLooper = true)
|
||||||
|
public void testOnStartedWakingUp_whileSleeping_ifNotWakeAndUnlocking_showsKeyguard() {
|
||||||
|
when(mLockPatternUtils.isLockScreenDisabled(anyInt())).thenReturn(false);
|
||||||
|
when(mLockPatternUtils.getPowerButtonInstantlyLocks(anyInt())).thenReturn(true);
|
||||||
|
mViewMediator.onSystemReady();
|
||||||
|
TestableLooper.get(this).processAllMessages();
|
||||||
|
|
||||||
|
mViewMediator.setShowingLocked(false);
|
||||||
|
TestableLooper.get(this).processAllMessages();
|
||||||
|
|
||||||
|
mViewMediator.onStartedGoingToSleep(OFF_BECAUSE_OF_USER);
|
||||||
|
mViewMediator.onStartedWakingUp(OFF_BECAUSE_OF_USER, false);
|
||||||
|
|
||||||
|
TestableLooper.get(this).processAllMessages();
|
||||||
|
|
||||||
|
assertTrue(mViewMediator.isShowingAndNotOccluded());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testRegisterDumpable() {
|
public void testRegisterDumpable() {
|
||||||
verify(mDumpManager).registerDumpable(KeyguardViewMediator.class.getName(), mViewMediator);
|
verify(mDumpManager).registerDumpable(KeyguardViewMediator.class.getName(), mViewMediator);
|
||||||
|
|||||||
Reference in New Issue
Block a user