From 45922c965541ecc5f148b55f929f44ca75c7c42c Mon Sep 17 00:00:00 2001 From: Kevin Han Date: Fri, 1 May 2020 12:30:36 -0700 Subject: [PATCH] Actually inject TargetSdkResolver Dagger didn't create TargetSdkResolver since it was never used anywhere so we explicitly initialize it so that we actually set the targetSdk on notificattions. Bug: 155170086 Fix: 155170086 Test: Post remote view with wrap content and it correctly uses post P min height Change-Id: Iadcb4d47110de374663244116033ba0a74a1a8ee Change-Id: If27f62c8a795efea4f510f2fd3f7c645e884d31f --- .../statusbar/notification/collection/TargetSdkResolver.kt | 5 ++--- .../notification/init/NotificationsControllerImpl.kt | 6 ++++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/TargetSdkResolver.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/TargetSdkResolver.kt index 1c1b2bb087f0a..a0f9dc91ce682 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/TargetSdkResolver.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/TargetSdkResolver.kt @@ -28,10 +28,9 @@ import javax.inject.Singleton @Singleton class TargetSdkResolver @Inject constructor( - private val context: Context, - private val collection: CommonNotifCollection + private val context: Context ) { - init { + fun initialize(collection: CommonNotifCollection) { collection.addCollectionListener(object : NotifCollectionListener { override fun onEntryBind(entry: NotificationEntry, sbn: StatusBarNotification) { entry.targetSdk = resolveNotificationSdk(sbn) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsControllerImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsControllerImpl.kt index c9754048e1d14..6e4fcd5f97b14 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsControllerImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsControllerImpl.kt @@ -25,8 +25,10 @@ import com.android.systemui.statusbar.notification.NotificationActivityStarter import com.android.systemui.statusbar.notification.NotificationClicker import com.android.systemui.statusbar.notification.NotificationEntryManager import com.android.systemui.statusbar.notification.NotificationListController +import com.android.systemui.statusbar.notification.collection.NotifPipeline import com.android.systemui.statusbar.notification.collection.inflation.NotificationRowBinderImpl import com.android.systemui.statusbar.notification.collection.init.NotifPipelineInitializer +import com.android.systemui.statusbar.notification.collection.TargetSdkResolver import com.android.systemui.statusbar.notification.interruption.HeadsUpController import com.android.systemui.statusbar.notification.row.NotifBindPipelineInitializer import com.android.systemui.statusbar.notification.stack.NotificationListContainer @@ -56,6 +58,8 @@ class NotificationsControllerImpl @Inject constructor( private val featureFlags: FeatureFlags, private val notificationListener: NotificationListener, private val entryManager: NotificationEntryManager, + private val notifPipeline: Lazy, + private val targetSdkResolver: TargetSdkResolver, private val newNotifPipeline: Lazy, private val notifBindPipelineInitializer: NotifBindPipelineInitializer, private val deviceProvisionedController: DeviceProvisionedController, @@ -102,8 +106,10 @@ class NotificationsControllerImpl @Inject constructor( } if (featureFlags.isNewNotifPipelineRenderingEnabled) { + targetSdkResolver.initialize(notifPipeline.get()) // TODO } else { + targetSdkResolver.initialize(entryManager) remoteInputUriController.attach(entryManager) groupAlertTransferHelper.bind(entryManager, groupManager) headsUpManager.addListener(groupManager)