Merge "New Pipeline: Show group count" into sc-v2-dev am: 76292931f4
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16159682 Change-Id: I49001485a4810d17fc8eb29af521aecf6f0c16b8
This commit is contained in:
@@ -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