summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java11
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewControllerTest.java5
2 files changed, 13 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
index 8deaa3444bb0..2d0b0aa94131 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
@@ -338,6 +338,7 @@ public class NotificationPanelViewController extends PanelViewController {
private boolean mAnimateNextPositionUpdate;
private float mQuickQsHeaderHeight;
private ScreenOffAnimationController mScreenOffAnimationController;
+ private UnlockedScreenOffAnimationController mUnlockedScreenOffAnimationController;
private int mTrackingPointer;
private VelocityTracker mQsVelocityTracker;
@@ -745,7 +746,8 @@ public class NotificationPanelViewController extends PanelViewController {
KeyguardUnlockAnimationController keyguardUnlockAnimationController,
NotificationListContainer notificationListContainer,
PanelEventsEmitter panelEventsEmitter,
- NotificationStackSizeCalculator notificationStackSizeCalculator) {
+ NotificationStackSizeCalculator notificationStackSizeCalculator,
+ UnlockedScreenOffAnimationController unlockedScreenOffAnimationController) {
super(view,
falsingManager,
dozeLog,
@@ -846,6 +848,7 @@ public class NotificationPanelViewController extends PanelViewController {
mAuthController = authController;
mLockIconViewController = lockIconViewController;
mScreenOffAnimationController = screenOffAnimationController;
+ mUnlockedScreenOffAnimationController = unlockedScreenOffAnimationController;
mRemoteInputManager = remoteInputManager;
int currentMode = navigationModeController.addListener(
@@ -1251,6 +1254,10 @@ public class NotificationPanelViewController extends PanelViewController {
}
}
+ private boolean shouldAvoidChangingNotificationsCount() {
+ return mHintAnimationRunning || mUnlockedScreenOffAnimationController.isAnimationPlaying();
+ }
+
public void setKeyguardIndicationController(KeyguardIndicationController indicationController) {
mKeyguardIndicationController = indicationController;
mKeyguardIndicationController.setIndicationArea(mKeyguardBottomArea);
@@ -4733,7 +4740,7 @@ public class NotificationPanelViewController extends PanelViewController {
int oldTop, int oldRight, int oldBottom) {
DejankUtils.startDetectingBlockingIpcs("NVP#onLayout");
super.onLayoutChange(v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom);
- updateMaxDisplayedNotifications(true);
+ updateMaxDisplayedNotifications(!shouldAvoidChangingNotificationsCount());
setIsFullWidth(mNotificationStackScrollLayoutController.getWidth() == mView.getWidth());
// Update Clock Pivot
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewControllerTest.java
index 8f3df09d913d..09773d31de41 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewControllerTest.java
@@ -331,6 +331,8 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
private NotificationListContainer mNotificationListContainer;
@Mock
private NotificationStackSizeCalculator mNotificationStackSizeCalculator;
+ @Mock
+ private UnlockedScreenOffAnimationController mUnlockedScreenOffAnimationController;
private NotificationPanelViewController.PanelEventsEmitter mPanelEventsEmitter;
private Optional<SysUIUnfoldComponent> mSysUIUnfoldComponent = Optional.empty();
private SysuiStatusBarStateController mStatusBarStateController;
@@ -511,7 +513,8 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
mKeyguardUnlockAnimationController,
mNotificationListContainer,
mPanelEventsEmitter,
- mNotificationStackSizeCalculator);
+ mNotificationStackSizeCalculator,
+ mUnlockedScreenOffAnimationController);
mNotificationPanelViewController.initDependencies(
mCentralSurfaces,
() -> {},