diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/BubbleCoordinator.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/BubbleCoordinator.java index d013261a4193e..e9b7caa565aca 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/BubbleCoordinator.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/BubbleCoordinator.java @@ -16,6 +16,7 @@ package com.android.systemui.statusbar.notification.collection.coordinator; +import com.android.systemui.statusbar.notification.NotifPipelineFlags; import com.android.systemui.statusbar.notification.collection.NotifCollection; import com.android.systemui.statusbar.notification.collection.NotifPipeline; import com.android.systemui.statusbar.notification.collection.NotificationEntry; @@ -57,6 +58,7 @@ import javax.inject.Inject; public class BubbleCoordinator implements Coordinator { private static final String TAG = "BubbleCoordinator"; + private final NotifPipelineFlags mNotifPipelineFlags; private final Optional mBubblesManagerOptional; private final Optional mBubblesOptional; private final NotifCollection mNotifCollection; @@ -66,9 +68,11 @@ public class BubbleCoordinator implements Coordinator { @Inject public BubbleCoordinator( + NotifPipelineFlags notifPipelineFlags, Optional bubblesManagerOptional, Optional bubblesOptional, NotifCollection notifCollection) { + mNotifPipelineFlags = notifPipelineFlags; mBubblesManagerOptional = bubblesManagerOptional; mBubblesOptional = bubblesOptional; mNotifCollection = notifCollection; @@ -130,6 +134,14 @@ public class BubbleCoordinator implements Coordinator { DismissedByUserStats dismissedByUserStats, int reason ) { + if (!mNotifPipelineFlags.isNewPipelineEnabled()) { + // The `entry` will be from whichever pipeline is active, so if the old pipeline is + // running, make sure that we use the new pipeline's entry (if it still exists). + NotificationEntry newPipelineEntry = mNotifPipeline.getEntry(entry.getKey()); + if (newPipelineEntry != null) { + entry = newPipelineEntry; + } + } if (isInterceptingDismissal(entry)) { mInterceptedDismissalEntries.remove(entry.getKey()); mOnEndDismissInterception.onEndDismissInterception(mDismissInterceptor, entry,