From 6902bb3216166e63540b668e9a378ef15a3e9110 Mon Sep 17 00:00:00 2001 From: Michal Brzezinski Date: Tue, 28 Sep 2021 18:45:08 +0100 Subject: [PATCH] Centering clock on AOD in split shade mode Fixes: 201419264 Test: NotificationPanelViewControllerTest Change-Id: If0742883b429b4537eb4033fce06c64a32de20a8 --- .../phone/NotificationPanelViewController.java | 6 ++++-- .../phone/NotificationPanelViewControllerTest.java | 12 ++++++++++++ 2 files changed, 16 insertions(+), 2 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 dd6b1c7b16faa..627d6b7cadd17 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java @@ -1385,8 +1385,10 @@ public class NotificationPanelViewController extends PanelViewController { boolean bypassEnabled = mKeyguardBypassController.getBypassEnabled(); final boolean hasVisibleNotifications = mNotificationStackScrollLayoutController .getVisibleNotificationCount() != 0 || mMediaDataManager.hasActiveMedia(); + boolean splitShadeWithActiveMedia = + mShouldUseSplitNotificationShade && mMediaDataManager.hasActiveMedia(); if ((hasVisibleNotifications && !mShouldUseSplitNotificationShade) - || (mShouldUseSplitNotificationShade && mMediaDataManager.hasActiveMedia())) { + || (splitShadeWithActiveMedia && !mDozing)) { mKeyguardStatusViewController.displayClock(SMALL); } else { mKeyguardStatusViewController.displayClock(LARGE); @@ -1450,7 +1452,7 @@ public class NotificationPanelViewController extends PanelViewController { .getVisibleNotificationCount() != 0 || mMediaDataManager.hasActiveMedia(); boolean hasCommunalSurface = mCommunalSource != null && mCommunalSource.get() != null; boolean shouldBeCentered = !mShouldUseSplitNotificationShade - || (!hasVisibleNotifications && !hasCommunalSurface); + || (!hasVisibleNotifications && !hasCommunalSurface) || mDozing; if (mStatusViewCentered != shouldBeCentered) { mStatusViewCentered = shouldBeCentered; ConstraintSet constraintSet = new ConstraintSet(); 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 e05035db3f23c..4dec9dcabaff3 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 @@ -844,6 +844,18 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase { verify(mKeyguardStatusViewController, never()).displayClock(SMALL); } + @Test + public void testSwitchesToBigClockInSplitShadeOnAod() { + mStatusBarStateController.setState(KEYGUARD); + enableSplitShade(/* enabled= */ true); + when(mMediaDataManager.hasActiveMedia()).thenReturn(true); + when(mNotificationStackScrollLayoutController.getVisibleNotificationCount()).thenReturn(2); + + mNotificationPanelViewController.setDozing(true, false, null); + + verify(mKeyguardStatusViewController).displayClock(LARGE); + } + @Test public void testDisplaysSmallClockOnLockscreenInSplitShadeWhenMediaIsPlaying() { mStatusBarStateController.setState(KEYGUARD);