Merge "Notify ScrimController when unlock finishes, so we can update relevant conditions." into udc-qpr-dev

This commit is contained in:
Treehugger Robot
2023-08-18 16:35:12 +00:00
committed by Android (Google) Code Review
3 changed files with 15 additions and 0 deletions

View File

@@ -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(

View File

@@ -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

View File

@@ -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();