From 74201279f1d811420415f9295599a7ca3452c9b0 Mon Sep 17 00:00:00 2001 From: Jeff DeCew Date: Sun, 31 Oct 2021 09:40:36 -0400 Subject: [PATCH] New Pipeline: Show group count Bug: 204674942 Test: post a group; observe count in expander Change-Id: I24062268336b53e35895d5a018cf08b798aa0137 --- .../collection/render/ShadeViewManager.kt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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 a2c7aa5cc8f75..1db737d5d29e0 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) { viewDiffer.applySpec(specBuilder.buildNodeSpec(rootController, notifList)) + updateGroupCounts(notifList) notificationIconAreaController.updateNotificationIcons(notifList) } + + private fun updateGroupCounts(notifList: List) { + notifList.asSequence().filterIsInstance().forEach { groupEntry -> + val controller = viewBarn.requireView(checkNotNull(groupEntry.summary)) + val row = controller.view as ExpandableNotificationRow + row.setUntruncatedChildCount(groupEntry.untruncatedChildCount) + } + } } class ShadeViewManagerFactory @Inject constructor(