summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewManager.kt13
1 files changed, 12 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewManager.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewManager.kt
index a2c7aa5cc8f7..1db737d5d29e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewManager.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewManager.kt
@@ -18,8 +18,10 @@ package com.android.systemui.statusbar.notification.collection.render
import android.content.Context
import android.view.View
+import com.android.systemui.statusbar.notification.collection.GroupEntry
import com.android.systemui.statusbar.notification.collection.ListEntry
import com.android.systemui.statusbar.notification.collection.ShadeListBuilder
+import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
import com.android.systemui.statusbar.notification.stack.NotificationListContainer
import com.android.systemui.statusbar.phone.NotificationIconAreaController
import javax.inject.Inject
@@ -32,7 +34,7 @@ class ShadeViewManager constructor(
context: Context,
listContainer: NotificationListContainer,
logger: ShadeViewDifferLogger,
- viewBarn: NotifViewBarn,
+ private val viewBarn: NotifViewBarn,
private val notificationIconAreaController: NotificationIconAreaController
) {
// We pass a shim view here because the listContainer may not actually have a view associated
@@ -46,8 +48,17 @@ class ShadeViewManager constructor(
private fun onNewNotifTree(notifList: List<ListEntry>) {
viewDiffer.applySpec(specBuilder.buildNodeSpec(rootController, notifList))
+ updateGroupCounts(notifList)
notificationIconAreaController.updateNotificationIcons(notifList)
}
+
+ private fun updateGroupCounts(notifList: List<ListEntry>) {
+ notifList.asSequence().filterIsInstance<GroupEntry>().forEach { groupEntry ->
+ val controller = viewBarn.requireView(checkNotNull(groupEntry.summary))
+ val row = controller.view as ExpandableNotificationRow
+ row.setUntruncatedChildCount(groupEntry.untruncatedChildCount)
+ }
+ }
}
class ShadeViewManagerFactory @Inject constructor(