summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java5
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerTest.java37
2 files changed, 39 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
index 752c982ddfdd..0fdd7ca1564f 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
@@ -2917,6 +2917,10 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
&& mBarState == StatusBarState.SHADE;
}
+ private boolean isPanelVisibleBecauseScrimIsAnimatingOff() {
+ return mUnlockedScreenOffAnimationController.isAnimationPlaying();
+ }
+
@Override
public boolean shouldHideStatusBarIconsWhenExpanded() {
if (mIsLaunchAnimationRunning) {
@@ -3976,6 +3980,7 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
|| isPanelVisibleBecauseOfHeadsUp()
|| mTracking
|| mHeightAnimator != null
+ || isPanelVisibleBecauseScrimIsAnimatingOff()
&& !mIsSpringBackAnimation;
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerTest.java
index c5495e1fd024..a5a9de54c558 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerTest.java
@@ -1106,7 +1106,7 @@ public class NotificationPanelViewControllerTest extends NotificationPanelViewCo
}
@Test
- public void shadeExpanded_inShadeState() {
+ public void shadeFullyExpanded_inShadeState() {
mStatusBarStateController.setState(SHADE);
mNotificationPanelViewController.setExpandedHeight(0);
@@ -1118,7 +1118,7 @@ public class NotificationPanelViewControllerTest extends NotificationPanelViewCo
}
@Test
- public void shadeExpanded_onKeyguard() {
+ public void shadeFullyExpanded_onKeyguard() {
mStatusBarStateController.setState(KEYGUARD);
int transitionDistance = mNotificationPanelViewController.getMaxPanelTransitionDistance();
@@ -1127,8 +1127,39 @@ public class NotificationPanelViewControllerTest extends NotificationPanelViewCo
}
@Test
- public void shadeExpanded_onShadeLocked() {
+ public void shadeFullyExpanded_onShadeLocked() {
mStatusBarStateController.setState(SHADE_LOCKED);
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();
+ }
}