Merge changes Ib10fa8e9,Iaad14420 into tm-qpr-dev

* changes:
  Inline notif pipeline flag into SBNActivityStarter
  Inline notif pipeline flag into CentralSurfaces
This commit is contained in:
TreeHugger Robot
2022-07-13 23:40:14 +00:00
committed by Android (Google) Code Review
5 changed files with 16 additions and 68 deletions

View File

@@ -16,7 +16,6 @@
package com.android.systemui.statusbar.notification.collection package com.android.systemui.statusbar.notification.collection
import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.statusbar.notification.NotifPipelineFlags
import com.android.systemui.statusbar.notification.collection.listbuilder.OnAfterRenderEntryListener import com.android.systemui.statusbar.notification.collection.listbuilder.OnAfterRenderEntryListener
import com.android.systemui.statusbar.notification.collection.listbuilder.OnAfterRenderGroupListener import com.android.systemui.statusbar.notification.collection.listbuilder.OnAfterRenderGroupListener
import com.android.systemui.statusbar.notification.collection.listbuilder.OnAfterRenderListListener import com.android.systemui.statusbar.notification.collection.listbuilder.OnAfterRenderListListener
@@ -250,4 +249,4 @@ class NotifPipeline @Inject constructor(
fun getInternalNotifUpdater(name: String?): InternalNotifUpdater { fun getInternalNotifUpdater(name: String?): InternalNotifUpdater {
return mNotifCollection.getInternalNotifUpdater(name) return mNotifCollection.getInternalNotifUpdater(name)
} }
} }

View File

@@ -145,4 +145,4 @@ class ViewConfigCoordinator @Inject internal constructor(
private const val TAG = "ViewConfigCoordinator" private const val TAG = "ViewConfigCoordinator"
private val DEBUG = Compile.IS_DEBUG && Log.isLoggable(TAG, Log.DEBUG) private val DEBUG = Compile.IS_DEBUG && Log.isLoggable(TAG, Log.DEBUG)
} }
} }

View File

@@ -1167,9 +1167,6 @@ public class CentralSurfacesImpl extends CoreStartable implements
mStatusBarTouchableRegionManager.setup(this, mNotificationShadeWindowView); mStatusBarTouchableRegionManager.setup(this, mNotificationShadeWindowView);
mHeadsUpManager.addListener(mNotificationPanelViewController.getOnHeadsUpChangedListener()); mHeadsUpManager.addListener(mNotificationPanelViewController.getOnHeadsUpChangedListener());
if (!mNotifPipelineFlags.isNewPipelineEnabled()) {
mHeadsUpManager.addListener(mVisualStabilityManager);
}
mNotificationPanelViewController.setHeadsUpManager(mHeadsUpManager); mNotificationPanelViewController.setHeadsUpManager(mHeadsUpManager);
createNavigationBar(result); createNavigationBar(result);
@@ -4336,9 +4333,6 @@ public class CentralSurfacesImpl extends CoreStartable implements
Log.v(TAG, "configuration changed: " + mContext.getResources().getConfiguration()); Log.v(TAG, "configuration changed: " + mContext.getResources().getConfiguration());
} }
if (!mNotifPipelineFlags.isNewPipelineEnabled()) {
mViewHierarchyManager.updateRowStates();
}
mScreenPinningRequest.onConfigurationChanged(); mScreenPinningRequest.onConfigurationChanged();
} }

View File

@@ -52,21 +52,15 @@ import com.android.systemui.EventLogTags;
import com.android.systemui.animation.ActivityLaunchAnimator; import com.android.systemui.animation.ActivityLaunchAnimator;
import com.android.systemui.assist.AssistManager; import com.android.systemui.assist.AssistManager;
import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.NotificationClickNotifier; import com.android.systemui.statusbar.NotificationClickNotifier;
import com.android.systemui.statusbar.NotificationLockscreenUserManager; import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.NotificationPresenter; import com.android.systemui.statusbar.NotificationPresenter;
import com.android.systemui.statusbar.NotificationRemoteInputManager; import com.android.systemui.statusbar.NotificationRemoteInputManager;
import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationActivityStarter; import com.android.systemui.statusbar.notification.NotificationActivityStarter;
import com.android.systemui.statusbar.notification.NotificationEntryListener;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.NotificationLaunchAnimatorControllerProvider; import com.android.systemui.statusbar.notification.NotificationLaunchAnimatorControllerProvider;
import com.android.systemui.statusbar.notification.collection.NotifPipeline; import com.android.systemui.statusbar.notification.collection.NotifPipeline;
import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener; import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener;
import com.android.systemui.statusbar.notification.collection.render.GroupMembershipManager;
import com.android.systemui.statusbar.notification.collection.render.NotificationVisibilityProvider; import com.android.systemui.statusbar.notification.collection.render.NotificationVisibilityProvider;
import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider; import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
@@ -92,24 +86,19 @@ class StatusBarNotificationActivityStarter implements NotificationActivityStarte
private final Context mContext; private final Context mContext;
private final CommandQueue mCommandQueue;
private final Handler mMainThreadHandler; private final Handler mMainThreadHandler;
private final Executor mUiBgExecutor; private final Executor mUiBgExecutor;
private final NotificationEntryManager mEntryManager;
private final NotifPipeline mNotifPipeline;
private final NotificationVisibilityProvider mVisibilityProvider; private final NotificationVisibilityProvider mVisibilityProvider;
private final HeadsUpManagerPhone mHeadsUpManager; private final HeadsUpManagerPhone mHeadsUpManager;
private final ActivityStarter mActivityStarter; private final ActivityStarter mActivityStarter;
private final NotificationClickNotifier mClickNotifier; private final NotificationClickNotifier mClickNotifier;
private final StatusBarStateController mStatusBarStateController;
private final StatusBarKeyguardViewManager mStatusBarKeyguardViewManager; private final StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
private final KeyguardManager mKeyguardManager; private final KeyguardManager mKeyguardManager;
private final IDreamManager mDreamManager; private final IDreamManager mDreamManager;
private final Optional<BubblesManager> mBubblesManagerOptional; private final Optional<BubblesManager> mBubblesManagerOptional;
private final Lazy<AssistManager> mAssistManagerLazy; private final Lazy<AssistManager> mAssistManagerLazy;
private final NotificationRemoteInputManager mRemoteInputManager; private final NotificationRemoteInputManager mRemoteInputManager;
private final GroupMembershipManager mGroupMembershipManager;
private final NotificationLockscreenUserManager mLockscreenUserManager; private final NotificationLockscreenUserManager mLockscreenUserManager;
private final ShadeController mShadeController; private final ShadeController mShadeController;
private final KeyguardStateController mKeyguardStateController; private final KeyguardStateController mKeyguardStateController;
@@ -118,7 +107,6 @@ class StatusBarNotificationActivityStarter implements NotificationActivityStarte
private final StatusBarRemoteInputCallback mStatusBarRemoteInputCallback; private final StatusBarRemoteInputCallback mStatusBarRemoteInputCallback;
private final ActivityIntentHelper mActivityIntentHelper; private final ActivityIntentHelper mActivityIntentHelper;
private final NotifPipelineFlags mNotifPipelineFlags;
private final MetricsLogger mMetricsLogger; private final MetricsLogger mMetricsLogger;
private final StatusBarNotificationActivityStarterLogger mLogger; private final StatusBarNotificationActivityStarterLogger mLogger;
@@ -134,23 +122,19 @@ class StatusBarNotificationActivityStarter implements NotificationActivityStarte
@Inject @Inject
StatusBarNotificationActivityStarter( StatusBarNotificationActivityStarter(
Context context, Context context,
CommandQueue commandQueue,
Handler mainThreadHandler, Handler mainThreadHandler,
Executor uiBgExecutor, Executor uiBgExecutor,
NotificationEntryManager entryManager,
NotifPipeline notifPipeline, NotifPipeline notifPipeline,
NotificationVisibilityProvider visibilityProvider, NotificationVisibilityProvider visibilityProvider,
HeadsUpManagerPhone headsUpManager, HeadsUpManagerPhone headsUpManager,
ActivityStarter activityStarter, ActivityStarter activityStarter,
NotificationClickNotifier clickNotifier, NotificationClickNotifier clickNotifier,
StatusBarStateController statusBarStateController,
StatusBarKeyguardViewManager statusBarKeyguardViewManager, StatusBarKeyguardViewManager statusBarKeyguardViewManager,
KeyguardManager keyguardManager, KeyguardManager keyguardManager,
IDreamManager dreamManager, IDreamManager dreamManager,
Optional<BubblesManager> bubblesManagerOptional, Optional<BubblesManager> bubblesManagerOptional,
Lazy<AssistManager> assistManagerLazy, Lazy<AssistManager> assistManagerLazy,
NotificationRemoteInputManager remoteInputManager, NotificationRemoteInputManager remoteInputManager,
GroupMembershipManager groupMembershipManager,
NotificationLockscreenUserManager lockscreenUserManager, NotificationLockscreenUserManager lockscreenUserManager,
ShadeController shadeController, ShadeController shadeController,
KeyguardStateController keyguardStateController, KeyguardStateController keyguardStateController,
@@ -158,7 +142,6 @@ class StatusBarNotificationActivityStarter implements NotificationActivityStarte
LockPatternUtils lockPatternUtils, LockPatternUtils lockPatternUtils,
StatusBarRemoteInputCallback remoteInputCallback, StatusBarRemoteInputCallback remoteInputCallback,
ActivityIntentHelper activityIntentHelper, ActivityIntentHelper activityIntentHelper,
NotifPipelineFlags notifPipelineFlags,
MetricsLogger metricsLogger, MetricsLogger metricsLogger,
StatusBarNotificationActivityStarterLogger logger, StatusBarNotificationActivityStarterLogger logger,
OnUserInteractionCallback onUserInteractionCallback, OnUserInteractionCallback onUserInteractionCallback,
@@ -168,23 +151,18 @@ class StatusBarNotificationActivityStarter implements NotificationActivityStarte
ActivityLaunchAnimator activityLaunchAnimator, ActivityLaunchAnimator activityLaunchAnimator,
NotificationLaunchAnimatorControllerProvider notificationAnimationProvider) { NotificationLaunchAnimatorControllerProvider notificationAnimationProvider) {
mContext = context; mContext = context;
mCommandQueue = commandQueue;
mMainThreadHandler = mainThreadHandler; mMainThreadHandler = mainThreadHandler;
mUiBgExecutor = uiBgExecutor; mUiBgExecutor = uiBgExecutor;
mEntryManager = entryManager;
mNotifPipeline = notifPipeline;
mVisibilityProvider = visibilityProvider; mVisibilityProvider = visibilityProvider;
mHeadsUpManager = headsUpManager; mHeadsUpManager = headsUpManager;
mActivityStarter = activityStarter; mActivityStarter = activityStarter;
mClickNotifier = clickNotifier; mClickNotifier = clickNotifier;
mStatusBarStateController = statusBarStateController;
mStatusBarKeyguardViewManager = statusBarKeyguardViewManager; mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
mKeyguardManager = keyguardManager; mKeyguardManager = keyguardManager;
mDreamManager = dreamManager; mDreamManager = dreamManager;
mBubblesManagerOptional = bubblesManagerOptional; mBubblesManagerOptional = bubblesManagerOptional;
mAssistManagerLazy = assistManagerLazy; mAssistManagerLazy = assistManagerLazy;
mRemoteInputManager = remoteInputManager; mRemoteInputManager = remoteInputManager;
mGroupMembershipManager = groupMembershipManager;
mLockscreenUserManager = lockscreenUserManager; mLockscreenUserManager = lockscreenUserManager;
mShadeController = shadeController; mShadeController = shadeController;
mKeyguardStateController = keyguardStateController; mKeyguardStateController = keyguardStateController;
@@ -192,7 +170,6 @@ class StatusBarNotificationActivityStarter implements NotificationActivityStarte
mLockPatternUtils = lockPatternUtils; mLockPatternUtils = lockPatternUtils;
mStatusBarRemoteInputCallback = remoteInputCallback; mStatusBarRemoteInputCallback = remoteInputCallback;
mActivityIntentHelper = activityIntentHelper; mActivityIntentHelper = activityIntentHelper;
mNotifPipelineFlags = notifPipelineFlags;
mMetricsLogger = metricsLogger; mMetricsLogger = metricsLogger;
mLogger = logger; mLogger = logger;
mOnUserInteractionCallback = onUserInteractionCallback; mOnUserInteractionCallback = onUserInteractionCallback;
@@ -203,21 +180,12 @@ class StatusBarNotificationActivityStarter implements NotificationActivityStarte
mActivityLaunchAnimator = activityLaunchAnimator; mActivityLaunchAnimator = activityLaunchAnimator;
mNotificationAnimationProvider = notificationAnimationProvider; mNotificationAnimationProvider = notificationAnimationProvider;
if (!mNotifPipelineFlags.isNewPipelineEnabled()) { notifPipeline.addCollectionListener(new NotifCollectionListener() {
mEntryManager.addNotificationEntryListener(new NotificationEntryListener() { @Override
@Override public void onEntryAdded(NotificationEntry entry) {
public void onPendingEntryAdded(NotificationEntry entry) { handleFullScreenIntent(entry);
handleFullScreenIntent(entry); }
} });
});
} else {
mNotifPipeline.addCollectionListener(new NotifCollectionListener() {
@Override
public void onEntryAdded(NotificationEntry entry) {
handleFullScreenIntent(entry);
}
});
}
} }
/** /**

View File

@@ -59,18 +59,15 @@ import com.android.systemui.assist.AssistManager;
import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.ActivityStarter.OnDismissAction; import com.android.systemui.plugins.ActivityStarter.OnDismissAction;
import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.NotificationClickNotifier; import com.android.systemui.statusbar.NotificationClickNotifier;
import com.android.systemui.statusbar.NotificationLockscreenUserManager; import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.NotificationPresenter; import com.android.systemui.statusbar.NotificationPresenter;
import com.android.systemui.statusbar.NotificationRemoteInputManager; import com.android.systemui.statusbar.NotificationRemoteInputManager;
import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationEntryManager; import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.NotificationLaunchAnimatorControllerProvider; import com.android.systemui.statusbar.notification.NotificationLaunchAnimatorControllerProvider;
import com.android.systemui.statusbar.notification.collection.NotifPipeline; import com.android.systemui.statusbar.notification.collection.NotifPipeline;
import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.legacy.NotificationGroupManagerLegacy;
import com.android.systemui.statusbar.notification.collection.render.NotificationVisibilityProvider; import com.android.systemui.statusbar.notification.collection.render.NotificationVisibilityProvider;
import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider; import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProvider;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
@@ -127,8 +124,6 @@ public class StatusBarNotificationActivityStarterTest extends SysuiTestCase {
@Mock @Mock
private ShadeControllerImpl mShadeController; private ShadeControllerImpl mShadeController;
@Mock @Mock
private NotifPipelineFlags mNotifPipelineFlags;
@Mock
private NotifPipeline mNotifPipeline; private NotifPipeline mNotifPipeline;
@Mock @Mock
private NotificationVisibilityProvider mVisibilityProvider; private NotificationVisibilityProvider mVisibilityProvider;
@@ -148,15 +143,13 @@ public class StatusBarNotificationActivityStarterTest extends SysuiTestCase {
private ActivityLaunchAnimator mActivityLaunchAnimator; private ActivityLaunchAnimator mActivityLaunchAnimator;
@Mock @Mock
private InteractionJankMonitor mJankMonitor; private InteractionJankMonitor mJankMonitor;
private FakeExecutor mUiBgExecutor = new FakeExecutor(new FakeSystemClock()); private final FakeExecutor mUiBgExecutor = new FakeExecutor(new FakeSystemClock());
private NotificationTestHelper mNotificationTestHelper;
private ExpandableNotificationRow mNotificationRow; private ExpandableNotificationRow mNotificationRow;
private ExpandableNotificationRow mBubbleNotificationRow; private ExpandableNotificationRow mBubbleNotificationRow;
private final Answer<Void> mCallOnDismiss = answerVoid( private final Answer<Void> mCallOnDismiss = answerVoid(
(OnDismissAction dismissAction, Runnable cancel, (OnDismissAction dismissAction, Runnable cancel,
Boolean afterKeyguardGone) -> dismissAction.onDismiss()); Boolean afterKeyguardGone) -> dismissAction.onDismiss());
private ArrayList<NotificationEntry> mActiveNotifications;
@Before @Before
public void setUp() throws Exception { public void setUp() throws Exception {
@@ -165,29 +158,28 @@ public class StatusBarNotificationActivityStarterTest extends SysuiTestCase {
when(mContentIntent.getCreatorUserHandle()).thenReturn(UserHandle.of(1)); when(mContentIntent.getCreatorUserHandle()).thenReturn(UserHandle.of(1));
when(mContentIntent.getIntent()).thenReturn(mContentIntentInner); when(mContentIntent.getIntent()).thenReturn(mContentIntentInner);
mNotificationTestHelper = new NotificationTestHelper( NotificationTestHelper notificationTestHelper = new NotificationTestHelper(
mContext, mContext,
mDependency, mDependency,
TestableLooper.get(this)); TestableLooper.get(this));
// Create standard notification with contentIntent // Create standard notification with contentIntent
mNotificationRow = mNotificationTestHelper.createRow(); mNotificationRow = notificationTestHelper.createRow();
StatusBarNotification sbn = mNotificationRow.getEntry().getSbn(); StatusBarNotification sbn = mNotificationRow.getEntry().getSbn();
sbn.getNotification().contentIntent = mContentIntent; sbn.getNotification().contentIntent = mContentIntent;
sbn.getNotification().flags |= Notification.FLAG_AUTO_CANCEL; sbn.getNotification().flags |= Notification.FLAG_AUTO_CANCEL;
// Create bubble notification row with contentIntent // Create bubble notification row with contentIntent
mBubbleNotificationRow = mNotificationTestHelper.createBubble(); mBubbleNotificationRow = notificationTestHelper.createBubble();
StatusBarNotification bubbleSbn = mBubbleNotificationRow.getEntry().getSbn(); StatusBarNotification bubbleSbn = mBubbleNotificationRow.getEntry().getSbn();
bubbleSbn.getNotification().contentIntent = mContentIntent; bubbleSbn.getNotification().contentIntent = mContentIntent;
bubbleSbn.getNotification().flags |= Notification.FLAG_AUTO_CANCEL; bubbleSbn.getNotification().flags |= Notification.FLAG_AUTO_CANCEL;
mActiveNotifications = new ArrayList<>(); ArrayList<NotificationEntry> activeNotifications = new ArrayList<>();
mActiveNotifications.add(mNotificationRow.getEntry()); activeNotifications.add(mNotificationRow.getEntry());
mActiveNotifications.add(mBubbleNotificationRow.getEntry()); activeNotifications.add(mBubbleNotificationRow.getEntry());
when(mEntryManager.getVisibleNotifications()).thenReturn(mActiveNotifications); when(mEntryManager.getVisibleNotifications()).thenReturn(activeNotifications);
when(mStatusBarStateController.getState()).thenReturn(StatusBarState.SHADE); when(mStatusBarStateController.getState()).thenReturn(StatusBarState.SHADE);
when(mNotifPipelineFlags.isNewPipelineEnabled()).thenReturn(false);
when(mOnUserInteractionCallback.registerFutureDismissal(eq(mNotificationRow.getEntry()), when(mOnUserInteractionCallback.registerFutureDismissal(eq(mNotificationRow.getEntry()),
anyInt())).thenReturn(mFutureDismissalRunnable); anyInt())).thenReturn(mFutureDismissalRunnable);
when(mVisibilityProvider.obtain(anyString(), anyBoolean())) when(mVisibilityProvider.obtain(anyString(), anyBoolean()))
@@ -207,23 +199,19 @@ public class StatusBarNotificationActivityStarterTest extends SysuiTestCase {
mNotificationActivityStarter = mNotificationActivityStarter =
new StatusBarNotificationActivityStarter( new StatusBarNotificationActivityStarter(
getContext(), getContext(),
mock(CommandQueue.class),
mHandler, mHandler,
mUiBgExecutor, mUiBgExecutor,
mEntryManager,
mNotifPipeline, mNotifPipeline,
mVisibilityProvider, mVisibilityProvider,
headsUpManager, headsUpManager,
mActivityStarter, mActivityStarter,
mClickNotifier, mClickNotifier,
mock(StatusBarStateController.class),
mStatusBarKeyguardViewManager, mStatusBarKeyguardViewManager,
mock(KeyguardManager.class), mock(KeyguardManager.class),
mock(IDreamManager.class), mock(IDreamManager.class),
Optional.of(mBubblesManager), Optional.of(mBubblesManager),
() -> mAssistManager, () -> mAssistManager,
mRemoteInputManager, mRemoteInputManager,
mock(NotificationGroupManagerLegacy.class),
mock(NotificationLockscreenUserManager.class), mock(NotificationLockscreenUserManager.class),
mShadeController, mShadeController,
mKeyguardStateController, mKeyguardStateController,
@@ -231,7 +219,6 @@ public class StatusBarNotificationActivityStarterTest extends SysuiTestCase {
mock(LockPatternUtils.class), mock(LockPatternUtils.class),
mock(StatusBarRemoteInputCallback.class), mock(StatusBarRemoteInputCallback.class),
mActivityIntentHelper, mActivityIntentHelper,
mNotifPipelineFlags,
mock(MetricsLogger.class), mock(MetricsLogger.class),
mock(StatusBarNotificationActivityStarterLogger.class), mock(StatusBarNotificationActivityStarterLogger.class),
mOnUserInteractionCallback, mOnUserInteractionCallback,