Notify ScrimController when unlock finishes, so we can update relevant conditions.
Fixes: 294943235 Test: atest SystemUITests Test: swipe down on the shade immediately after unlocking Change-Id: I538e709612603f17d682914eb92106547237a316
This commit is contained in:
@@ -985,6 +985,7 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
|
||||
// Make sure the clock is in the correct position after the unlock animation
|
||||
// so that it's not in the wrong place when we show the keyguard again.
|
||||
positionClockAndNotifications(true /* forceClockUpdate */);
|
||||
mScrimController.onUnlockAnimationFinished();
|
||||
}
|
||||
|
||||
private void unlockAnimationStarted(
|
||||
|
||||
@@ -709,6 +709,11 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
|
||||
}
|
||||
}
|
||||
|
||||
public void onUnlockAnimationFinished() {
|
||||
mAnimatingPanelExpansionOnUnlock = false;
|
||||
applyAndDispatchState();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the amount of progress we are currently in if we're transitioning to the full shade.
|
||||
* 0.0f means we're not transitioning yet, while 1 means we're all the way in the full
|
||||
|
||||
@@ -1802,6 +1802,15 @@ public class ScrimControllerTest extends SysuiTestCase {
|
||||
assertFalse(ScrimState.UNLOCKED.mAnimateChange);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNotifScrimAlpha_1f_afterUnlockFinishedAndExpanded() {
|
||||
mScrimController.transitionTo(ScrimState.KEYGUARD);
|
||||
when(mKeyguardUnlockAnimationController.isPlayingCannedUnlockAnimation()).thenReturn(true);
|
||||
mScrimController.transitionTo(ScrimState.UNLOCKED);
|
||||
mScrimController.onUnlockAnimationFinished();
|
||||
assertAlphaAfterExpansion(mNotificationsScrim, 1f, 1f);
|
||||
}
|
||||
|
||||
private void assertAlphaAfterExpansion(ScrimView scrim, float expectedAlpha, float expansion) {
|
||||
mScrimController.setRawPanelExpansionFraction(expansion);
|
||||
finishAnimationsImmediately();
|
||||
|
||||
Reference in New Issue
Block a user