Merge "Fix device not locking properly on power press"

This commit is contained in:
TreeHugger Robot
2019-10-19 02:02:03 +00:00
committed by Android (Google) Code Review
2 changed files with 11 additions and 10 deletions

View File

@@ -833,8 +833,10 @@ public class KeyguardViewMediator extends SystemUI {
mDeviceInteractive = false;
mGoingToSleep = true;
// Reset keyguard going away state so we can start listening for biometric auth
setKeyguardGoingAway(false);
// Reset keyguard going away state so we can start listening for fingerprint. We
// explicitly DO NOT want to call mStatusBarWindowController.setKeyguardGoingAway(false)
// here, since that will mess with the device lock state.
mUpdateMonitor.setKeyguardGoingAway(false);
// Lock immediately based on setting if secure (user has a pin/pattern/password).
// This also "locks" the device when not secure to provide easy access to the
@@ -1814,7 +1816,8 @@ public class KeyguardViewMediator extends SystemUI {
mHideAnimationRun = false;
adjustStatusBarLocked();
userActivity();
setKeyguardGoingAway(false);
mUpdateMonitor.setKeyguardGoingAway(false);
mStatusBarWindowController.setKeyguardGoingAway(false);
mShowKeyguardWakeLock.release();
}
mKeyguardDisplayManager.show();
@@ -1846,7 +1849,8 @@ public class KeyguardViewMediator extends SystemUI {
.KEYGUARD_GOING_AWAY_FLAG_SUBTLE_WINDOW_ANIMATIONS;
}
setKeyguardGoingAway(true);
mUpdateMonitor.setKeyguardGoingAway(true);
mStatusBarWindowController.setKeyguardGoingAway(true);
// Don't actually hide the Keyguard at the moment, wait for window
// manager until it tells us it's safe to do so with
@@ -2081,11 +2085,6 @@ public class KeyguardViewMediator extends SystemUI {
mHandler.removeMessages(KEYGUARD_DONE_PENDING_TIMEOUT);
}
private void setKeyguardGoingAway(boolean goingAway) {
mUpdateMonitor.setKeyguardGoingAway(goingAway);
mStatusBarWindowController.setKeyguardGoingAway(goingAway);
}
@Override
public void onBootCompleted() {
mUpdateMonitor.dispatchBootCompleted();

View File

@@ -19,6 +19,8 @@ package com.android.systemui.keyguard;
import static android.view.WindowManagerPolicyConstants.OFF_BECAUSE_OF_USER;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -88,6 +90,6 @@ public class KeyguardViewMediatorTest extends SysuiTestCase {
mViewMediator.start();
mViewMediator.onStartedGoingToSleep(OFF_BECAUSE_OF_USER);
verify(mUpdateMonitor).setKeyguardGoingAway(false);
verify(mStatusBarWindowController).setKeyguardGoingAway(false);
verify(mStatusBarWindowController, never()).setKeyguardGoingAway(anyBoolean());
}
}