Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java +10 −1 Original line number Diff line number Diff line Loading @@ -1233,6 +1233,11 @@ public class NotificationPanelViewController extends PanelViewController { mKeyguardBottomArea.initQRCodeScanner(mQRCodeScannerController); } @VisibleForTesting void setMaxDisplayedNotifications(int maxAllowed) { mMaxAllowedKeyguardNotifications = maxAllowed; } private void updateMaxDisplayedNotifications(boolean recompute) { if (recompute) { mMaxAllowedKeyguardNotifications = Math.max(computeMaxKeyguardNotifications(), 1); Loading Loading @@ -1463,7 +1468,11 @@ public class NotificationPanelViewController extends PanelViewController { /** * @return the maximum keyguard notifications that can fit on the screen */ private int computeMaxKeyguardNotifications() { @VisibleForTesting int computeMaxKeyguardNotifications() { if (mAmbientState.getFractionToShade() > 0 || mAmbientState.getDozeAmount() > 0) { return mMaxAllowedKeyguardNotifications; } float topPadding = mNotificationStackScrollLayoutController.getTopPadding(); float shelfIntrinsicHeight = mNotificationShelfController.getVisibility() == View.GONE Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewControllerTest.java +31 −0 Original line number Diff line number Diff line Loading @@ -557,6 +557,37 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase { mMainHandler.removeCallbacksAndMessages(null); } @Test public void computeMaxKeyguardNotifications_lockscreenToShade_returnsExistingMax() { when(mAmbientState.getFractionToShade()).thenReturn(0.5f); mNotificationPanelViewController.setMaxDisplayedNotifications(-1); // computeMaxKeyguardNotifications sets maxAllowed to 0 at minimum if it updates the value assertThat(mNotificationPanelViewController.computeMaxKeyguardNotifications()) .isEqualTo(-1); } @Test public void computeMaxKeyguardNotifications_dozeAmountNotZero_returnsExistingMax() { when(mAmbientState.getDozeAmount()).thenReturn(0.5f); mNotificationPanelViewController.setMaxDisplayedNotifications(-1); // computeMaxKeyguardNotifications sets maxAllowed to 0 at minimum if it updates the value assertThat(mNotificationPanelViewController.computeMaxKeyguardNotifications()) .isEqualTo(-1); } @Test public void computeMaxKeyguardNotifications_noTransition_updatesMax() { when(mAmbientState.getFractionToShade()).thenReturn(0f); when(mAmbientState.getDozeAmount()).thenReturn(0f); mNotificationPanelViewController.setMaxDisplayedNotifications(-1); // computeMaxKeyguardNotifications sets maxAllowed to 0 at minimum if it updates the value assertThat(mNotificationPanelViewController.computeMaxKeyguardNotifications()) .isNotEqualTo(-1); } @Test public void testSetPanelScrimMinFraction() { mNotificationPanelViewController.setPanelScrimMinFraction(0.5f); Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java +10 −1 Original line number Diff line number Diff line Loading @@ -1233,6 +1233,11 @@ public class NotificationPanelViewController extends PanelViewController { mKeyguardBottomArea.initQRCodeScanner(mQRCodeScannerController); } @VisibleForTesting void setMaxDisplayedNotifications(int maxAllowed) { mMaxAllowedKeyguardNotifications = maxAllowed; } private void updateMaxDisplayedNotifications(boolean recompute) { if (recompute) { mMaxAllowedKeyguardNotifications = Math.max(computeMaxKeyguardNotifications(), 1); Loading Loading @@ -1463,7 +1468,11 @@ public class NotificationPanelViewController extends PanelViewController { /** * @return the maximum keyguard notifications that can fit on the screen */ private int computeMaxKeyguardNotifications() { @VisibleForTesting int computeMaxKeyguardNotifications() { if (mAmbientState.getFractionToShade() > 0 || mAmbientState.getDozeAmount() > 0) { return mMaxAllowedKeyguardNotifications; } float topPadding = mNotificationStackScrollLayoutController.getTopPadding(); float shelfIntrinsicHeight = mNotificationShelfController.getVisibility() == View.GONE Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewControllerTest.java +31 −0 Original line number Diff line number Diff line Loading @@ -557,6 +557,37 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase { mMainHandler.removeCallbacksAndMessages(null); } @Test public void computeMaxKeyguardNotifications_lockscreenToShade_returnsExistingMax() { when(mAmbientState.getFractionToShade()).thenReturn(0.5f); mNotificationPanelViewController.setMaxDisplayedNotifications(-1); // computeMaxKeyguardNotifications sets maxAllowed to 0 at minimum if it updates the value assertThat(mNotificationPanelViewController.computeMaxKeyguardNotifications()) .isEqualTo(-1); } @Test public void computeMaxKeyguardNotifications_dozeAmountNotZero_returnsExistingMax() { when(mAmbientState.getDozeAmount()).thenReturn(0.5f); mNotificationPanelViewController.setMaxDisplayedNotifications(-1); // computeMaxKeyguardNotifications sets maxAllowed to 0 at minimum if it updates the value assertThat(mNotificationPanelViewController.computeMaxKeyguardNotifications()) .isEqualTo(-1); } @Test public void computeMaxKeyguardNotifications_noTransition_updatesMax() { when(mAmbientState.getFractionToShade()).thenReturn(0f); when(mAmbientState.getDozeAmount()).thenReturn(0f); mNotificationPanelViewController.setMaxDisplayedNotifications(-1); // computeMaxKeyguardNotifications sets maxAllowed to 0 at minimum if it updates the value assertThat(mNotificationPanelViewController.computeMaxKeyguardNotifications()) .isNotEqualTo(-1); } @Test public void testSetPanelScrimMinFraction() { mNotificationPanelViewController.setPanelScrimMinFraction(0.5f); Loading