Merge "Fix issues with unlocking during a swipe on the lockscreen." into tm-qpr-dev am: 286074d5cf

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21032641

Change-Id: I91651a4471fbf9a1f21ab896ef2d3ce02676cdf9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Josh Tsuji
2023-01-19 19:31:33 +00:00
committed by Automerger Merge Worker
2 changed files with 6 additions and 0 deletions

View File

@@ -2281,6 +2281,10 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable,
}
if (!mKeyguardDonePending && mHideAnimationRun && !mHideAnimationRunning) {
handleKeyguardDone();
} else if (mSurfaceBehindRemoteAnimationRunning) {
// We're already running the keyguard exit animation, likely due to an in-progress swipe
// to unlock.
exitKeyguardAndFinishSurfaceBehindRemoteAnimation(false /* cancelled */);
} else if (!mHideAnimationRun) {
if (DEBUG) Log.d(TAG, "tryKeyguardDone: starting pre-hide animation");
mHideAnimationRun = true;

View File

@@ -1395,6 +1395,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
// Things that mean we're not swiping to dismiss the keyguard, and should ignore this
// expansion:
// - Keyguard isn't even visible.
// - We're swiping on the bouncer, not the lockscreen.
// - Keyguard is occluded. Expansion changes here are the shade being expanded over the
// occluding activity.
// - Keyguard is visible, but can't be dismissed (swiping up will show PIN/password prompt).
@@ -1404,6 +1405,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
// - QS is expanded and we're swiping - swiping up now will hide QS, not dismiss the
// keyguard.
if (!isKeyguardShowing()
|| mStatusBarKeyguardViewManager.primaryBouncerIsOrWillBeShowing()
|| isOccluded()
|| !mKeyguardStateController.canDismissLockScreen()
|| mKeyguardViewMediator.isAnySimPinSecure()