Merge "New Pipeline: Show group count" into sc-v2-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
76292931f4
@@ -18,8 +18,10 @@ package com.android.systemui.statusbar.notification.collection.render
|
|||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.view.View
|
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.ListEntry
|
||||||
import com.android.systemui.statusbar.notification.collection.ShadeListBuilder
|
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.notification.stack.NotificationListContainer
|
||||||
import com.android.systemui.statusbar.phone.NotificationIconAreaController
|
import com.android.systemui.statusbar.phone.NotificationIconAreaController
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@@ -32,7 +34,7 @@ class ShadeViewManager constructor(
|
|||||||
context: Context,
|
context: Context,
|
||||||
listContainer: NotificationListContainer,
|
listContainer: NotificationListContainer,
|
||||||
logger: ShadeViewDifferLogger,
|
logger: ShadeViewDifferLogger,
|
||||||
viewBarn: NotifViewBarn,
|
private val viewBarn: NotifViewBarn,
|
||||||
private val notificationIconAreaController: NotificationIconAreaController
|
private val notificationIconAreaController: NotificationIconAreaController
|
||||||
) {
|
) {
|
||||||
// We pass a shim view here because the listContainer may not actually have a view associated
|
// 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>) {
|
private fun onNewNotifTree(notifList: List<ListEntry>) {
|
||||||
viewDiffer.applySpec(specBuilder.buildNodeSpec(rootController, notifList))
|
viewDiffer.applySpec(specBuilder.buildNodeSpec(rootController, notifList))
|
||||||
|
updateGroupCounts(notifList)
|
||||||
notificationIconAreaController.updateNotificationIcons(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(
|
class ShadeViewManagerFactory @Inject constructor(
|
||||||
|
|||||||
Reference in New Issue
Block a user