Merge "Adding QS animation when going from pulsing to shade in split shade" into tm-qpr-dev

This commit is contained in:
Michał Brzeziński
2023-01-09 14:26:24 +00:00
committed by Android (Google) Code Review
2 changed files with 15 additions and 2 deletions

View File

@@ -509,9 +509,14 @@ class LockscreenShadeTransitionController @Inject constructor(
* If secure with redaction: Show bouncer, go to unlocked shade. * If secure with redaction: Show bouncer, go to unlocked shade.
* If secure without redaction or no security: Go to [StatusBarState.SHADE_LOCKED]. * If secure without redaction or no security: Go to [StatusBarState.SHADE_LOCKED].
* *
* Split shade is special case and [needsQSAnimation] will be always overridden to true.
* That's because handheld shade will automatically follow notifications animation, but that's
* not the case for split shade.
*
* @param expandView The view to expand after going to the shade * @param expandView The view to expand after going to the shade
* @param needsQSAnimation if this needs the quick settings to slide in from the top or if * @param needsQSAnimation if this needs the quick settings to slide in from the top or if
* that's already handled separately * that's already handled separately. This argument will be ignored on
* split shade as there QS animation can't be handled separately.
*/ */
@JvmOverloads @JvmOverloads
fun goToLockedShade(expandedView: View?, needsQSAnimation: Boolean = true) { fun goToLockedShade(expandedView: View?, needsQSAnimation: Boolean = true) {
@@ -519,7 +524,7 @@ class LockscreenShadeTransitionController @Inject constructor(
logger.logTryGoToLockedShade(isKeyguard) logger.logTryGoToLockedShade(isKeyguard)
if (isKeyguard) { if (isKeyguard) {
val animationHandler: ((Long) -> Unit)? val animationHandler: ((Long) -> Unit)?
if (needsQSAnimation) { if (needsQSAnimation || useSplitShade) {
// Let's use the default animation // Let's use the default animation
animationHandler = null animationHandler = null
} else { } else {

View File

@@ -243,6 +243,14 @@ class LockscreenShadeTransitionControllerTest : SysuiTestCase() {
assertNull(transitionController.dragDownAnimator) assertNull(transitionController.dragDownAnimator)
} }
@Test
fun testGoToLockedShadeAlwaysCreatesQSAnimationInSplitShade() {
enableSplitShade()
transitionController.goToLockedShade(null, needsQSAnimation = true)
verify(notificationPanelController).animateToFullShade(anyLong())
assertNotNull(transitionController.dragDownAnimator)
}
@Test @Test
fun testDragDownAmountDoesntCallOutInLockedDownShade() { fun testDragDownAmountDoesntCallOutInLockedDownShade() {
whenever(nsslController.isInLockedDownShade).thenReturn(true) whenever(nsslController.isInLockedDownShade).thenReturn(true)