diff options
2 files changed, 14 insertions, 98 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackSizeCalculator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackSizeCalculator.kt index 3f97155242b4..6c6ed850f45a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackSizeCalculator.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackSizeCalculator.kt @@ -22,10 +22,8 @@ import android.view.View.GONE import com.android.systemui.R import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Main -import com.android.systemui.statusbar.NotificationLockscreenUserManager import com.android.systemui.statusbar.StatusBarState.KEYGUARD import com.android.systemui.statusbar.SysuiStatusBarStateController -import com.android.systemui.statusbar.notification.collection.legacy.NotificationGroupManagerLegacy import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow import com.android.systemui.statusbar.notification.row.ExpandableView import com.android.systemui.util.children @@ -41,8 +39,6 @@ private const val DEBUG = false class NotificationStackSizeCalculator @Inject constructor( - private val groupManager: NotificationGroupManagerLegacy, - private val lockscreenUserManager: NotificationLockscreenUserManager, private val statusBarStateController: SysuiStatusBarStateController, @Main private val resources: Resources ) { @@ -191,7 +187,7 @@ constructor( if (onLockscreen) { when (this) { is ExpandableNotificationRow -> { - if (isSummaryOfSuppressedGroup() || !canShowViewOnLockscreen() || isRemoved) { + if (!canShowViewOnLockscreen() || isRemoved) { return false } } @@ -208,9 +204,6 @@ constructor( visibleIndex: Int ) = stack.calculateGapHeight(previous, /* current= */ this, visibleIndex) - private fun ExpandableNotificationRow.isSummaryOfSuppressedGroup() = - groupManager.isSummaryOfSuppressedGroup(entry.sbn) - /** * Can a view be shown on the lockscreen when calculating the number of allowed notifications to * show? @@ -220,31 +213,12 @@ constructor( private fun ExpandableView.canShowViewOnLockscreen(): Boolean { if (hasNoContentHeight()) { return false - } - if (this is ExpandableNotificationRow && !canShowRowOnLockscreen()) { - return false } else if (visibility == GONE) { return false } return true } - /** - * Can a row be shown on the lockscreen when calculating the number of allowed notifications to - * show? - * - * @return true if it can be shown - */ - private fun ExpandableNotificationRow.canShowRowOnLockscreen(): Boolean { - if (isSummaryOfSuppressedGroup()) { - return false - } - if (!lockscreenUserManager.shouldShowOnKeyguard(entry)) { - return false - } - return !isRemoved - } - private fun log(s: () -> String) { if (DEBUG) { Log.d(TAG, s()) diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackSizeCalculatorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackSizeCalculatorTest.kt index d1848e38ca06..9a4e10cec159 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackSizeCalculatorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackSizeCalculatorTest.kt @@ -22,12 +22,10 @@ import android.view.View.VISIBLE import androidx.test.filters.SmallTest import com.android.systemui.R import com.android.systemui.SysuiTestCase -import com.android.systemui.statusbar.NotificationLockscreenUserManager import com.android.systemui.statusbar.StatusBarState.KEYGUARD import com.android.systemui.statusbar.StatusBarState.SHADE import com.android.systemui.statusbar.SysuiStatusBarStateController import com.android.systemui.statusbar.notification.collection.NotificationEntry -import com.android.systemui.statusbar.notification.collection.legacy.NotificationGroupManagerLegacy import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow import com.android.systemui.statusbar.notification.row.ExpandableView import com.android.systemui.util.mockito.any @@ -38,17 +36,13 @@ import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mock import org.mockito.Mockito.mock -import org.mockito.Mockito.`when` as whenever import org.mockito.MockitoAnnotations +import org.mockito.Mockito.`when` as whenever @SmallTest @RunWith(AndroidTestingRunner::class) class NotificationStackSizeCalculatorTest : SysuiTestCase() { - @Mock private lateinit var groupManager: NotificationGroupManagerLegacy - - @Mock private lateinit var notificationLockscreenUserManager: NotificationLockscreenUserManager - @Mock private lateinit var sysuiStatusBarStateController: SysuiStatusBarStateController @Mock private lateinit var stackLayout: NotificationStackScrollLayout @@ -63,7 +57,6 @@ class NotificationStackSizeCalculatorTest : SysuiTestCase() { whenever(stackLayout.calculateGapHeight(nullable(), nullable(), any())) .thenReturn(GAP_HEIGHT) - whenever(groupManager.isSummaryOfSuppressedGroup(any())).thenReturn(false) with(testableResources) { addOverride(R.integer.keyguard_max_notification_count, -1) addOverride(R.dimen.notification_divider_height, NOTIFICATION_PADDING.toInt()) @@ -71,15 +64,13 @@ class NotificationStackSizeCalculatorTest : SysuiTestCase() { sizeCalculator = NotificationStackSizeCalculator( - groupManager = groupManager, - lockscreenUserManager = notificationLockscreenUserManager, statusBarStateController = sysuiStatusBarStateController, testableResources.resources) } @Test fun computeMaxKeyguardNotifications_zeroSpace_returnZero() { - val rows = listOf(createMockRow(height = ROW_HEIGHT, visibleOnLockscreen = true)) + val rows = listOf(createMockRow(height = ROW_HEIGHT)) val maxNotifications = computeMaxKeyguardNotifications(rows, availableSpace = 0f, shelfHeight = 0f) @@ -106,8 +97,8 @@ class NotificationStackSizeCalculatorTest : SysuiTestCase() { val spaceForOne = totalSpaceForEachRow val rows = listOf( - createMockRow(rowHeight, visibleOnLockscreen = true), - createMockRow(rowHeight, visibleOnLockscreen = true)) + createMockRow(rowHeight), + createMockRow(rowHeight)) val maxNotifications = computeMaxKeyguardNotifications( @@ -124,8 +115,8 @@ class NotificationStackSizeCalculatorTest : SysuiTestCase() { val spaceForOne = totalSpaceForEachRow val rows = listOf( - createMockRow(rowHeight, visibleOnLockscreen = true), - createMockRow(rowHeight, visibleOnLockscreen = true)) + createMockRow(rowHeight), + createMockRow(rowHeight)) val maxNotifications = computeMaxKeyguardNotifications( @@ -135,24 +126,15 @@ class NotificationStackSizeCalculatorTest : SysuiTestCase() { } @Test - fun computeMaxKeyguardNotifications_invisibleOnLockscreen_returnsZero() { - val rows = listOf(createMockRow(visibleOnLockscreen = false)) - - val maxNotifications = computeMaxKeyguardNotifications(rows, Float.MAX_VALUE) - - assertThat(maxNotifications).isEqualTo(0) - } - - @Test fun computeMaxKeyguardNotifications_spaceForTwo_returnsTwo() { val rowHeight = ROW_HEIGHT val totalSpaceForEachRow = GAP_HEIGHT + rowHeight val spaceForTwo = totalSpaceForEachRow * 2 + NOTIFICATION_PADDING val rows = listOf( - createMockRow(rowHeight, visibleOnLockscreen = true), - createMockRow(rowHeight, visibleOnLockscreen = true), - createMockRow(rowHeight, visibleOnLockscreen = true)) + createMockRow(rowHeight), + createMockRow(rowHeight), + createMockRow(rowHeight)) val maxNotifications = computeMaxKeyguardNotifications(rows, spaceForTwo, shelfHeight = 0f) @@ -167,9 +149,9 @@ class NotificationStackSizeCalculatorTest : SysuiTestCase() { val availableSpace = totalSpaceForEachRow * 2 val rows = listOf( - createMockRow(rowHeight, visibleOnLockscreen = true), - createMockRow(rowHeight, visibleOnLockscreen = true), - createMockRow(rowHeight, visibleOnLockscreen = true)) + createMockRow(rowHeight), + createMockRow(rowHeight), + createMockRow(rowHeight)) val maxNotifications = computeMaxKeyguardNotifications(rows, availableSpace, shelfHeight) assertThat(maxNotifications).isEqualTo(2) @@ -178,31 +160,6 @@ class NotificationStackSizeCalculatorTest : SysuiTestCase() { assertThat(height).isAtMost(availableSpace + SHELF_HEIGHT) } - @Test - fun computeHeight_allInvisibleToLockscreen_NotInLockscreen_returnsHigherThanZero() { - setOnLockscreen(false) - val rowHeight = 10f - setupChildren(listOf(createMockRow(rowHeight, visibleOnLockscreen = false))) - - val height = - sizeCalculator.computeHeight( - stackLayout, maxNotifications = Int.MAX_VALUE, SHELF_HEIGHT) - - assertThat(height).isGreaterThan(rowHeight) - } - - @Test - fun computeHeight_allInvisibleToLockscreen_onLockscreen_returnsZero() { - setOnLockscreen(true) - setupChildren(listOf(createMockRow(visibleOnLockscreen = false))) - - val height = - sizeCalculator.computeHeight( - stackLayout, maxNotifications = Int.MAX_VALUE, SHELF_HEIGHT) - - assertThat(height).isEqualTo(0) - } - private fun computeMaxKeyguardNotifications( rows: List<ExpandableView>, availableSpace: Float, @@ -222,14 +179,12 @@ class NotificationStackSizeCalculatorTest : SysuiTestCase() { } private fun createLockscreenRows(number: Int): List<ExpandableNotificationRow> = - (1..number).map { createMockRow(visibleOnLockscreen = true) }.toList() + (1..number).map { createMockRow() }.toList() private fun createMockRow( height: Float = ROW_HEIGHT, - visibleOnLockscreen: Boolean = true, isRemoved: Boolean = false, visibility: Int = VISIBLE, - summaryOfSuppressed: Boolean = false ): ExpandableNotificationRow { val row = mock(ExpandableNotificationRow::class.java) val entry = mock(NotificationEntry::class.java) @@ -238,24 +193,11 @@ class NotificationStackSizeCalculatorTest : SysuiTestCase() { whenever(row.entry).thenReturn(entry) whenever(row.isRemoved).thenReturn(isRemoved) whenever(row.visibility).thenReturn(visibility) - whenever(notificationLockscreenUserManager.shouldShowOnKeyguard(entry)) - .thenReturn(visibleOnLockscreen) - whenever(groupManager.isSummaryOfSuppressedGroup(sbn)).thenReturn(summaryOfSuppressed) whenever(row.getMinHeight(any())).thenReturn(height.toInt()) whenever(row.intrinsicHeight).thenReturn(height.toInt()) return row } - private fun setOnLockscreen(onLockscreen: Boolean) { - whenever(sysuiStatusBarStateController.state) - .thenReturn( - if (onLockscreen) { - KEYGUARD - } else { - SHADE - }) - } - /** Default dimensions for tests that don't overwrite them. */ companion object { const val GAP_HEIGHT = 12f |