Merge "Fix LightReveal Scrim animation flickering" into udc-dev

This commit is contained in:
András Kurucz
2023-05-15 19:06:55 +00:00
committed by Android (Google) Code Review
2 changed files with 39 additions and 3 deletions

View File

@@ -2917,6 +2917,10 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
&& mBarState == StatusBarState.SHADE; && mBarState == StatusBarState.SHADE;
} }
private boolean isPanelVisibleBecauseScrimIsAnimatingOff() {
return mUnlockedScreenOffAnimationController.isAnimationPlaying();
}
@Override @Override
public boolean shouldHideStatusBarIconsWhenExpanded() { public boolean shouldHideStatusBarIconsWhenExpanded() {
if (mIsLaunchAnimationRunning) { if (mIsLaunchAnimationRunning) {
@@ -3976,6 +3980,7 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
|| isPanelVisibleBecauseOfHeadsUp() || isPanelVisibleBecauseOfHeadsUp()
|| mTracking || mTracking
|| mHeightAnimator != null || mHeightAnimator != null
|| isPanelVisibleBecauseScrimIsAnimatingOff()
&& !mIsSpringBackAnimation; && !mIsSpringBackAnimation;
} }

View File

@@ -1106,7 +1106,7 @@ public class NotificationPanelViewControllerTest extends NotificationPanelViewCo
} }
@Test @Test
public void shadeExpanded_inShadeState() { public void shadeFullyExpanded_inShadeState() {
mStatusBarStateController.setState(SHADE); mStatusBarStateController.setState(SHADE);
mNotificationPanelViewController.setExpandedHeight(0); mNotificationPanelViewController.setExpandedHeight(0);
@@ -1118,7 +1118,7 @@ public class NotificationPanelViewControllerTest extends NotificationPanelViewCo
} }
@Test @Test
public void shadeExpanded_onKeyguard() { public void shadeFullyExpanded_onKeyguard() {
mStatusBarStateController.setState(KEYGUARD); mStatusBarStateController.setState(KEYGUARD);
int transitionDistance = mNotificationPanelViewController.getMaxPanelTransitionDistance(); int transitionDistance = mNotificationPanelViewController.getMaxPanelTransitionDistance();
@@ -1127,8 +1127,39 @@ public class NotificationPanelViewControllerTest extends NotificationPanelViewCo
} }
@Test @Test
public void shadeExpanded_onShadeLocked() { public void shadeFullyExpanded_onShadeLocked() {
mStatusBarStateController.setState(SHADE_LOCKED); mStatusBarStateController.setState(SHADE_LOCKED);
assertThat(mNotificationPanelViewController.isShadeFullyExpanded()).isTrue(); assertThat(mNotificationPanelViewController.isShadeFullyExpanded()).isTrue();
} }
@Test
public void shadeExpanded_whenHasHeight() {
int transitionDistance = mNotificationPanelViewController.getMaxPanelTransitionDistance();
mNotificationPanelViewController.setExpandedHeight(transitionDistance);
assertThat(mNotificationPanelViewController.isExpanded()).isTrue();
}
@Test
public void shadeExpanded_whenInstantExpanding() {
mNotificationPanelViewController.expand(true);
assertThat(mNotificationPanelViewController.isExpanded()).isTrue();
}
@Test
public void shadeExpanded_whenHunIsPresent() {
when(mHeadsUpManager.hasPinnedHeadsUp()).thenReturn(true);
assertThat(mNotificationPanelViewController.isExpanded()).isTrue();
}
@Test
public void shadeExpanded_whenWaitingForExpandGesture() {
mNotificationPanelViewController.startWaitingForExpandGesture();
assertThat(mNotificationPanelViewController.isExpanded()).isTrue();
}
@Test
public void shadeExpanded_whenUnlockedOffscreenAnimationRunning() {
when(mUnlockedScreenOffAnimationController.isAnimationPlaying()).thenReturn(true);
assertThat(mNotificationPanelViewController.isExpanded()).isTrue();
}
} }