summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/flags/FeatureFlags.java31
-rw-r--r--packages/SystemUI/src/com/android/systemui/flags/Flags.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java14
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalController.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/connectivity/WifiSignalController.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarDependenciesModule.java7
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/NotifPipelineFlags.kt37
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/inflation/NotificationRowBinderImpl.java16
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/legacy/LowPriorityInflationHelper.java14
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManager.kt10
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java9
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java8
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarPhoneModule.java7
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/qs/QSTileHostTest.java12
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/qs/customize/TileQueryHelperTest.java2
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationViewHierarchyManagerTest.java8
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerBaseTest.java4
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationEntryManagerInflationTest.java7
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManagerTest.java7
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.java4
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java5
24 files changed, 130 insertions, 85 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/flags/FeatureFlags.java b/packages/SystemUI/src/com/android/systemui/flags/FeatureFlags.java
index 5f7ad58ac035..f8bdaf60a103 100644
--- a/packages/SystemUI/src/com/android/systemui/flags/FeatureFlags.java
+++ b/packages/SystemUI/src/com/android/systemui/flags/FeatureFlags.java
@@ -18,8 +18,6 @@ package com.android.systemui.flags;
import android.content.Context;
import android.util.FeatureFlagUtils;
-import android.util.Log;
-import android.widget.Toast;
import com.android.systemui.dagger.SysUISingleton;
@@ -33,12 +31,10 @@ import javax.inject.Inject;
@SysUISingleton
public class FeatureFlags {
private final FlagReader mFlagReader;
- private final Context mContext;
@Inject
- public FeatureFlags(FlagReader flagReader, Context context) {
+ public FeatureFlags(FlagReader flagReader) {
mFlagReader = flagReader;
- mContext = context;
}
/**
@@ -49,22 +45,6 @@ public class FeatureFlags {
return mFlagReader.isEnabled(flag);
}
- public void assertLegacyPipelineEnabled() {
- if (isNewNotifPipelineRenderingEnabled()) {
- throw new IllegalStateException("Old pipeline code running w/ new pipeline enabled");
- }
- }
-
- public boolean checkLegacyPipelineEnabled() {
- if (!isNewNotifPipelineRenderingEnabled()) {
- return true;
- }
- Log.d("NotifPipeline", "Old pipeline code running w/ new pipeline enabled",
- new Exception());
- Toast.makeText(mContext, "Old pipeline code running!", Toast.LENGTH_SHORT).show();
- return false;
- }
-
public boolean isNewNotifPipelineRenderingEnabled() {
return isEnabled(Flags.NEW_NOTIFICATION_PIPELINE_RENDERING);
}
@@ -129,8 +109,8 @@ public class FeatureFlags {
}
/** System setting for provider model behavior */
- public boolean isProviderModelSettingEnabled() {
- return FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL);
+ public boolean isProviderModelSettingEnabled(Context context) {
+ return FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL);
}
/**
@@ -146,9 +126,4 @@ public class FeatureFlags {
public boolean useCombinedQSHeaders() {
return isEnabled(Flags.COMBINED_QS_HEADERS);
}
-
- /** static method for the system setting */
- public static boolean isProviderModelSettingEnabled(Context context) {
- return FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL);
- }
}
diff --git a/packages/SystemUI/src/com/android/systemui/flags/Flags.java b/packages/SystemUI/src/com/android/systemui/flags/Flags.java
index ee24f45de756..c60e09889b15 100644
--- a/packages/SystemUI/src/com/android/systemui/flags/Flags.java
+++ b/packages/SystemUI/src/com/android/systemui/flags/Flags.java
@@ -92,6 +92,9 @@ public class Flags {
/***************************************/
// 600- status bar
+ public static final BooleanFlag STATUS_BAR_PROVIDER_MODEL =
+ new BooleanFlag(600, false);
+
public static final BooleanFlag COMBINED_STATUS_BAR_SIGNAL_ICONS =
new BooleanFlag(601, false);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java b/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java
index 019676980259..af191a10a9e4 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java
@@ -536,7 +536,7 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D
}
}
}
- if (featureFlags.isProviderModelSettingEnabled()) {
+ if (featureFlags.isProviderModelSettingEnabled(context)) {
if (!tiles.contains("internet")) {
if (tiles.contains("wifi")) {
// Replace the WiFi with Internet, and remove the Cell
diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
index 993bbd039b60..eef3b4586443 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
@@ -121,7 +121,7 @@ public class TileQueryHelper {
}
final ArrayList<QSTile> tilesToAdd = new ArrayList<>();
- if (mFeatureFlags.isProviderModelSettingEnabled()) {
+ if (mFeatureFlags.isProviderModelSettingEnabled(mContext)) {
possibleTiles.remove("cell");
possibleTiles.remove("wifi");
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
index ff3e97af72a7..18c8b7f5bde7 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
@@ -33,6 +33,7 @@ import com.android.systemui.statusbar.dagger.StatusBarModule;
import com.android.systemui.statusbar.notification.AssistantFeedbackController;
import com.android.systemui.statusbar.notification.DynamicChildBindController;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.legacy.LowPriorityInflationHelper;
@@ -91,6 +92,7 @@ public class NotificationViewHierarchyManager implements DynamicPrivacyControlle
private final DynamicPrivacyController mDynamicPrivacyController;
private final KeyguardBypassController mBypassController;
private final ForegroundServiceSectionController mFgsSectionController;
+ private final NotifPipelineFlags mNotifPipelineFlags;
private AssistantFeedbackController mAssistantFeedbackController;
private final Context mContext;
@@ -121,7 +123,8 @@ public class NotificationViewHierarchyManager implements DynamicPrivacyControlle
ForegroundServiceSectionController fgsSectionController,
DynamicChildBindController dynamicChildBindController,
LowPriorityInflationHelper lowPriorityInflationHelper,
- AssistantFeedbackController assistantFeedbackController) {
+ AssistantFeedbackController assistantFeedbackController,
+ NotifPipelineFlags notifPipelineFlags) {
mContext = context;
mHandler = mainHandler;
mFeatureFlags = featureFlags;
@@ -132,6 +135,7 @@ public class NotificationViewHierarchyManager implements DynamicPrivacyControlle
mStatusBarStateController = (SysuiStatusBarStateController) statusBarStateController;
mEntryManager = notificationEntryManager;
mFgsSectionController = fgsSectionController;
+ mNotifPipelineFlags = notifPipelineFlags;
Resources res = context.getResources();
mAlwaysExpandNonGroupedNotification =
res.getBoolean(R.bool.config_alwaysExpandNonGroupedNotifications);
@@ -157,7 +161,7 @@ public class NotificationViewHierarchyManager implements DynamicPrivacyControlle
//TODO: Rewrite this to focus on Entries, or some other data object instead of views
public void updateNotificationViews() {
Assert.isMainThread();
- if (!mFeatureFlags.checkLegacyPipelineEnabled()) {
+ if (!mNotifPipelineFlags.checkLegacyPipelineEnabled()) {
return;
}
@@ -435,7 +439,7 @@ public class NotificationViewHierarchyManager implements DynamicPrivacyControlle
*/
public void updateRowStates() {
Assert.isMainThread();
- if (!mFeatureFlags.checkLegacyPipelineEnabled()) {
+ if (!mNotifPipelineFlags.checkLegacyPipelineEnabled()) {
return;
}
@@ -524,7 +528,9 @@ public class NotificationViewHierarchyManager implements DynamicPrivacyControlle
@Override
public void onDynamicPrivacyChanged() {
- mFeatureFlags.assertLegacyPipelineEnabled();
+ if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ throw new IllegalStateException("Old pipeline code running w/ new pipeline enabled");
+ }
if (mPerformingUpdate) {
Log.w(TAG, "onDynamicPrivacyChanged made a re-entrant call");
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalController.java
index 9ae7ea2bdded..82e1cf877afe 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalController.java
@@ -227,7 +227,7 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
mMobileStatusTracker = new MobileStatusTracker(mPhone, receiverLooper,
info, mDefaults, mMobileCallback);
mProviderModelBehavior = featureFlags.isCombinedStatusBarSignalIconsEnabled();
- mProviderModelSetting = featureFlags.isProviderModelSettingEnabled();
+ mProviderModelSetting = featureFlags.isProviderModelSettingEnabled(mContext);
}
void setConfiguration(Config config) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java
index 26780eb9d82c..a87efd7e10b1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java
@@ -442,7 +442,7 @@ public class NetworkControllerImpl extends BroadcastReceiver
mDemoModeController.addCallback(this);
mProviderModelBehavior = mFeatureFlags.isCombinedStatusBarSignalIconsEnabled();
- mProviderModelSetting = mFeatureFlags.isProviderModelSettingEnabled();
+ mProviderModelSetting = mFeatureFlags.isProviderModelSettingEnabled(mContext);
mDumpManager.registerDumpable(TAG, this);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/WifiSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/WifiSignalController.java
index 103ca0ebc6ca..b5d36373fcf7 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/WifiSignalController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/WifiSignalController.java
@@ -68,7 +68,7 @@ public class WifiSignalController extends SignalController<WifiState, IconGroup>
new WifiTrafficStateCallback());
}
mCurrentState.iconGroup = mLastState.iconGroup = mUnmergedWifiIconGroup;
- mProviderModelSetting = featureFlags.isProviderModelSettingEnabled();
+ mProviderModelSetting = featureFlags.isProviderModelSettingEnabled(mContext);
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarDependenciesModule.java b/packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarDependenciesModule.java
index d5cba72f99d3..77463fe825b5 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarDependenciesModule.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarDependenciesModule.java
@@ -52,6 +52,7 @@ import com.android.systemui.statusbar.gesture.SwipeStatusBarAwayGestureHandler;
import com.android.systemui.statusbar.notification.AssistantFeedbackController;
import com.android.systemui.statusbar.notification.DynamicChildBindController;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.collection.NotifCollection;
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
@@ -211,7 +212,8 @@ public interface StatusBarDependenciesModule {
ForegroundServiceSectionController fgsSectionController,
DynamicChildBindController dynamicChildBindController,
LowPriorityInflationHelper lowPriorityInflationHelper,
- AssistantFeedbackController assistantFeedbackController) {
+ AssistantFeedbackController assistantFeedbackController,
+ NotifPipelineFlags notifPipelineFlags) {
return new NotificationViewHierarchyManager(
context,
mainHandler,
@@ -227,7 +229,8 @@ public interface StatusBarDependenciesModule {
fgsSectionController,
dynamicChildBindController,
lowPriorityInflationHelper,
- assistantFeedbackController);
+ assistantFeedbackController,
+ notifPipelineFlags);
}
/**
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotifPipelineFlags.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotifPipelineFlags.kt
new file mode 100644
index 000000000000..914697b5296b
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotifPipelineFlags.kt
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.statusbar.notification
+
+import android.content.Context
+import android.util.Log
+import android.widget.Toast
+import com.android.systemui.flags.FeatureFlags
+import javax.inject.Inject
+
+class NotifPipelineFlags @Inject constructor(
+ val context: Context,
+ val featureFlags: FeatureFlags
+) {
+ fun checkLegacyPipelineEnabled(): Boolean {
+ if (!featureFlags.isNewNotifPipelineRenderingEnabled) {
+ return true
+ }
+ Log.d("NotifPipeline", "Old pipeline code running w/ new pipeline enabled", Exception())
+ Toast.makeText(context, "Old pipeline code running!", Toast.LENGTH_SHORT).show()
+ return false
+ }
+} \ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/inflation/NotificationRowBinderImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/inflation/NotificationRowBinderImpl.java
index 5c8e8b244abb..4c7b2bbfb6d9 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/inflation/NotificationRowBinderImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/inflation/NotificationRowBinderImpl.java
@@ -25,12 +25,12 @@ import android.view.ViewGroup;
import com.android.internal.util.NotificationMessagingUtil;
import com.android.systemui.dagger.SysUISingleton;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.NotificationPresenter;
import com.android.systemui.statusbar.NotificationRemoteInputManager;
import com.android.systemui.statusbar.NotificationUiAdjustment;
import com.android.systemui.statusbar.notification.InflationException;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationClicker;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.legacy.LowPriorityInflationHelper;
@@ -55,7 +55,6 @@ public class NotificationRowBinderImpl implements NotificationRowBinder {
private static final String TAG = "NotificationViewManager";
private final Context mContext;
- private final FeatureFlags mFeatureFlags;
private final NotificationMessagingUtil mMessagingUtil;
private final NotificationRemoteInputManager mNotificationRemoteInputManager;
private final NotificationLockscreenUserManager mNotificationLockscreenUserManager;
@@ -66,6 +65,7 @@ public class NotificationRowBinderImpl implements NotificationRowBinder {
mExpandableNotificationRowComponentBuilder;
private final IconManager mIconManager;
private final LowPriorityInflationHelper mLowPriorityInflationHelper;
+ private final NotifPipelineFlags mNotifPipelineFlags;
private NotificationPresenter mPresenter;
private NotificationListContainer mListContainer;
@@ -75,7 +75,6 @@ public class NotificationRowBinderImpl implements NotificationRowBinder {
@Inject
public NotificationRowBinderImpl(
Context context,
- FeatureFlags featureFlags,
NotificationMessagingUtil notificationMessagingUtil,
NotificationRemoteInputManager notificationRemoteInputManager,
NotificationLockscreenUserManager notificationLockscreenUserManager,
@@ -84,9 +83,9 @@ public class NotificationRowBinderImpl implements NotificationRowBinder {
Provider<RowInflaterTask> rowInflaterTaskProvider,
ExpandableNotificationRowComponent.Builder expandableNotificationRowComponentBuilder,
IconManager iconManager,
- LowPriorityInflationHelper lowPriorityInflationHelper) {
+ LowPriorityInflationHelper lowPriorityInflationHelper,
+ NotifPipelineFlags notifPipelineFlags) {
mContext = context;
- mFeatureFlags = featureFlags;
mNotifBindPipeline = notifBindPipeline;
mRowContentBindStage = rowContentBindStage;
mMessagingUtil = notificationMessagingUtil;
@@ -96,6 +95,7 @@ public class NotificationRowBinderImpl implements NotificationRowBinder {
mExpandableNotificationRowComponentBuilder = expandableNotificationRowComponentBuilder;
mIconManager = iconManager;
mLowPriorityInflationHelper = lowPriorityInflationHelper;
+ mNotifPipelineFlags = notifPipelineFlags;
}
/**
@@ -126,7 +126,7 @@ public class NotificationRowBinderImpl implements NotificationRowBinder {
throws InflationException {
if (params == null) {
// weak assert that the params should always be passed in the new pipeline
- mFeatureFlags.checkLegacyPipelineEnabled();
+ mNotifPipelineFlags.checkLegacyPipelineEnabled();
}
ViewGroup parent = mListContainer.getViewParentForNotification(entry);
@@ -187,7 +187,7 @@ public class NotificationRowBinderImpl implements NotificationRowBinder {
NotificationUiAdjustment oldAdjustment,
NotificationUiAdjustment newAdjustment,
NotificationRowContentBinder.InflationCallback callback) {
- mFeatureFlags.checkLegacyPipelineEnabled();
+ mNotifPipelineFlags.checkLegacyPipelineEnabled();
if (NotificationUiAdjustment.needReinflate(oldAdjustment, newAdjustment)) {
if (entry.rowExists()) {
ExpandableNotificationRow row = entry.getRow();
@@ -238,7 +238,7 @@ public class NotificationRowBinderImpl implements NotificationRowBinder {
isLowPriority = inflaterParams.isLowPriority();
} else {
// LEGACY pipeline
- mFeatureFlags.checkLegacyPipelineEnabled();
+ mNotifPipelineFlags.checkLegacyPipelineEnabled();
// If this is our first time inflating, we don't actually know the groupings for real
// yet, so we might actually inflate a low priority content view incorrectly here and
// have to correct it later in the pipeline. On subsequent inflations (i.e. updates),
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/legacy/LowPriorityInflationHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/legacy/LowPriorityInflationHelper.java
index dd1f9485a4f3..ae4f2bbc0453 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/legacy/LowPriorityInflationHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/legacy/LowPriorityInflationHelper.java
@@ -17,7 +17,7 @@
package com.android.systemui.statusbar.notification.collection.legacy;
import com.android.systemui.dagger.SysUISingleton;
-import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.row.RowContentBindParams;
@@ -31,18 +31,18 @@ import javax.inject.Inject;
*/
@SysUISingleton
public class LowPriorityInflationHelper {
- private final FeatureFlags mFeatureFlags;
private final NotificationGroupManagerLegacy mGroupManager;
private final RowContentBindStage mRowContentBindStage;
+ private final NotifPipelineFlags mNotifPipelineFlags;
@Inject
LowPriorityInflationHelper(
- FeatureFlags featureFlags,
NotificationGroupManagerLegacy groupManager,
- RowContentBindStage rowContentBindStage) {
- mFeatureFlags = featureFlags;
+ RowContentBindStage rowContentBindStage,
+ NotifPipelineFlags notifPipelineFlags) {
mGroupManager = groupManager;
mRowContentBindStage = rowContentBindStage;
+ mNotifPipelineFlags = notifPipelineFlags;
}
/**
@@ -59,7 +59,7 @@ public class LowPriorityInflationHelper {
public void recheckLowPriorityViewAndInflate(
NotificationEntry entry,
ExpandableNotificationRow row) {
- mFeatureFlags.checkLegacyPipelineEnabled();
+ mNotifPipelineFlags.checkLegacyPipelineEnabled();
RowContentBindParams params = mRowContentBindStage.getStageParams(entry);
final boolean shouldBeLowPriority = shouldUseLowPriorityView(entry);
if (!row.isRemoved() && row.isLowPriority() != shouldBeLowPriority) {
@@ -73,7 +73,7 @@ public class LowPriorityInflationHelper {
* Whether the notification should inflate a low priority version of its content views.
*/
public boolean shouldUseLowPriorityView(NotificationEntry entry) {
- mFeatureFlags.checkLegacyPipelineEnabled();
+ mNotifPipelineFlags.checkLegacyPipelineEnabled();
return entry.isAmbient() && !mGroupManager.isChildInGroup(entry);
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManager.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManager.kt
index 408c457e259c..88198f394683 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManager.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManager.kt
@@ -22,10 +22,10 @@ import android.view.LayoutInflater
import android.view.View
import com.android.internal.annotations.VisibleForTesting
import com.android.systemui.R
-import com.android.systemui.flags.FeatureFlags
import com.android.systemui.media.KeyguardMediaController
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.statusbar.StatusBarState
+import com.android.systemui.statusbar.notification.NotifPipelineFlags
import com.android.systemui.statusbar.notification.NotificationSectionsFeatureManager
import com.android.systemui.statusbar.notification.collection.render.SectionHeaderController
import com.android.systemui.statusbar.notification.collection.render.ShadeViewManager
@@ -54,12 +54,12 @@ import javax.inject.Inject
* TODO: Move remaining sections logic from NSSL into this class.
*/
class NotificationSectionsManager @Inject internal constructor(
- private val featureFlags: FeatureFlags,
private val statusBarStateController: StatusBarStateController,
private val configurationController: ConfigurationController,
private val keyguardMediaController: KeyguardMediaController,
private val sectionsFeatureManager: NotificationSectionsFeatureManager,
private val logger: NotificationSectionsLogger,
+ private val notifPipelineFlags: NotifPipelineFlags,
@IncomingHeader private val incomingHeaderController: SectionHeaderController,
@PeopleHeader private val peopleHeaderController: SectionHeaderController,
@AlertingHeader private val alertingHeaderController: SectionHeaderController,
@@ -201,7 +201,7 @@ class NotificationSectionsManager @Inject internal constructor(
override var targetPosition: Int? = null
override fun adjustViewPosition() {
- featureFlags.checkLegacyPipelineEnabled()
+ notifPipelineFlags.checkLegacyPipelineEnabled()
val target = targetPosition
val current = currentPosition
if (target == null) {
@@ -228,7 +228,7 @@ class NotificationSectionsManager @Inject internal constructor(
private fun <T : StackScrollerDecorView> decorViewHeaderState(
header: T
): SectionUpdateState<T> {
- featureFlags.checkLegacyPipelineEnabled()
+ notifPipelineFlags.checkLegacyPipelineEnabled()
val inner = expandableViewHeaderState(header)
return object : SectionUpdateState<T> by inner {
override fun adjustViewPosition() {
@@ -245,7 +245,7 @@ class NotificationSectionsManager @Inject internal constructor(
* bookkeeping and adds/moves/removes section headers if appropriate.
*/
fun updateSectionBoundaries(reason: String) {
- featureFlags.checkLegacyPipelineEnabled()
+ notifPipelineFlags.checkLegacyPipelineEnabled()
if (!isUsingMultipleSections) {
return
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
index b47e71aaccc2..338c7a2e904f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ -200,6 +200,7 @@ import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationActivityStarter;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.NotificationLaunchAnimatorControllerProvider;
@@ -669,6 +670,7 @@ public class StatusBar extends CoreStartable implements
private final Optional<Bubbles> mBubblesOptional;
private final Bubbles.BubbleExpandListener mBubbleExpandListener;
private final Optional<StartingSurface> mStartingSurfaceOptional;
+ private final NotifPipelineFlags mNotifPipelineFlags;
private final ActivityIntentHelper mActivityIntentHelper;
private NotificationStackScrollLayoutController mStackScrollerController;
@@ -784,7 +786,8 @@ public class StatusBar extends CoreStartable implements
Optional<StartingSurface> startingSurfaceOptional,
TunerService tunerService,
DumpManager dumpManager,
- ActivityLaunchAnimator activityLaunchAnimator) {
+ ActivityLaunchAnimator activityLaunchAnimator,
+ NotifPipelineFlags notifPipelineFlags) {
super(context);
mNotificationsController = notificationsController;
mLightBarController = lightBarController;
@@ -881,6 +884,7 @@ public class StatusBar extends CoreStartable implements
mLockscreenShadeTransitionController = lockscreenShadeTransitionController;
mStartingSurfaceOptional = startingSurfaceOptional;
+ mNotifPipelineFlags = notifPipelineFlags;
lockscreenShadeTransitionController.setStatusbar(this);
mPanelExpansionStateManager.addExpansionListener(this::onPanelExpansionChanged);
@@ -1478,7 +1482,8 @@ public class StatusBar extends CoreStartable implements
mInitController,
mNotificationInterruptStateProvider,
mRemoteInputManager,
- mConfigurationController);
+ mConfigurationController,
+ mNotifPipelineFlags);
mNotificationShelfController.setOnActivatedListener(mPresenter);
mRemoteInputManager.addControllerCallback(mNotificationShadeWindowController);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java
index 7c0f923038b3..58a018c01d9e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java
@@ -57,6 +57,7 @@ import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.notification.AboveShelfObserver;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.inflation.NotificationRowBinderImpl;
@@ -108,6 +109,7 @@ public class StatusBarNotificationPresenter implements NotificationPresenter,
private final AccessibilityManager mAccessibilityManager;
private final KeyguardManager mKeyguardManager;
private final NotificationShadeWindowController mNotificationShadeWindowController;
+ private final NotifPipelineFlags mNotifPipelineFlags;
private final IStatusBarService mBarService;
private final DynamicPrivacyController mDynamicPrivacyController;
private boolean mReinflateNotificationsOnUserSwitched;
@@ -144,7 +146,8 @@ public class StatusBarNotificationPresenter implements NotificationPresenter,
InitController initController,
NotificationInterruptStateProvider notificationInterruptStateProvider,
NotificationRemoteInputManager remoteInputManager,
- ConfigurationController configurationController) {
+ ConfigurationController configurationController,
+ NotifPipelineFlags notifPipelineFlags) {
mKeyguardStateController = keyguardStateController;
mNotificationPanel = panel;
mHeadsUpManager = headsUp;
@@ -167,6 +170,7 @@ public class StatusBarNotificationPresenter implements NotificationPresenter,
mLockscreenGestureLogger = lockscreenGestureLogger;
mAboveShelfObserver = new AboveShelfObserver(stackScrollerController.getView());
mNotificationShadeWindowController = notificationShadeWindowController;
+ mNotifPipelineFlags = notifPipelineFlags;
mAboveShelfObserver.setListener(statusBarWindow.findViewById(
R.id.notification_container_parent));
mAccessibilityManager = context.getSystemService(AccessibilityManager.class);
@@ -305,7 +309,7 @@ public class StatusBarNotificationPresenter implements NotificationPresenter,
@Override
public void updateNotificationViews(final String reason) {
- if (!mFeatureFlags.checkLegacyPipelineEnabled()) {
+ if (!mNotifPipelineFlags.checkLegacyPipelineEnabled()) {
return;
}
// The function updateRowStates depends on both of these being non-null, so check them here.
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarPhoneModule.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarPhoneModule.java
index 3259f6b8027b..238a0f7ed3b8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarPhoneModule.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarPhoneModule.java
@@ -64,6 +64,7 @@ import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
import com.android.systemui.statusbar.notification.collection.legacy.VisualStabilityManager;
@@ -237,7 +238,8 @@ public interface StatusBarPhoneModule {
Optional<StartingSurface> startingSurfaceOptional,
TunerService tunerService,
DumpManager dumpManager,
- ActivityLaunchAnimator activityLaunchAnimator) {
+ ActivityLaunchAnimator activityLaunchAnimator,
+ NotifPipelineFlags notifPipelineFlags) {
return new StatusBar(
context,
notificationsController,
@@ -336,7 +338,8 @@ public interface StatusBarPhoneModule {
startingSurfaceOptional,
tunerService,
dumpManager,
- activityLaunchAnimator
+ activityLaunchAnimator,
+ notifPipelineFlags
);
}
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QSTileHostTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/QSTileHostTest.java
index aba043b3c1e0..ce369359031d 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/QSTileHostTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QSTileHostTest.java
@@ -151,7 +151,7 @@ public class QSTileHostTest extends SysuiTestCase {
mSecureSettings, mCustomTileStatePersister, mTileServiceRequestControllerBuilder,
mFeatureFlags);
setUpTileFactory();
- when(mFeatureFlags.isProviderModelSettingEnabled()).thenReturn(false);
+ when(mFeatureFlags.isProviderModelSettingEnabled(mContext)).thenReturn(false);
}
private void setUpTileFactory() {
@@ -200,7 +200,7 @@ public class QSTileHostTest extends SysuiTestCase {
@Test
public void testRemoveWifiAndCellularWithoutInternet() {
- when(mFeatureFlags.isProviderModelSettingEnabled()).thenReturn(true);
+ when(mFeatureFlags.isProviderModelSettingEnabled(mContext)).thenReturn(true);
mQSTileHost.onTuningChanged(QSTileHost.TILES_SETTING, "wifi, spec1, cell, spec2");
assertEquals("internet", mQSTileHost.mTileSpecs.get(0));
@@ -210,7 +210,7 @@ public class QSTileHostTest extends SysuiTestCase {
@Test
public void testRemoveWifiAndCellularWithInternet() {
- when(mFeatureFlags.isProviderModelSettingEnabled()).thenReturn(true);
+ when(mFeatureFlags.isProviderModelSettingEnabled(mContext)).thenReturn(true);
mQSTileHost.onTuningChanged(QSTileHost.TILES_SETTING, "wifi, spec1, cell, spec2, internet");
assertEquals("spec1", mQSTileHost.mTileSpecs.get(0));
@@ -220,7 +220,7 @@ public class QSTileHostTest extends SysuiTestCase {
@Test
public void testRemoveWifiWithoutInternet() {
- when(mFeatureFlags.isProviderModelSettingEnabled()).thenReturn(true);
+ when(mFeatureFlags.isProviderModelSettingEnabled(mContext)).thenReturn(true);
mQSTileHost.onTuningChanged(QSTileHost.TILES_SETTING, "spec1, wifi, spec2");
assertEquals("spec1", mQSTileHost.mTileSpecs.get(0));
@@ -230,7 +230,7 @@ public class QSTileHostTest extends SysuiTestCase {
@Test
public void testRemoveCellWithInternet() {
- when(mFeatureFlags.isProviderModelSettingEnabled()).thenReturn(true);
+ when(mFeatureFlags.isProviderModelSettingEnabled(mContext)).thenReturn(true);
mQSTileHost.onTuningChanged(QSTileHost.TILES_SETTING, "spec1, spec2, cell, internet");
assertEquals("spec1", mQSTileHost.mTileSpecs.get(0));
@@ -240,7 +240,7 @@ public class QSTileHostTest extends SysuiTestCase {
@Test
public void testNoWifiNoCellularNoInternet() {
- when(mFeatureFlags.isProviderModelSettingEnabled()).thenReturn(true);
+ when(mFeatureFlags.isProviderModelSettingEnabled(mContext)).thenReturn(true);
mQSTileHost.onTuningChanged(QSTileHost.TILES_SETTING, "spec1,spec2");
assertEquals("spec1", mQSTileHost.mTileSpecs.get(0));
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/customize/TileQueryHelperTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/customize/TileQueryHelperTest.java
index 018806e816d9..05db1eb0ed2b 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/customize/TileQueryHelperTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/customize/TileQueryHelperTest.java
@@ -136,7 +136,7 @@ public class TileQueryHelperTest extends SysuiTestCase {
}
}
).when(mQSTileHost).createTile(anyString());
- when(mFeatureFlags.isProviderModelSettingEnabled()).thenReturn(false);
+ when(mFeatureFlags.isProviderModelSettingEnabled(mContext)).thenReturn(false);
FakeSystemClock clock = new FakeSystemClock();
mMainExecutor = new FakeExecutor(clock);
mBgExecutor = new FakeExecutor(clock);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationViewHierarchyManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationViewHierarchyManagerTest.java
index 9a23eb69f7ad..7210d9c15794 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationViewHierarchyManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationViewHierarchyManagerTest.java
@@ -41,6 +41,7 @@ import com.android.systemui.plugins.statusbar.NotificationSwipeActionHelper;
import com.android.systemui.statusbar.notification.AssistantFeedbackController;
import com.android.systemui.statusbar.notification.DynamicChildBindController;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationActivityStarter;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
@@ -77,6 +78,7 @@ public class NotificationViewHierarchyManagerTest extends SysuiTestCase {
// Dependency mocks:
@Mock private FeatureFlags mFeatureFlags;
+ @Mock private NotifPipelineFlags mNotifPipelineFlags;
@Mock private NotificationEntryManager mEntryManager;
@Mock private NotificationLockscreenUserManager mLockscreenUserManager;
@Mock private NotificationGroupManagerLegacy mGroupManager;
@@ -103,7 +105,8 @@ public class NotificationViewHierarchyManagerTest extends SysuiTestCase {
when(mVisualStabilityManager.areGroupChangesAllowed()).thenReturn(true);
when(mVisualStabilityManager.isReorderingAllowed()).thenReturn(true);
- when(mFeatureFlags.checkLegacyPipelineEnabled()).thenReturn(true);
+ when(mFeatureFlags.isNewNotifPipelineRenderingEnabled()).thenReturn(false);
+ when(mNotifPipelineFlags.checkLegacyPipelineEnabled()).thenReturn(true);
mHelper = new NotificationTestHelper(mContext, mDependency, TestableLooper.get(this));
@@ -117,7 +120,8 @@ public class NotificationViewHierarchyManagerTest extends SysuiTestCase {
mock(ForegroundServiceSectionController.class),
mock(DynamicChildBindController.class),
mock(LowPriorityInflationHelper.class),
- mock(AssistantFeedbackController.class));
+ mock(AssistantFeedbackController.class),
+ mNotifPipelineFlags);
mViewHierarchyManager.setUpWithPresenter(mPresenter, mListContainer);
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerBaseTest.java
index 47a11fcdcee4..344d6f469a17 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerBaseTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerBaseTest.java
@@ -158,11 +158,9 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
public void setUp() throws Exception {
mMockingSession = ExtendedMockito.mockitoSession().strictness(Strictness.LENIENT)
.mockStatic(FeatureFlags.class).startMocking();
- ExtendedMockito.doReturn(true).when(() ->
- FeatureFlags.isProviderModelSettingEnabled(mContext));
mFeatureFlags = mock(FeatureFlags.class);
when(mFeatureFlags.isCombinedStatusBarSignalIconsEnabled()).thenReturn(false);
- when(mFeatureFlags.isProviderModelSettingEnabled()).thenReturn(true);
+ when(mFeatureFlags.isProviderModelSettingEnabled(mContext)).thenReturn(true);
mInstrumentation = InstrumentationRegistry.getInstrumentation();
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationEntryManagerInflationTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationEntryManagerInflationTest.java
index a53fb781ca8c..452161030e49 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationEntryManagerInflationTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationEntryManagerInflationTest.java
@@ -62,6 +62,7 @@ import com.android.systemui.statusbar.SbnBuilder;
import com.android.systemui.statusbar.SmartReplyController;
import com.android.systemui.statusbar.notification.ConversationNotificationProcessor;
import com.android.systemui.statusbar.notification.ForegroundServiceDismissalFeatureController;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationClicker;
import com.android.systemui.statusbar.notification.NotificationEntryListener;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
@@ -143,6 +144,7 @@ public class NotificationEntryManagerInflationTest extends SysuiTestCase {
@Mock private NotificationGroupManagerLegacy mGroupMembershipManager;
@Mock private NotificationGroupManagerLegacy mGroupExpansionManager;
@Mock private FeatureFlags mFeatureFlags;
+ @Mock private NotifPipelineFlags mNotifPipelineFlags;
@Mock private LeakDetector mLeakDetector;
@Mock private ActivatableNotificationViewController mActivatableNotificationViewController;
@@ -179,6 +181,7 @@ public class NotificationEntryManagerInflationTest extends SysuiTestCase {
.setNotification(notification)
.build();
+ when(mNotifPipelineFlags.checkLegacyPipelineEnabled()).thenReturn(true);
when(mFeatureFlags.isNewNotifPipelineRenderingEnabled()).thenReturn(false);
mEntryManager = new NotificationEntryManager(
@@ -282,7 +285,6 @@ public class NotificationEntryManagerInflationTest extends SysuiTestCase {
mRowBinder = new NotificationRowBinderImpl(
mContext,
- mFeatureFlags,
new NotificationMessagingUtil(mContext),
mRemoteInputManager,
mLockscreenUserManager,
@@ -294,7 +296,8 @@ public class NotificationEntryManagerInflationTest extends SysuiTestCase {
mEntryManager,
mock(LauncherApps.class),
new IconBuilder(mContext)),
- mock(LowPriorityInflationHelper.class));
+ mock(LowPriorityInflationHelper.class),
+ mNotifPipelineFlags);
mEntryManager.setUpWithPresenter(mPresenter);
mEntryManager.addNotificationEntryListener(mEntryListener);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManagerTest.java
index 58e3cc8a50c9..276f246d89da 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationSectionsManagerTest.java
@@ -52,6 +52,7 @@ import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.media.KeyguardMediaController;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.StatusBarState;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationSectionsFeatureManager;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.render.SectionHeaderController;
@@ -80,11 +81,8 @@ public class NotificationSectionsManagerTest extends SysuiTestCase {
@Rule public final MockitoRule mockitoRule = MockitoJUnit.rule();
@Mock private NotificationStackScrollLayout mNssl;
- @Mock private FeatureFlags mFeatureFlags;
- @Mock private ActivityStarterDelegate mActivityStarterDelegate;
@Mock private StatusBarStateController mStatusBarStateController;
@Mock private ConfigurationController mConfigurationController;
- @Mock private PeopleHubViewAdapter mPeopleHubAdapter;
@Mock private KeyguardMediaController mKeyguardMediaController;
@Mock private NotificationSectionsFeatureManager mSectionsFeatureManager;
@Mock private NotificationRowComponent mNotificationRowComponent;
@@ -94,6 +92,7 @@ public class NotificationSectionsManagerTest extends SysuiTestCase {
@Mock private SectionHeaderController mPeopleHeaderController;
@Mock private SectionHeaderController mAlertingHeaderController;
@Mock private SectionHeaderController mSilentHeaderController;
+ @Mock private NotifPipelineFlags mNotifPipelineFlags;
private NotificationSectionsManager mSectionsManager;
@@ -122,12 +121,12 @@ public class NotificationSectionsManagerTest extends SysuiTestCase {
when(mSilentHeaderController.getHeaderView()).thenReturn(mock(SectionHeaderView.class));
mSectionsManager =
new NotificationSectionsManager(
- mFeatureFlags,
mStatusBarStateController,
mConfigurationController,
mKeyguardMediaController,
mSectionsFeatureManager,
mLogger,
+ mNotifPipelineFlags,
mIncomingHeaderController,
mPeopleHeaderController,
mAlertingHeaderController,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.java
index 4e6b0a26609b..ffef55bea467 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.java
@@ -49,6 +49,7 @@ import com.android.systemui.statusbar.NotificationShadeWindowController;
import com.android.systemui.statusbar.NotificationViewHierarchyManager;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder;
@@ -128,7 +129,8 @@ public class StatusBarNotificationPresenterTest extends SysuiTestCase {
mInitController,
mNotificationInterruptStateProvider,
mock(NotificationRemoteInputManager.class),
- mock(ConfigurationController.class));
+ mock(ConfigurationController.class),
+ mock(NotifPipelineFlags.class));
mInitController.executePostInitTasks();
ArgumentCaptor<NotificationInterruptSuppressor> suppressorCaptor =
ArgumentCaptor.forClass(NotificationInterruptSuppressor.class);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java
index 371b91f17ce9..a2c3463f200f 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java
@@ -114,6 +114,7 @@ import com.android.systemui.statusbar.StatusBarStateControllerImpl;
import com.android.systemui.statusbar.connectivity.NetworkController;
import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.NotificationFilter;
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
@@ -277,6 +278,7 @@ public class StatusBarTest extends SysuiTestCase {
@Mock private OperatorNameViewController.Factory mOperatorNameViewControllerFactory;
@Mock private PhoneStatusBarViewController.Factory mPhoneStatusBarViewControllerFactory;
@Mock private ActivityLaunchAnimator mActivityLaunchAnimator;
+ @Mock private NotifPipelineFlags mNotifPipelineFlags;
private ShadeController mShadeController;
private final FakeSystemClock mFakeSystemClock = new FakeSystemClock();
private FakeExecutor mMainExecutor = new FakeExecutor(mFakeSystemClock);
@@ -464,7 +466,8 @@ public class StatusBarTest extends SysuiTestCase {
Optional.of(mStartingSurface),
mTunerService,
mDumpManager,
- mActivityLaunchAnimator);
+ mActivityLaunchAnimator,
+ mNotifPipelineFlags);
when(mKeyguardViewMediator.registerStatusBar(
any(StatusBar.class),
any(NotificationPanelViewController.class),