diff options
| author | 2023-01-27 16:26:00 +0000 | |
|---|---|---|
| committer | 2023-01-27 16:26:00 +0000 | |
| commit | 196dc4a67a770e8e380652eba7cac9cecd40b73f (patch) | |
| tree | 6aec3b53fb64d4cfe7877e7cb7c03b205aba66fb | |
| parent | d83bec7048e0fe761b5c66d0d2e6962651869d2e (diff) | |
| parent | 3df40e98cb524e39e58103af0ee307aa48ac4d98 (diff) | |
Merge "Fix missing KeyguardStatusView after cancelling fps login" into tm-qpr-dev
2 files changed, 15 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java index f6a06ea67b4b..5ff755e10a6c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java @@ -3772,6 +3772,9 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { }); } else if (mDozing && !unlocking) { mScrimController.transitionTo(ScrimState.AOD); + // This will cancel the keyguardFadingAway animation if it is running. We need to do + // this as otherwise it can remain pending and leave keyguard in a weird state. + mUnlockScrimCallback.onCancelled(); } else if (mKeyguardStateController.isShowing() && !isOccluded() && !unlocking) { mScrimController.transitionTo(ScrimState.KEYGUARD); } else if (mKeyguardStateController.isShowing() && mKeyguardUpdateMonitor.isDreaming() diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CentralSurfacesImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CentralSurfacesImplTest.java index b1363a047307..06053987202c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CentralSurfacesImplTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/CentralSurfacesImplTest.java @@ -1010,6 +1010,18 @@ public class CentralSurfacesImplTest extends SysuiTestCase { } @Test + public void testSetDozingNotUnlocking_transitionToAOD_cancelKeyguardFadingAway() { + setDozing(true); + when(mKeyguardStateController.isShowing()).thenReturn(false); + when(mKeyguardStateController.isKeyguardFadingAway()).thenReturn(true); + + mCentralSurfaces.updateScrimController(); + + verify(mScrimController, times(2)).transitionTo(eq(ScrimState.AOD)); + verify(mStatusBarKeyguardViewManager).onKeyguardFadedAway(); + } + + @Test public void testShowKeyguardImplementation_setsState() { when(mLockscreenUserManager.getCurrentProfiles()).thenReturn(new SparseArray<>()); |