summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dave Mankoff <mankoff@google.com> 2021-11-18 16:28:07 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2021-11-18 16:28:07 +0000
commitd71cc858466ebeb522f40d45c07f9d5bf47d7da4 (patch)
tree9656fb20db01432ba9f7ef3a4541e3c2c1e704ed
parent38ddd45e3beb7d307a8b90e0b36062fbb9dc208d (diff)
parent8493b822d6e26e5e8432d00d6a426d9e22f09cce (diff)
Merge "Inline most FeatureFlags methods."
-rw-r--r--packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java11
-rw-r--r--packages/SystemUI/src/com/android/systemui/flags/FeatureFlags.java76
-rw-r--r--packages/SystemUI/src/com/android/systemui/keyguard/KeyguardUnlockAnimationController.kt5
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeaderController.java5
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/carrier/QSCarrierGroupController.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/dagger/QSFlagsModule.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/NotificationMediaManager.java6
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/NotificationRemoteInputManager.java14
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/charging/WiredChargingRippleController.kt3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalController.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/connectivity/StatusBarFlags.java1
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarDependenciesModule.java21
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceController.kt3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/NotifPipelineFlags.kt10
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java19
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifCollection.java10
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/NotifCoordinators.kt11
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ViewConfigCoordinator.kt6
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/init/NotifPipelineInitializer.java14
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationsModule.java35
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/init/NotificationsControllerImpl.kt8
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationLogger.java12
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java18
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/DemoStatusIcons.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/MultiUserSwitchController.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/SplitShadeHeaderController.kt3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java6
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java28
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java16
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarViewModule.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallController.kt10
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallFlags.kt35
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/wmshell/BubblesManager.java10
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/qs/QuickStatusBarHeaderControllerTest.kt5
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/qs/customize/TileQueryHelperTest.java5
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationRemoteInputManagerTest.java8
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationViewHierarchyManagerTest.java2
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/SmartReplyControllerTest.java4
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/charging/WiredChargingRippleControllerTest.kt3
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/connectivity/NetworkControllerBaseTest.java6
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceControllerTest.kt5
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationEntryManagerTest.java7
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/NotifCollectionTest.java8
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/logging/NotificationLoggerLegacyTest.java10
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/logging/NotificationLoggerTest.java12
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationEntryManagerInflationTest.java6
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutControllerTest.java8
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeParametersTest.java5
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/SplitShadeHeaderControllerTest.kt3
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarterTest.java8
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenterTest.java2
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java2
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallControllerTest.kt17
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/theme/ThemeOverlayControllerTest.java3
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java8
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/wmshell/NewNotifPipelineBubblesTest.java8
65 files changed, 281 insertions, 309 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java
index b7ab4faaade9..a64351fd8940 100644
--- a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java
+++ b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java
@@ -38,7 +38,6 @@ import com.android.systemui.demomode.dagger.DemoModeModule;
import com.android.systemui.doze.dagger.DozeComponent;
import com.android.systemui.dreams.dagger.DreamModule;
import com.android.systemui.dump.DumpManager;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.FlagsModule;
import com.android.systemui.fragments.FragmentService;
import com.android.systemui.log.dagger.LogModule;
@@ -52,6 +51,7 @@ import com.android.systemui.shared.system.smartspace.SmartspaceTransitionControl
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.NotificationShadeWindowController;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
import com.android.systemui.statusbar.notification.collection.inflation.NotificationRowBinder;
@@ -206,14 +206,15 @@ public abstract class SystemUIModule {
NotificationInterruptStateProvider interruptionStateProvider,
ZenModeController zenModeController, NotificationLockscreenUserManager notifUserManager,
NotificationGroupManagerLegacy groupManager, NotificationEntryManager entryManager,
- NotifPipeline notifPipeline, SysUiState sysUiState, FeatureFlags featureFlags,
- DumpManager dumpManager, @Main Executor sysuiMainExecutor) {
+ NotifPipeline notifPipeline, SysUiState sysUiState,
+ NotifPipelineFlags notifPipelineFlags, DumpManager dumpManager,
+ @Main Executor sysuiMainExecutor) {
return Optional.ofNullable(BubblesManager.create(context, bubblesOptional,
notificationShadeWindowController, statusBarStateController, shadeController,
configurationController, statusBarService, notificationManager,
visibilityProvider,
interruptionStateProvider, zenModeController, notifUserManager,
- groupManager, entryManager, notifPipeline, sysUiState, featureFlags, dumpManager,
- sysuiMainExecutor));
+ groupManager, entryManager, notifPipeline, sysUiState, notifPipelineFlags,
+ dumpManager, sysuiMainExecutor));
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/flags/FeatureFlags.java b/packages/SystemUI/src/com/android/systemui/flags/FeatureFlags.java
index 87a1e85b4cbe..fbb78c86a52a 100644
--- a/packages/SystemUI/src/com/android/systemui/flags/FeatureFlags.java
+++ b/packages/SystemUI/src/com/android/systemui/flags/FeatureFlags.java
@@ -22,80 +22,4 @@ package com.android.systemui.flags;
* See {@link Flags} for instructions on defining new flags.
*/
public interface FeatureFlags extends FlagReader {
- default boolean isNewNotifPipelineRenderingEnabled() {
- return isEnabled(Flags.NEW_NOTIFICATION_PIPELINE_RENDERING);
- }
-
- /** */
- default boolean useNewLockscreenAnimations() {
- return isEnabled(Flags.LOCKSCREEN_ANIMATIONS);
- }
-
- default boolean isPeopleTileEnabled() {
- return isEnabled(Flags.PEOPLE_TILE);
- }
-
- default boolean isMonetEnabled() {
- return isEnabled(Flags.MONET);
- }
-
- default boolean isPMLiteEnabled() {
- return isEnabled(Flags.POWER_MENU_LITE);
- }
-
- default boolean isChargingRippleEnabled() {
- return isEnabled(Flags.CHARGING_RIPPLE);
- }
-
- default boolean isOngoingCallStatusBarChipEnabled() {
- return isEnabled(Flags.ONGOING_CALL_STATUS_BAR_CHIP);
- }
-
- default boolean isOngoingCallInImmersiveEnabled() {
- return isOngoingCallStatusBarChipEnabled() && isEnabled(Flags.ONGOING_CALL_IN_IMMERSIVE);
- }
-
- default boolean isOngoingCallInImmersiveChipTapEnabled() {
- return isOngoingCallInImmersiveEnabled()
- && isEnabled(Flags.ONGOING_CALL_IN_IMMERSIVE_CHIP_TAP);
- }
-
- default boolean isSmartspaceEnabled() {
- return isEnabled(Flags.SMARTSPACE);
- }
-
- default boolean isSmartspaceDedupingEnabled() {
- return isSmartspaceEnabled() && isEnabled(Flags.SMARTSPACE_DEDUPING);
- }
-
- default boolean isNewKeyguardSwipeAnimationEnabled() {
- return isEnabled(Flags.NEW_UNLOCK_SWIPE_ANIMATION);
- }
-
- default boolean isKeyguardQsUserDetailsShortcutEnabled() {
- return isEnabled(Flags.QS_USER_DETAIL_SHORTCUT);
- }
-
- default boolean isSmartSpaceSharedElementTransitionEnabled() {
- return isEnabled(Flags.SMARTSPACE_SHARED_ELEMENT_TRANSITION_ENABLED);
- }
-
- /** Whether or not to use the provider model behavior for the status bar icons */
- default boolean isCombinedStatusBarSignalIconsEnabled() {
- return isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS);
- }
-
- /**
- * Use the new version of the user switcher
- */
- default boolean useNewUserSwitcher() {
- return isEnabled(Flags.NEW_USER_SWITCHER);
- }
-
- /**
- * Use the new single view QS headers
- */
- default boolean useCombinedQSHeaders() {
- return isEnabled(Flags.COMBINED_QS_HEADERS);
- }
}
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardUnlockAnimationController.kt b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardUnlockAnimationController.kt
index a6455e625afb..a801647ba7d2 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardUnlockAnimationController.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardUnlockAnimationController.kt
@@ -31,6 +31,7 @@ import com.android.keyguard.KeyguardViewController
import com.android.systemui.animation.Interpolators
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.flags.FeatureFlags
+import com.android.systemui.flags.Flags
import com.android.systemui.shared.system.smartspace.SmartspaceTransitionController
import com.android.systemui.statusbar.policy.KeyguardStateController
import dagger.Lazy
@@ -354,7 +355,7 @@ class KeyguardUnlockAnimationController @Inject constructor(
* keyguard visible.
*/
private fun updateKeyguardViewMediatorIfThresholdsReached() {
- if (!featureFlags.isNewKeyguardSwipeAnimationEnabled) {
+ if (!featureFlags.isEnabled(Flags.NEW_UNLOCK_SWIPE_ANIMATION)) {
return
}
@@ -410,7 +411,7 @@ class KeyguardUnlockAnimationController @Inject constructor(
* know if it needs to do something as a result.
*/
private fun updateSmartSpaceTransition() {
- if (!featureFlags.isSmartSpaceSharedElementTransitionEnabled) {
+ if (!featureFlags.isEnabled(Flags.SMARTSPACE_SHARED_ELEMENT_TRANSITION_ENABLED)) {
return
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeaderController.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeaderController.java
index 6a57e45d64f6..67fdf86cd865 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeaderController.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeaderController.java
@@ -30,6 +30,7 @@ import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.demomode.DemoMode;
import com.android.systemui.demomode.DemoModeController;
import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.flags.Flags;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.privacy.OngoingPrivacyChip;
import com.android.systemui.privacy.PrivacyChipEvent;
@@ -218,7 +219,7 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
List<String> rssiIgnoredSlots;
- if (mFeatureFlags.isCombinedStatusBarSignalIconsEnabled()) {
+ if (mFeatureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS)) {
rssiIgnoredSlots = List.of(
getResources().getString(com.android.internal.R.string.status_bar_no_calling),
getResources().getString(com.android.internal.R.string.status_bar_call_strength)
@@ -230,7 +231,7 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
}
mView.onAttach(mIconManager, mQSExpansionPathInterpolator, rssiIgnoredSlots,
- mInsetsProvider, mFeatureFlags.useCombinedQSHeaders());
+ mInsetsProvider, mFeatureFlags.isEnabled(Flags.COMBINED_QS_HEADERS));
mDemoModeController.addCallback(mDemoModeReceiver);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/carrier/QSCarrierGroupController.java b/packages/SystemUI/src/com/android/systemui/qs/carrier/QSCarrierGroupController.java
index 141c246db260..4b705adf1d11 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/carrier/QSCarrierGroupController.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/carrier/QSCarrierGroupController.java
@@ -42,6 +42,7 @@ import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.flags.Flags;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.statusbar.connectivity.IconState;
import com.android.systemui.statusbar.connectivity.MobileDataIndicators;
@@ -219,7 +220,7 @@ public class QSCarrierGroupController {
CarrierConfigTracker carrierConfigTracker, FeatureFlags featureFlags,
SlotIndexResolver slotIndexResolver) {
- if (featureFlags.isCombinedStatusBarSignalIconsEnabled()) {
+ if (featureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS)) {
mProviderModel = true;
} else {
mProviderModel = false;
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 6b042d9d3260..7e410d094d4c 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java
@@ -34,7 +34,6 @@ import android.widget.Button;
import com.android.systemui.R;
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.plugins.qs.QSTile;
import com.android.systemui.plugins.qs.QSTile.State;
import com.android.systemui.qs.QSTileHost;
@@ -64,7 +63,6 @@ public class TileQueryHelper {
private final Executor mBgExecutor;
private final Context mContext;
private final UserTracker mUserTracker;
- private final FeatureFlags mFeatureFlags;
private final StatusBarFlags mStatusBarFlags;
private TileStateListener mListener;
@@ -76,14 +74,12 @@ public class TileQueryHelper {
UserTracker userTracker,
@Main Executor mainExecutor,
@Background Executor bgExecutor,
- FeatureFlags featureFlags,
StatusBarFlags statusBarFlags
) {
mContext = context;
mMainExecutor = mainExecutor;
mBgExecutor = bgExecutor;
mUserTracker = userTracker;
- mFeatureFlags = featureFlags;
mStatusBarFlags = statusBarFlags;
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/dagger/QSFlagsModule.java b/packages/SystemUI/src/com/android/systemui/qs/dagger/QSFlagsModule.java
index 103ac656e846..a1b617f835df 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/dagger/QSFlagsModule.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/dagger/QSFlagsModule.java
@@ -21,6 +21,7 @@ import android.hardware.display.ColorDisplayManager;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.flags.Flags;
import com.android.systemui.util.settings.GlobalSettings;
import javax.inject.Named;
@@ -48,7 +49,7 @@ public interface QSFlagsModule {
@SysUISingleton
@Named(PM_LITE_ENABLED)
static boolean isPMLiteEnabled(FeatureFlags featureFlags, GlobalSettings globalSettings) {
- return featureFlags.isPMLiteEnabled()
+ return featureFlags.isEnabled(Flags.POWER_MENU_LITE)
&& globalSettings.getInt(PM_LITE_SETTING, PM_LITE_SETTING_DEFAULT) != 0;
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationMediaManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationMediaManager.java
index 3fbed647298a..282babc9925b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationMediaManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationMediaManager.java
@@ -51,12 +51,12 @@ import com.android.systemui.animation.Interpolators;
import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dump.DumpManager;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.media.MediaData;
import com.android.systemui.media.MediaDataManager;
import com.android.systemui.media.SmartspaceMediaData;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.dagger.StatusBarModule;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationEntryListener;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.collection.NotifCollection;
@@ -184,7 +184,7 @@ public class NotificationMediaManager implements Dumpable {
KeyguardBypassController keyguardBypassController,
NotifPipeline notifPipeline,
NotifCollection notifCollection,
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
@Main DelayableExecutor mainExecutor,
MediaDataManager mediaDataManager,
DumpManager dumpManager) {
@@ -202,7 +202,7 @@ public class NotificationMediaManager implements Dumpable {
mNotifPipeline = notifPipeline;
mNotifCollection = notifCollection;
- if (!featureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (!notifPipelineFlags.isNewPipelineEnabled()) {
setupNEM();
mUsingNotifPipeline = false;
} else {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationRemoteInputManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationRemoteInputManager.java
index 022baf68e9ab..5635f653aac5 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationRemoteInputManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationRemoteInputManager.java
@@ -53,9 +53,9 @@ import com.android.systemui.Dumpable;
import com.android.systemui.R;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dump.DumpManager;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.dagger.StatusBarDependenciesModule;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationEntryListener;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
@@ -104,7 +104,7 @@ public class NotificationRemoteInputManager implements Dumpable {
private final Lazy<Optional<StatusBar>> mStatusBarOptionalLazy;
protected final Context mContext;
- protected final FeatureFlags mFeatureFlags;
+ protected final NotifPipelineFlags mNotifPipelineFlags;
private final UserManager mUserManager;
private final KeyguardManager mKeyguardManager;
private final RemoteInputNotificationRebuilder mRebuilder;
@@ -255,7 +255,7 @@ public class NotificationRemoteInputManager implements Dumpable {
*/
public NotificationRemoteInputManager(
Context context,
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
NotificationLockscreenUserManager lockscreenUserManager,
SmartReplyController smartReplyController,
NotificationVisibilityProvider visibilityProvider,
@@ -269,7 +269,7 @@ public class NotificationRemoteInputManager implements Dumpable {
ActionClickLogger logger,
DumpManager dumpManager) {
mContext = context;
- mFeatureFlags = featureFlags;
+ mNotifPipelineFlags = notifPipelineFlags;
mLockscreenUserManager = lockscreenUserManager;
mSmartReplyController = smartReplyController;
mVisibilityProvider = visibilityProvider;
@@ -281,7 +281,7 @@ public class NotificationRemoteInputManager implements Dumpable {
ServiceManager.getService(Context.STATUS_BAR_SERVICE));
mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
mRebuilder = rebuilder;
- if (!featureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (!mNotifPipelineFlags.isNewPipelineEnabled()) {
mRemoteInputListener = createLegacyRemoteInputLifetimeExtender(mainHandler,
notificationEntryManager, smartReplyController);
}
@@ -318,7 +318,7 @@ public class NotificationRemoteInputManager implements Dumpable {
/** Add a listener for various remote input events. Works with NEW pipeline only. */
public void setRemoteInputListener(@NonNull RemoteInputListener remoteInputListener) {
- if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (mNotifPipelineFlags.isNewPipelineEnabled()) {
if (mRemoteInputListener != null) {
throw new IllegalStateException("mRemoteInputListener is already set");
}
@@ -376,7 +376,7 @@ public class NotificationRemoteInputManager implements Dumpable {
}
}
});
- if (!mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (!mNotifPipelineFlags.isNewPipelineEnabled()) {
mSmartReplyController.setCallback((entry, reply) -> {
StatusBarNotification newSbn = mRebuilder.rebuildForSendingSmartReply(entry, reply);
mEntryManager.updateNotification(newSbn, null /* ranking */);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
index 18c8b7f5bde7..ecde001e6bf9 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
@@ -150,7 +150,7 @@ public class NotificationViewHierarchyManager implements DynamicPrivacyControlle
NotificationListContainer listContainer) {
mPresenter = presenter;
mListContainer = listContainer;
- if (!mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (!mNotifPipelineFlags.isNewPipelineEnabled()) {
mDynamicPrivacyController.addListener(this);
}
}
@@ -528,7 +528,7 @@ public class NotificationViewHierarchyManager implements DynamicPrivacyControlle
@Override
public void onDynamicPrivacyChanged() {
- if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (mNotifPipelineFlags.isNewPipelineEnabled()) {
throw new IllegalStateException("Old pipeline code running w/ new pipeline enabled");
}
if (mPerformingUpdate) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/charging/WiredChargingRippleController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/charging/WiredChargingRippleController.kt
index 04c60fc197d8..fa993538941f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/charging/WiredChargingRippleController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/charging/WiredChargingRippleController.kt
@@ -36,6 +36,7 @@ import com.android.systemui.statusbar.policy.BatteryController
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.util.leak.RotationUtils
import com.android.systemui.R
+import com.android.systemui.flags.Flags
import com.android.systemui.util.time.SystemClock
import java.io.PrintWriter
import javax.inject.Inject
@@ -61,7 +62,7 @@ class WiredChargingRippleController @Inject constructor(
private val uiEventLogger: UiEventLogger
) {
private var pluggedIn: Boolean? = null
- private val rippleEnabled: Boolean = featureFlags.isChargingRippleEnabled &&
+ private val rippleEnabled: Boolean = featureFlags.isEnabled(Flags.CHARGING_RIPPLE) &&
!SystemProperties.getBoolean("persist.debug.suppress-charging-ripple", false)
private var normalizedPortPosX: Float = context.resources.getFloat(
R.dimen.physical_charger_port_location_normalized_x)
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 01c0cc81ead2..1d670628e365 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/MobileSignalController.java
@@ -55,6 +55,7 @@ import com.android.settingslib.mobile.TelephonyIcons;
import com.android.settingslib.net.SignalStrengthUtil;
import com.android.systemui.R;
import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.flags.Flags;
import com.android.systemui.util.CarrierConfigTracker;
import java.io.PrintWriter;
@@ -227,7 +228,7 @@ public class MobileSignalController extends SignalController<MobileState, Mobile
mImsMmTelManager = ImsMmTelManager.createForSubscriptionId(info.getSubscriptionId());
mMobileStatusTracker = new MobileStatusTracker(mPhone, receiverLooper,
info, mDefaults, mMobileCallback);
- mProviderModelBehavior = featureFlags.isCombinedStatusBarSignalIconsEnabled();
+ mProviderModelBehavior = featureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS);
mProviderModelSetting = statusBarFlags.isProviderModelSettingEnabled();
}
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 fd9b3dc2d5f9..03d443e229a4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/NetworkControllerImpl.java
@@ -73,6 +73,7 @@ import com.android.systemui.demomode.DemoMode;
import com.android.systemui.demomode.DemoModeController;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.flags.Flags;
import com.android.systemui.qs.tiles.dialog.InternetDialogFactory;
import com.android.systemui.qs.tiles.dialog.InternetDialogUtil;
import com.android.systemui.settings.CurrentUserTracker;
@@ -447,7 +448,7 @@ public class NetworkControllerImpl extends BroadcastReceiver
};
mDemoModeController.addCallback(this);
- mProviderModelBehavior = mFeatureFlags.isCombinedStatusBarSignalIconsEnabled();
+ mProviderModelBehavior = mFeatureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS);
mProviderModelSetting = mStatusBarFlags.isProviderModelSettingEnabled();
mDumpManager.registerDumpable(TAG, this);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/StatusBarFlags.java b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/StatusBarFlags.java
index 0bb846e6855a..89d4bf5877cd 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/StatusBarFlags.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/StatusBarFlags.java
@@ -20,6 +20,7 @@ import android.content.Context;
import android.util.FeatureFlagUtils;
import com.android.systemui.dagger.SysUISingleton;
+import com.android.systemui.flags.FeatureFlags;
import javax.inject.Inject;
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 77463fe825b5..8c54de411399 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarDependenciesModule.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarDependenciesModule.java
@@ -71,6 +71,7 @@ import com.android.systemui.statusbar.phone.StatusBarIconControllerImpl;
import com.android.systemui.statusbar.phone.StatusBarRemoteInputCallback;
import com.android.systemui.statusbar.phone.SystemUIHostDialogProvider;
import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallController;
+import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallFlags;
import com.android.systemui.statusbar.phone.ongoingcall.OngoingCallLogger;
import com.android.systemui.statusbar.policy.RemoteInputUriController;
import com.android.systemui.statusbar.window.StatusBarWindowController;
@@ -99,7 +100,7 @@ public interface StatusBarDependenciesModule {
@Provides
static NotificationRemoteInputManager provideNotificationRemoteInputManager(
Context context,
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
NotificationLockscreenUserManager lockscreenUserManager,
SmartReplyController smartReplyController,
NotificationVisibilityProvider visibilityProvider,
@@ -114,7 +115,7 @@ public interface StatusBarDependenciesModule {
DumpManager dumpManager) {
return new NotificationRemoteInputManager(
context,
- featureFlags,
+ notifPipelineFlags,
lockscreenUserManager,
smartReplyController,
visibilityProvider,
@@ -142,7 +143,7 @@ public interface StatusBarDependenciesModule {
KeyguardBypassController keyguardBypassController,
NotifPipeline notifPipeline,
NotifCollection notifCollection,
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
@Main DelayableExecutor mainExecutor,
MediaDataManager mediaDataManager,
DumpManager dumpManager) {
@@ -156,7 +157,7 @@ public interface StatusBarDependenciesModule {
keyguardBypassController,
notifPipeline,
notifCollection,
- featureFlags,
+ notifPipelineFlags,
mainExecutor,
mediaDataManager,
dumpManager);
@@ -269,7 +270,6 @@ public interface StatusBarDependenciesModule {
@SysUISingleton
static OngoingCallController provideOngoingCallController(
CommonNotifCollection notifCollection,
- FeatureFlags featureFlags,
SystemClock systemClock,
ActivityStarter activityStarter,
@Main Executor mainExecutor,
@@ -278,19 +278,22 @@ public interface StatusBarDependenciesModule {
DumpManager dumpManager,
StatusBarWindowController statusBarWindowController,
SwipeStatusBarAwayGestureHandler swipeStatusBarAwayGestureHandler,
- StatusBarStateController statusBarStateController) {
+ StatusBarStateController statusBarStateController,
+ OngoingCallFlags ongoingCallFlags) {
+
+ boolean ongoingCallInImmersiveEnabled = ongoingCallFlags.isInImmersiveEnabled();
Optional<StatusBarWindowController> windowController =
- featureFlags.isOngoingCallInImmersiveEnabled()
+ ongoingCallInImmersiveEnabled
? Optional.of(statusBarWindowController)
: Optional.empty();
Optional<SwipeStatusBarAwayGestureHandler> gestureHandler =
- featureFlags.isOngoingCallInImmersiveEnabled()
+ ongoingCallInImmersiveEnabled
? Optional.of(swipeStatusBarAwayGestureHandler)
: Optional.empty();
OngoingCallController ongoingCallController =
new OngoingCallController(
notifCollection,
- featureFlags,
+ ongoingCallFlags,
systemClock,
activityStarter,
mainExecutor,
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceController.kt
index 4e5bc8e7d099..a44de2ce5699 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceController.kt
@@ -44,6 +44,7 @@ import com.android.systemui.plugins.FalsingManager
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.settings.UserTracker
import com.android.systemui.flags.FeatureFlags
+import com.android.systemui.flags.Flags
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.statusbar.policy.DeviceProvisionedController
import com.android.systemui.util.concurrency.Execution
@@ -158,7 +159,7 @@ class LockscreenSmartspaceController @Inject constructor(
fun isEnabled(): Boolean {
execution.assertIsMainThread()
- return featureFlags.isSmartspaceEnabled && plugin != null
+ return featureFlags.isEnabled(Flags.SMARTSPACE) && plugin != null
}
/**
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotifPipelineFlags.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotifPipelineFlags.kt
index 914697b5296b..0fb9fc80e510 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotifPipelineFlags.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotifPipelineFlags.kt
@@ -20,6 +20,7 @@ import android.content.Context
import android.util.Log
import android.widget.Toast
import com.android.systemui.flags.FeatureFlags
+import com.android.systemui.flags.Flags
import javax.inject.Inject
class NotifPipelineFlags @Inject constructor(
@@ -27,11 +28,18 @@ class NotifPipelineFlags @Inject constructor(
val featureFlags: FeatureFlags
) {
fun checkLegacyPipelineEnabled(): Boolean {
- if (!featureFlags.isNewNotifPipelineRenderingEnabled) {
+ if (!featureFlags.isEnabled(Flags.NEW_NOTIFICATION_PIPELINE_RENDERING)) {
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
}
+
+ fun isNewPipelineEnabled(): Boolean = featureFlags.isEnabled(
+ Flags.NEW_NOTIFICATION_PIPELINE_RENDERING)
+
+ fun isSmartspaceDedupingEnabled(): Boolean =
+ featureFlags.isEnabled(Flags.SMARTSPACE)
+ && featureFlags.isEnabled(Flags.SMARTSPACE_DEDUPING)
} \ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java
index 2437415d0c7e..e78b4f43f00a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java
@@ -38,7 +38,6 @@ import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.statusbar.NotificationVisibility;
import com.android.systemui.Dumpable;
import com.android.systemui.dump.DumpManager;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.statusbar.NotificationLifetimeExtender;
import com.android.systemui.statusbar.NotificationListener;
import com.android.systemui.statusbar.NotificationListener.NotificationHandler;
@@ -102,7 +101,7 @@ public class NotificationEntryManager implements
private final NotificationEntryManagerLogger mLogger;
private final NotificationGroupManagerLegacy mGroupManager;
- private final FeatureFlags mFeatureFlags;
+ private final NotifPipelineFlags mNotifPipelineFlags;
private final Lazy<NotificationRowBinder> mNotificationRowBinderLazy;
private final Lazy<NotificationRemoteInputManager> mRemoteInputManagerLazy;
private final LeakDetector mLeakDetector;
@@ -149,7 +148,7 @@ public class NotificationEntryManager implements
public NotificationEntryManager(
NotificationEntryManagerLogger logger,
NotificationGroupManagerLegacy groupManager,
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
Lazy<NotificationRowBinder> notificationRowBinderLazy,
Lazy<NotificationRemoteInputManager> notificationRemoteInputManagerLazy,
LeakDetector leakDetector,
@@ -159,7 +158,7 @@ public class NotificationEntryManager implements
) {
mLogger = logger;
mGroupManager = groupManager;
- mFeatureFlags = featureFlags;
+ mNotifPipelineFlags = notifPipelineFlags;
mNotificationRowBinderLazy = notificationRowBinderLazy;
mRemoteInputManagerLazy = notificationRemoteInputManagerLazy;
mLeakDetector = leakDetector;
@@ -637,7 +636,7 @@ public class NotificationEntryManager implements
}
// Construct the expanded view.
- if (!mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (!mNotifPipelineFlags.isNewPipelineEnabled()) {
mNotificationRowBinderLazy.get().inflateViews(entry, null, mInflationCallback);
}
@@ -694,7 +693,7 @@ public class NotificationEntryManager implements
listener.onEntryUpdated(entry, fromSystem);
}
- if (!mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (!mNotifPipelineFlags.isNewPipelineEnabled()) {
mNotificationRowBinderLazy.get().inflateViews(entry, null, mInflationCallback);
}
@@ -721,12 +720,12 @@ public class NotificationEntryManager implements
* @param reason why the notifications are updating
*/
public void updateNotifications(String reason) {
- if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (mNotifPipelineFlags.isNewPipelineEnabled()) {
mLogger.logUseWhileNewPipelineActive("updateNotifications", reason);
return;
}
reapplyFilterAndSort(reason);
- if (mPresenter != null) {
+ if (mPresenter != null && !mNotifPipelineFlags.isNewPipelineEnabled()) {
mPresenter.updateNotificationViews(reason);
}
}
@@ -884,7 +883,7 @@ public class NotificationEntryManager implements
/** Resorts / filters the current notification set with the current RankingMap */
public void reapplyFilterAndSort(String reason) {
- if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (mNotifPipelineFlags.isNewPipelineEnabled()) {
mLogger.logUseWhileNewPipelineActive("reapplyFilterAndSort", reason);
return;
}
@@ -893,7 +892,7 @@ public class NotificationEntryManager implements
/** Calls to NotificationRankingManager and updates mSortedAndFiltered */
private void updateRankingAndSort(@NonNull RankingMap rankingMap, String reason) {
- if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (mNotifPipelineFlags.isNewPipelineEnabled()) {
mLogger.logUseWhileNewPipelineActive("updateRankingAndSort", reason);
return;
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifCollection.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifCollection.java
index f36f430fc29b..47e8f3254742 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifCollection.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotifCollection.java
@@ -66,7 +66,7 @@ import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.dump.LogBufferEulogizer;
-import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.collection.coalescer.CoalescedEvent;
import com.android.systemui.statusbar.notification.collection.coalescer.GroupCoalescer;
import com.android.systemui.statusbar.notification.collection.coalescer.GroupCoalescer.BatchableNotificationHandler;
@@ -132,7 +132,7 @@ import javax.inject.Inject;
public class NotifCollection implements Dumpable {
private final IStatusBarService mStatusBarService;
private final SystemClock mClock;
- private final FeatureFlags mFeatureFlags;
+ private final NotifPipelineFlags mNotifPipelineFlags;
private final NotifCollectionLogger mLogger;
private final Handler mMainHandler;
private final LogBufferEulogizer mEulogizer;
@@ -156,7 +156,7 @@ public class NotifCollection implements Dumpable {
public NotifCollection(
IStatusBarService statusBarService,
SystemClock clock,
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
NotifCollectionLogger logger,
@Main Handler mainHandler,
LogBufferEulogizer logBufferEulogizer,
@@ -164,7 +164,7 @@ public class NotifCollection implements Dumpable {
Assert.isMainThread();
mStatusBarService = statusBarService;
mClock = clock;
- mFeatureFlags = featureFlags;
+ mNotifPipelineFlags = notifPipelineFlags;
mLogger = logger;
mMainHandler = mainHandler;
mEulogizer = logBufferEulogizer;
@@ -503,7 +503,7 @@ public class NotifCollection implements Dumpable {
// TODO: (b/145659174) update the sbn's overrideGroupKey in
// NotificationEntry.setRanking instead of here once we fully migrate to the
// NewNotifPipeline
- if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (mNotifPipelineFlags.isNewPipelineEnabled()) {
final String newOverrideGroupKey = ranking.getOverrideGroupKey();
if (!Objects.equals(entry.getSbn().getOverrideGroupKey(),
newOverrideGroupKey)) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/NotifCoordinators.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/NotifCoordinators.kt
index 7cbda25d3f00..dae76f810bad 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/NotifCoordinators.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/NotifCoordinators.kt
@@ -17,13 +17,12 @@ package com.android.systemui.statusbar.notification.collection.coordinator
import com.android.systemui.Dumpable
import com.android.systemui.dump.DumpManager
-import com.android.systemui.flags.FeatureFlags
+import com.android.systemui.statusbar.notification.NotifPipelineFlags
import com.android.systemui.statusbar.notification.collection.NotifPipeline
import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope
import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifSectioner
import java.io.FileDescriptor
import java.io.PrintWriter
-import java.util.ArrayList
import javax.inject.Inject
/**
@@ -35,7 +34,7 @@ interface NotifCoordinators : Coordinator, Dumpable
@CoordinatorScope
class NotifCoordinatorsImpl @Inject constructor(
dumpManager: DumpManager,
- featureFlags: FeatureFlags,
+ notifPipelineFlags: NotifPipelineFlags,
hideLocallyDismissedNotifsCoordinator: HideLocallyDismissedNotifsCoordinator,
hideNotifsForOtherUsersCoordinator: HideNotifsForOtherUsersCoordinator,
keyguardCoordinator: KeyguardCoordinator,
@@ -80,10 +79,10 @@ class NotifCoordinatorsImpl @Inject constructor(
mCoordinators.add(visualStabilityCoordinator)
mCoordinators.add(communalCoordinator)
mCoordinators.add(sensitiveContentCoordinator)
- if (featureFlags.isSmartspaceDedupingEnabled) {
+ if (notifPipelineFlags.isSmartspaceDedupingEnabled()) {
mCoordinators.add(smartspaceDedupingCoordinator)
}
- if (featureFlags.isNewNotifPipelineRenderingEnabled) {
+ if (notifPipelineFlags.isNewPipelineEnabled()) {
mCoordinators.add(headsUpCoordinator)
mCoordinators.add(gutsCoordinator)
mCoordinators.add(preparationCoordinator)
@@ -91,7 +90,7 @@ class NotifCoordinatorsImpl @Inject constructor(
// Manually add Ordered Sections
// HeadsUp > FGS > People > Alerting > Silent > Unknown/Default
- if (featureFlags.isNewNotifPipelineRenderingEnabled) {
+ if (notifPipelineFlags.isNewPipelineEnabled()) {
mOrderedSections.add(headsUpCoordinator.sectioner) // HeadsUp
}
mOrderedSections.add(appOpsCoordinator.sectioner) // ForegroundService
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ViewConfigCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ViewConfigCoordinator.kt
index 5b86de2a9d87..832df4d56be6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ViewConfigCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ViewConfigCoordinator.kt
@@ -19,9 +19,9 @@ package com.android.systemui.statusbar.notification.collection.coordinator
import com.android.internal.widget.MessagingGroup
import com.android.internal.widget.MessagingMessage
import com.android.keyguard.KeyguardUpdateMonitor
-import com.android.systemui.flags.FeatureFlags
import com.android.systemui.statusbar.NotificationLockscreenUserManager.UserChangedListener
import com.android.systemui.statusbar.NotificationLockscreenUserManagerImpl
+import com.android.systemui.statusbar.notification.NotifPipelineFlags
import com.android.systemui.statusbar.notification.collection.NotifPipeline
import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope
import com.android.systemui.statusbar.notification.row.NotificationGutsManager
@@ -37,7 +37,7 @@ import javax.inject.Inject
class ViewConfigCoordinator @Inject internal constructor(
configurationController: ConfigurationController,
lockscreenUserManager: NotificationLockscreenUserManagerImpl,
- featureFlags: FeatureFlags,
+ notifPipelineFlags: NotifPipelineFlags,
private val mGutsManager: NotificationGutsManager,
private val mKeyguardUpdateMonitor: KeyguardUpdateMonitor
) : Coordinator, UserChangedListener, ConfigurationController.ConfigurationListener {
@@ -47,7 +47,7 @@ class ViewConfigCoordinator @Inject internal constructor(
private var mPipeline: NotifPipeline? = null
init {
- if (featureFlags.isNewNotifPipelineRenderingEnabled) {
+ if (notifPipelineFlags.isNewPipelineEnabled()) {
lockscreenUserManager.addUserChangedListener(this)
configurationController.addCallback(this)
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/init/NotifPipelineInitializer.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/init/NotifPipelineInitializer.java
index a98531ff4f1d..a8f3730b1cdd 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/init/NotifPipelineInitializer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/init/NotifPipelineInitializer.java
@@ -21,8 +21,8 @@ import android.util.Log;
import com.android.systemui.Dumpable;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dump.DumpManager;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.statusbar.NotificationListener;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.collection.NotifCollection;
import com.android.systemui.statusbar.notification.collection.NotifInflaterImpl;
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
@@ -51,7 +51,7 @@ public class NotifPipelineInitializer implements Dumpable {
private final NotifInflaterImpl mNotifInflater;
private final DumpManager mDumpManager;
private final ShadeViewManagerFactory mShadeViewManagerFactory;
- private final FeatureFlags mFeatureFlags;
+ private final NotifPipelineFlags mNotifPipelineFlags;
@Inject
@@ -64,7 +64,7 @@ public class NotifPipelineInitializer implements Dumpable {
NotifInflaterImpl notifInflater,
DumpManager dumpManager,
ShadeViewManagerFactory shadeViewManagerFactory,
- FeatureFlags featureFlags) {
+ NotifPipelineFlags notifPipelineFlags) {
mPipelineWrapper = pipelineWrapper;
mGroupCoalescer = groupCoalescer;
mNotifCollection = notifCollection;
@@ -73,7 +73,7 @@ public class NotifPipelineInitializer implements Dumpable {
mDumpManager = dumpManager;
mNotifInflater = notifInflater;
mShadeViewManagerFactory = shadeViewManagerFactory;
- mFeatureFlags = featureFlags;
+ mNotifPipelineFlags = notifPipelineFlags;
}
/** Hooks the new pipeline up to NotificationManager */
@@ -85,7 +85,7 @@ public class NotifPipelineInitializer implements Dumpable {
mDumpManager.registerDumpable("NotifPipeline", this);
// Setup inflation
- if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (mNotifPipelineFlags.isNewPipelineEnabled()) {
mNotifInflater.setRowBinder(rowBinder);
}
@@ -93,7 +93,7 @@ public class NotifPipelineInitializer implements Dumpable {
mNotifPluggableCoordinators.attach(mPipelineWrapper);
// Wire up pipeline
- if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (mNotifPipelineFlags.isNewPipelineEnabled()) {
mShadeViewManagerFactory.create(listContainer).attach(mListBuilder);
}
mListBuilder.attach(mNotifCollection);
@@ -101,7 +101,7 @@ public class NotifPipelineInitializer implements Dumpable {
mGroupCoalescer.attach(notificationService);
Log.d(TAG, "Notif pipeline initialized."
- + " rendering=" + mFeatureFlags.isNewNotifPipelineRenderingEnabled());
+ + " rendering=" + mNotifPipelineFlags.isNewPipelineEnabled());
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationsModule.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationsModule.java
index a19549c5fc10..d25a2d30fb4d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationsModule.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationsModule.java
@@ -31,7 +31,6 @@ import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dagger.qualifiers.UiBackground;
import com.android.systemui.dump.DumpManager;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.keyguard.WakefulnessLifecycle;
import com.android.systemui.people.widget.PeopleSpaceWidgetManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
@@ -40,6 +39,7 @@ import com.android.systemui.statusbar.NotificationListener;
import com.android.systemui.statusbar.NotificationRemoteInputManager;
import com.android.systemui.statusbar.notification.AssistantFeedbackController;
import com.android.systemui.statusbar.notification.ForegroundServiceDismissalFeatureController;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.NotificationEntryManagerLogger;
import com.android.systemui.statusbar.notification.collection.NotifCollection;
@@ -116,7 +116,7 @@ public interface NotificationsModule {
static NotificationEntryManager provideNotificationEntryManager(
NotificationEntryManagerLogger logger,
NotificationGroupManagerLegacy groupManager,
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
Lazy<NotificationRowBinder> notificationRowBinderLazy,
Lazy<NotificationRemoteInputManager> notificationRemoteInputManagerLazy,
LeakDetector leakDetector,
@@ -126,7 +126,7 @@ public interface NotificationsModule {
return new NotificationEntryManager(
logger,
groupManager,
- featureFlags,
+ notifPipelineFlags,
notificationRowBinderLazy,
notificationRemoteInputManagerLazy,
leakDetector,
@@ -211,7 +211,7 @@ public interface NotificationsModule {
static NotificationLogger provideNotificationLogger(
NotificationListener notificationListener,
@UiBackground Executor uiBgExecutor,
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
NotificationVisibilityProvider visibilityProvider,
NotificationEntryManager entryManager,
NotifPipeline notifPipeline,
@@ -221,7 +221,7 @@ public interface NotificationsModule {
return new NotificationLogger(
notificationListener,
uiBgExecutor,
- featureFlags,
+ notifPipelineFlags,
visibilityProvider,
entryManager,
notifPipeline,
@@ -241,9 +241,9 @@ public interface NotificationsModule {
@SysUISingleton
@Provides
static GroupMembershipManager provideGroupMembershipManager(
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
Lazy<NotificationGroupManagerLegacy> groupManagerLegacy) {
- return featureFlags.isNewNotifPipelineRenderingEnabled()
+ return notifPipelineFlags.isNewPipelineEnabled()
? new GroupMembershipManagerImpl()
: groupManagerLegacy.get();
}
@@ -252,10 +252,10 @@ public interface NotificationsModule {
@SysUISingleton
@Provides
static GroupExpansionManager provideGroupExpansionManager(
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
Lazy<GroupMembershipManager> groupMembershipManager,
Lazy<NotificationGroupManagerLegacy> groupManagerLegacy) {
- return featureFlags.isNewNotifPipelineRenderingEnabled()
+ return notifPipelineFlags.isNewPipelineEnabled()
? new GroupExpansionManagerImpl(groupMembershipManager.get())
: groupManagerLegacy.get();
}
@@ -280,10 +280,11 @@ public interface NotificationsModule {
@Provides
@SysUISingleton
static CommonNotifCollection provideCommonNotifCollection(
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
Lazy<NotifPipeline> pipeline,
NotificationEntryManager entryManager) {
- return featureFlags.isNewNotifPipelineRenderingEnabled() ? pipeline.get() : entryManager;
+ return notifPipelineFlags.isNewPipelineEnabled()
+ ? pipeline.get() : entryManager;
}
/**
@@ -292,10 +293,10 @@ public interface NotificationsModule {
@Provides
@SysUISingleton
static NotificationVisibilityProvider provideNotificationVisibilityProvider(
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
Lazy<NotificationVisibilityProviderImpl> newProvider,
Lazy<LegacyNotificationVisibilityProvider> legacyProvider) {
- return featureFlags.isNewNotifPipelineRenderingEnabled()
+ return notifPipelineFlags.isNewPipelineEnabled()
? newProvider.get()
: legacyProvider.get();
}
@@ -306,10 +307,10 @@ public interface NotificationsModule {
@Provides
@SysUISingleton
static NotifShadeEventSource provideNotifShadeEventSource(
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
Lazy<ShadeEventCoordinator> shadeEventCoordinatorLazy,
Lazy<LegacyNotificationPresenterExtensions> legacyNotificationPresenterExtensionsLazy) {
- return featureFlags.isNewNotifPipelineRenderingEnabled()
+ return notifPipelineFlags.isNewPipelineEnabled()
? shadeEventCoordinatorLazy.get()
: legacyNotificationPresenterExtensionsLazy.get();
}
@@ -321,7 +322,7 @@ public interface NotificationsModule {
@Provides
@SysUISingleton
static OnUserInteractionCallback provideOnUserInteractionCallback(
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
HeadsUpManager headsUpManager,
StatusBarStateController statusBarStateController,
Lazy<NotifCollection> notifCollection,
@@ -330,7 +331,7 @@ public interface NotificationsModule {
NotificationEntryManager entryManager,
VisualStabilityManager visualStabilityManager,
Lazy<GroupMembershipManager> groupMembershipManagerLazy) {
- return featureFlags.isNewNotifPipelineRenderingEnabled()
+ return notifPipelineFlags.isNewPipelineEnabled()
? new OnUserInteractionCallbackImpl(
visibilityProvider.get(),
notifCollection.get(),
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 757f68a8fbc7..9411de75ba7f 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
@@ -20,10 +20,10 @@ import android.service.notification.StatusBarNotification
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.people.widget.PeopleSpaceWidgetManager
import com.android.systemui.plugins.statusbar.NotificationSwipeActionHelper.SnoozeOption
-import com.android.systemui.flags.FeatureFlags
import com.android.systemui.statusbar.NotificationListener
import com.android.systemui.statusbar.NotificationPresenter
import com.android.systemui.statusbar.notification.AnimatedImageNotificationManager
+import com.android.systemui.statusbar.notification.NotifPipelineFlags
import com.android.systemui.statusbar.notification.NotificationActivityStarter
import com.android.systemui.statusbar.notification.NotificationClicker
import com.android.systemui.statusbar.notification.NotificationEntryManager
@@ -47,7 +47,7 @@ import com.android.wm.shell.bubbles.Bubbles
import dagger.Lazy
import java.io.FileDescriptor
import java.io.PrintWriter
-import java.util.Optional
+import java.util.*
import javax.inject.Inject
/**
@@ -59,7 +59,7 @@ import javax.inject.Inject
*/
@SysUISingleton
class NotificationsControllerImpl @Inject constructor(
- private val featureFlags: FeatureFlags,
+ private val notifPipelineFlags: NotifPipelineFlags,
private val notificationListener: NotificationListener,
private val entryManager: NotificationEntryManager,
private val legacyRanker: NotificationRankingManager,
@@ -115,7 +115,7 @@ class NotificationsControllerImpl @Inject constructor(
listContainer)
}
- if (featureFlags.isNewNotifPipelineRenderingEnabled) {
+ if (notifPipelineFlags.isNewPipelineEnabled()) {
targetSdkResolver.initialize(notifPipeline.get())
// TODO
} else {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationLogger.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationLogger.java
index 993e38dc0864..bd1f609f2830 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationLogger.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/logging/NotificationLogger.java
@@ -34,11 +34,11 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.statusbar.NotificationVisibility;
import com.android.systemui.dagger.qualifiers.UiBackground;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener;
import com.android.systemui.statusbar.NotificationListener;
import com.android.systemui.statusbar.StatusBarState;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationEntryListener;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
@@ -75,7 +75,7 @@ public class NotificationLogger implements StateListener {
// Dependencies:
private final NotificationListenerService mNotificationListener;
private final Executor mUiBgExecutor;
- private final FeatureFlags mFeatureFlags;
+ private final NotifPipelineFlags mNotifPipelineFlags;
private final NotificationVisibilityProvider mVisibilityProvider;
private final NotificationEntryManager mEntryManager;
private final NotifPipeline mNotifPipeline;
@@ -175,7 +175,7 @@ public class NotificationLogger implements StateListener {
};
private List<NotificationEntry> getVisibleNotifications() {
- if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (mNotifPipelineFlags.isNewPipelineEnabled()) {
return mNotifPipeline.getFlatShadeList();
} else {
return mEntryManager.getVisibleNotifications();
@@ -218,7 +218,7 @@ public class NotificationLogger implements StateListener {
*/
public NotificationLogger(NotificationListener notificationListener,
@UiBackground Executor uiBgExecutor,
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
NotificationVisibilityProvider visibilityProvider,
NotificationEntryManager entryManager,
NotifPipeline notifPipeline,
@@ -227,7 +227,7 @@ public class NotificationLogger implements StateListener {
NotificationPanelLogger notificationPanelLogger) {
mNotificationListener = notificationListener;
mUiBgExecutor = uiBgExecutor;
- mFeatureFlags = featureFlags;
+ mNotifPipelineFlags = notifPipelineFlags;
mVisibilityProvider = visibilityProvider;
mEntryManager = entryManager;
mNotifPipeline = notifPipeline;
@@ -238,7 +238,7 @@ public class NotificationLogger implements StateListener {
// Not expected to be destroyed, don't need to unsubscribe
statusBarStateController.addCallback(this);
- if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (mNotifPipelineFlags.isNewPipelineEnabled()) {
registerNewPipelineListener();
} else {
registerLegacyListener();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java
index 949299610dd6..f7a3e3c1f3ba 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java
@@ -67,7 +67,6 @@ import com.android.systemui.classifier.Classifier;
import com.android.systemui.classifier.FalsingCollector;
import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.dagger.qualifiers.Main;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.media.KeyguardMediaController;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
@@ -85,6 +84,7 @@ import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.ExpandAnimationParameters;
import com.android.systemui.statusbar.notification.ForegroundServiceDismissalFeatureController;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationActivityStarter;
import com.android.systemui.statusbar.notification.NotificationEntryListener;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
@@ -159,7 +159,7 @@ public class NotificationStackScrollLayoutController {
private final Resources mResources;
private final NotificationSwipeHelper.Builder mNotificationSwipeHelperBuilder;
private final ScrimController mScrimController;
- private final FeatureFlags mFeatureFlags;
+ private final NotifPipelineFlags mNotifPipelineFlags;
private final NotifPipeline mNotifPipeline;
private final NotifCollection mNotifCollection;
private final NotificationEntryManager mNotificationEntryManager;
@@ -642,7 +642,7 @@ public class NotificationStackScrollLayoutController {
NotificationGroupManagerLegacy legacyGroupManager,
GroupExpansionManager groupManager,
@SilentHeader SectionHeaderController silentHeaderController,
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
NotifPipeline notifPipeline,
NotifCollection notifCollection,
NotificationEntryManager notificationEntryManager,
@@ -690,10 +690,10 @@ public class NotificationStackScrollLayoutController {
mStatusBar.requestNotificationUpdate("onGroupsChanged");
}
});
- mLegacyGroupManager = featureFlags.isNewNotifPipelineRenderingEnabled()
+ mNotifPipelineFlags = notifPipelineFlags;
+ mLegacyGroupManager = mNotifPipelineFlags.isNewPipelineEnabled()
? null : legacyGroupManager;
mSilentHeaderController = silentHeaderController;
- mFeatureFlags = featureFlags;
mNotifPipeline = notifPipeline;
mNotifCollection = notifCollection;
mNotificationEntryManager = notificationEntryManager;
@@ -744,7 +744,7 @@ public class NotificationStackScrollLayoutController {
.setOnMenuEventListener(mMenuEventListener)
.build();
- if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (mNotifPipelineFlags.isNewPipelineEnabled()) {
mNotifPipeline.addCollectionListener(new NotifCollectionListener() {
@Override
public void onEntryUpdated(NotificationEntry entry) {
@@ -1309,7 +1309,7 @@ public class NotificationStackScrollLayoutController {
}
public void updateSectionBoundaries(String reason) {
- if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (mNotifPipelineFlags.isNewPipelineEnabled()) {
return;
}
mView.updateSectionBoundaries(reason);
@@ -1398,7 +1398,7 @@ public class NotificationStackScrollLayoutController {
* @return if the shade has currently any active notifications.
*/
public boolean hasActiveNotifications() {
- if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (mNotifPipelineFlags.isNewPipelineEnabled()) {
return !mNotifPipeline.getShadeList().isEmpty();
} else {
return mNotificationEntryManager.hasActiveNotifications();
@@ -1435,7 +1435,7 @@ public class NotificationStackScrollLayoutController {
private void onAnimationEnd(List<ExpandableNotificationRow> viewsToRemove,
@SelectedRows int selectedRows) {
- if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (mNotifPipelineFlags.isNewPipelineEnabled()) {
if (selectedRows == ROWS_ALL) {
mNotifCollection.dismissAllNotifications(
mLockscreenUserManager.getCurrentUserId());
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DemoStatusIcons.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DemoStatusIcons.java
index 908cd34d7cad..ee51efb090dd 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DemoStatusIcons.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DemoStatusIcons.java
@@ -30,6 +30,7 @@ import com.android.internal.statusbar.StatusBarIcon;
import com.android.systemui.R;
import com.android.systemui.demomode.DemoMode;
import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.flags.Flags;
import com.android.systemui.plugins.DarkIconDispatcher;
import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver;
import com.android.systemui.statusbar.StatusBarIconView;
@@ -255,7 +256,8 @@ public class DemoStatusIcons extends StatusIconContainer implements DemoMode, Da
public void addMobileView(MobileIconState state) {
Log.d(TAG, "addMobileView: ");
StatusBarMobileView view = StatusBarMobileView.fromContext(
- mContext, state.slot, mFeatureFlags.isCombinedStatusBarSignalIconsEnabled());
+ mContext, state.slot,
+ mFeatureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS));
view.applyMobileState(state);
view.setStaticDrawableColor(mColor);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java
index 49e3fe7df2be..14f713415c1f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java
@@ -35,6 +35,7 @@ import com.android.systemui.doze.AlwaysOnDisplayPolicy;
import com.android.systemui.doze.DozeScreenState;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.flags.Flags;
import com.android.systemui.statusbar.policy.BatteryController;
import com.android.systemui.statusbar.policy.DevicePostureController;
import com.android.systemui.tuner.TunerService;
@@ -236,7 +237,7 @@ public class DozeParameters implements
*/
public boolean canControlUnlockedScreenOff() {
return getAlwaysOn()
- && mFeatureFlags.useNewLockscreenAnimations()
+ && mFeatureFlags.isEnabled(Flags.LOCKSCREEN_ANIMATIONS)
&& !getDisplayNeedsBlanking();
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/MultiUserSwitchController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/MultiUserSwitchController.java
index d69b31fc84aa..eb5db299ec69 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/MultiUserSwitchController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/MultiUserSwitchController.java
@@ -24,6 +24,7 @@ import android.view.ViewGroup;
import com.android.systemui.R;
import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.flags.Flags;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.qs.DetailAdapter;
import com.android.systemui.qs.FooterActionsView;
@@ -53,7 +54,7 @@ public class MultiUserSwitchController extends ViewController<MultiUserSwitch> {
return;
}
- if (mFeatureFlags.useNewUserSwitcher()) {
+ if (mFeatureFlags.isEnabled(Flags.NEW_USER_SWITCHER)) {
mUserSwitchDialogController.showDialog(v);
} else {
View center = mView.getChildCount() > 0 ? mView.getChildAt(0) : mView;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
index c4ec086a764b..a9753acc2de0 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
@@ -126,6 +126,7 @@ import com.android.systemui.dagger.qualifiers.DisplayId;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.doze.DozeLog;
import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.flags.Flags;
import com.android.systemui.fragments.FragmentHostManager.FragmentListener;
import com.android.systemui.fragments.FragmentService;
import com.android.systemui.idle.IdleHostView;
@@ -4159,7 +4160,7 @@ public class NotificationPanelViewController extends PanelViewController {
com.android.internal.R.bool.config_keyguardUserSwitcher);
mKeyguardQsUserSwitchEnabled =
mKeyguardUserSwitcherEnabled
- && mFeatureFlags.isKeyguardQsUserDetailsShortcutEnabled();
+ && mFeatureFlags.isEnabled(Flags.QS_USER_DETAIL_SHORTCUT);
}
private void registerSettingsChangeListener() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/SplitShadeHeaderController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/SplitShadeHeaderController.kt
index c814622ff074..6dd1d4c645f8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/SplitShadeHeaderController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/SplitShadeHeaderController.kt
@@ -23,6 +23,7 @@ import com.android.systemui.animation.ShadeInterpolation
import com.android.systemui.battery.BatteryMeterView
import com.android.systemui.battery.BatteryMeterViewController
import com.android.systemui.flags.FeatureFlags
+import com.android.systemui.flags.Flags
import com.android.systemui.qs.carrier.QSCarrierGroupController
import com.android.systemui.statusbar.phone.dagger.StatusBarComponent.StatusBarScope
import com.android.systemui.statusbar.phone.dagger.StatusBarViewModule.SPLIT_SHADE_HEADER
@@ -43,7 +44,7 @@ class SplitShadeHeaderController @Inject constructor(
private val SPLIT_HEADER_TRANSITION_ID = R.id.split_header_transition
}
- private val combinedHeaders = featureFlags.useCombinedQSHeaders()
+ private val combinedHeaders = featureFlags.isEnabled(Flags.COMBINED_QS_HEADERS)
// TODO(b/194178072) Handle RSSI hiding when multi carrier
private val iconManager: StatusBarIconController.IconManager
private val qsCarrierGroupController: QSCarrierGroupController
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 2a54642d5d07..67b68de4d4c8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ -148,6 +148,7 @@ import com.android.systemui.demomode.DemoModeController;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.emergency.EmergencyGesture;
import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.flags.Flags;
import com.android.systemui.fragments.ExtensionFragmentListener;
import com.android.systemui.fragments.FragmentHostManager;
import com.android.systemui.keyguard.KeyguardService;
@@ -1460,7 +1461,6 @@ public class StatusBar extends CoreStartable implements
mDynamicPrivacyController,
mKeyguardStateController,
mKeyguardIndicationController,
- mFeatureFlags,
this /* statusBar */,
mShadeController,
mLockscreenShadeTransitionController,
@@ -4284,7 +4284,7 @@ public class StatusBar extends CoreStartable implements
Log.v(TAG, "configuration changed: " + mContext.getResources().getConfiguration());
}
- if (!mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (!mNotifPipelineFlags.isNewPipelineEnabled()) {
mViewHierarchyManager.updateRowStates();
}
mScreenPinningRequest.onConfigurationChanged();
@@ -4368,7 +4368,7 @@ public class StatusBar extends CoreStartable implements
@Override
public void onDozeAmountChanged(float linear, float eased) {
- if (mFeatureFlags.useNewLockscreenAnimations()
+ if (mFeatureFlags.isEnabled(Flags.LOCKSCREEN_ANIMATIONS)
&& !(mLightRevealScrim.getRevealEffect() instanceof CircleReveal)
&& !mBiometricUnlockController.isWakeAndUnlock()) {
mLightRevealScrim.setRevealAmount(1f - linear);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java
index 48fe77482340..81fb903a87b2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java
@@ -38,6 +38,7 @@ import com.android.systemui.R;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.demomode.DemoModeCommandReceiver;
import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.flags.Flags;
import com.android.systemui.plugins.DarkIconDispatcher;
import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver;
import com.android.systemui.statusbar.StatusBarIconView;
@@ -353,7 +354,8 @@ public interface StatusBarIconController {
private StatusBarMobileView onCreateStatusBarMobileView(String slot) {
StatusBarMobileView view = StatusBarMobileView.fromContext(
- mContext, slot, mFeatureFlags.isCombinedStatusBarSignalIconsEnabled());
+ mContext, slot,
+ mFeatureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS));
return view;
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java
index c2e790fcc6fb..11ed8cdc7072 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java
@@ -52,7 +52,6 @@ import com.android.systemui.assist.AssistManager;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dagger.qualifiers.UiBackground;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.CommandQueue;
@@ -60,6 +59,7 @@ import com.android.systemui.statusbar.NotificationClickNotifier;
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.NotificationPresenter;
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.NotificationEntryListener;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
@@ -117,7 +117,7 @@ public class StatusBarNotificationActivityStarter implements NotificationActivit
private final StatusBarRemoteInputCallback mStatusBarRemoteInputCallback;
private final ActivityIntentHelper mActivityIntentHelper;
- private final FeatureFlags mFeatureFlags;
+ private final NotifPipelineFlags mNotifPipelineFlags;
private final MetricsLogger mMetricsLogger;
private final StatusBarNotificationActivityStarterLogger mLogger;
@@ -156,12 +156,10 @@ public class StatusBarNotificationActivityStarter implements NotificationActivit
LockPatternUtils lockPatternUtils,
StatusBarRemoteInputCallback remoteInputCallback,
ActivityIntentHelper activityIntentHelper,
-
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
MetricsLogger metricsLogger,
StatusBarNotificationActivityStarterLogger logger,
OnUserInteractionCallback onUserInteractionCallback,
-
StatusBar statusBar,
NotificationPresenter presenter,
NotificationPanelViewController panel,
@@ -193,7 +191,7 @@ public class StatusBarNotificationActivityStarter implements NotificationActivit
mStatusBarRemoteInputCallback = remoteInputCallback;
mActivityIntentHelper = activityIntentHelper;
- mFeatureFlags = featureFlags;
+ mNotifPipelineFlags = notifPipelineFlags;
mMetricsLogger = metricsLogger;
mLogger = logger;
mOnUserInteractionCallback = onUserInteractionCallback;
@@ -205,7 +203,7 @@ public class StatusBarNotificationActivityStarter implements NotificationActivit
mActivityLaunchAnimator = activityLaunchAnimator;
mNotificationAnimationProvider = notificationAnimationProvider;
- if (!mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (!mNotifPipelineFlags.isNewPipelineEnabled()) {
mEntryManager.addNotificationEntryListener(new NotificationEntryListener() {
@Override
public void onPendingEntryAdded(NotificationEntry entry) {
@@ -659,7 +657,7 @@ public class StatusBarNotificationActivityStarter implements NotificationActivit
// --------------------- NotificationEntryManager/NotifPipeline methods ------------------------
private int getVisibleNotificationsCount() {
- if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (mNotifPipelineFlags.isNewPipelineEnabled()) {
return mNotifPipeline.getShadeListCount();
} else {
return mEntryManager.getActiveNotificationsCount();
@@ -696,13 +694,11 @@ public class StatusBarNotificationActivityStarter implements NotificationActivit
private final NotificationInterruptStateProvider mNotificationInterruptStateProvider;
private final LockPatternUtils mLockPatternUtils;
private final StatusBarRemoteInputCallback mRemoteInputCallback;
- private final ActivityIntentHelper mActivityIntentHelper;
-
- private final FeatureFlags mFeatureFlags;
+ private final ActivityIntentHelper mActivityIntentHelper;;
private final MetricsLogger mMetricsLogger;
private final StatusBarNotificationActivityStarterLogger mLogger;
private final OnUserInteractionCallback mOnUserInteractionCallback;
-
+ private final NotifPipelineFlags mNotifPipelineFlags;
private StatusBar mStatusBar;
private NotificationPresenter mNotificationPresenter;
private NotificationPanelViewController mNotificationPanelViewController;
@@ -736,8 +732,7 @@ public class StatusBarNotificationActivityStarter implements NotificationActivit
LockPatternUtils lockPatternUtils,
StatusBarRemoteInputCallback remoteInputCallback,
ActivityIntentHelper activityIntentHelper,
-
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
MetricsLogger metricsLogger,
StatusBarNotificationActivityStarterLogger logger,
OnUserInteractionCallback onUserInteractionCallback) {
@@ -767,8 +762,7 @@ public class StatusBarNotificationActivityStarter implements NotificationActivit
mLockPatternUtils = lockPatternUtils;
mRemoteInputCallback = remoteInputCallback;
mActivityIntentHelper = activityIntentHelper;
-
- mFeatureFlags = featureFlags;
+ mNotifPipelineFlags = notifPipelineFlags;
mMetricsLogger = metricsLogger;
mLogger = logger;
mOnUserInteractionCallback = onUserInteractionCallback;
@@ -832,7 +826,7 @@ public class StatusBarNotificationActivityStarter implements NotificationActivit
mLockPatternUtils,
mRemoteInputCallback,
mActivityIntentHelper,
- mFeatureFlags,
+ mNotifPipelineFlags,
mMetricsLogger,
mLogger,
mOnUserInteractionCallback,
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 58a018c01d9e..9682c605e1e6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationPresenter.java
@@ -41,7 +41,6 @@ import com.android.systemui.Dependency;
import com.android.systemui.ForegroundServiceNotificationListener;
import com.android.systemui.InitController;
import com.android.systemui.R;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.ActivityStarter.OnDismissAction;
import com.android.systemui.statusbar.CommandQueue;
@@ -100,7 +99,6 @@ public class StatusBarNotificationPresenter implements NotificationPresenter,
private final DozeScrimController mDozeScrimController;
private final ScrimController mScrimController;
private final KeyguardIndicationController mKeyguardIndicationController;
- private final FeatureFlags mFeatureFlags;
private final StatusBar mStatusBar;
private final ShadeController mShadeController;
private final LockscreenShadeTransitionController mShadeTransitionController;
@@ -129,7 +127,6 @@ public class StatusBarNotificationPresenter implements NotificationPresenter,
DynamicPrivacyController dynamicPrivacyController,
KeyguardStateController keyguardStateController,
KeyguardIndicationController keyguardIndicationController,
- FeatureFlags featureFlags,
StatusBar statusBar,
ShadeController shadeController,
LockscreenShadeTransitionController shadeTransitionController,
@@ -153,7 +150,6 @@ public class StatusBarNotificationPresenter implements NotificationPresenter,
mHeadsUpManager = headsUp;
mDynamicPrivacyController = dynamicPrivacyController;
mKeyguardIndicationController = keyguardIndicationController;
- mFeatureFlags = featureFlags;
// TODO: use KeyguardStateController#isOccluded to remove this dependency
mStatusBar = statusBar;
mShadeController = shadeController;
@@ -199,7 +195,7 @@ public class StatusBarNotificationPresenter implements NotificationPresenter,
stackScrollerController.getNotificationListContainer());
mNotifShadeEventSource.setShadeEmptiedCallback(this::maybeClosePanelForShadeEmptied);
mNotifShadeEventSource.setNotifRemovedByUserCallback(this::maybeEndAmbientPulse);
- if (!mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (!mNotifPipelineFlags.isNewPipelineEnabled()) {
mEntryManager.setUpWithPresenter(this);
mEntryManager.addNotificationLifetimeExtender(mHeadsUpManager);
mEntryManager.addNotificationLifetimeExtender(mGutsManager);
@@ -236,7 +232,7 @@ public class StatusBarNotificationPresenter implements NotificationPresenter,
@Override
public void onDensityOrFontScaleChanged() {
// TODO(b/145659174): Remove legacy pipeline code
- if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) return;
+ if (mNotifPipelineFlags.isNewPipelineEnabled()) return;
MessagingMessage.dropCache();
MessagingGroup.dropCache();
if (!mKeyguardUpdateMonitor.isSwitchingUser()) {
@@ -249,7 +245,7 @@ public class StatusBarNotificationPresenter implements NotificationPresenter,
@Override
public void onUiModeChanged() {
// TODO(b/145659174): Remove legacy pipeline code
- if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) return;
+ if (mNotifPipelineFlags.isNewPipelineEnabled()) return;
if (!mKeyguardUpdateMonitor.isSwitchingUser()) {
updateNotificationsOnUiModeChanged();
} else {
@@ -264,7 +260,7 @@ public class StatusBarNotificationPresenter implements NotificationPresenter,
private void updateNotificationsOnUiModeChanged() {
// TODO(b/145659174): Remove legacy pipeline code
- if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) return;
+ if (mNotifPipelineFlags.isNewPipelineEnabled()) return;
List<NotificationEntry> userNotifications =
mEntryManager.getActiveNotificationsForCurrentUser();
for (int i = 0; i < userNotifications.size(); i++) {
@@ -278,7 +274,7 @@ public class StatusBarNotificationPresenter implements NotificationPresenter,
private void updateNotificationsOnDensityOrFontScaleChanged() {
// TODO(b/145659174): Remove legacy pipeline code
- if (mFeatureFlags.isNewNotifPipelineRenderingEnabled()) return;
+ if (mNotifPipelineFlags.isNewPipelineEnabled()) return;
List<NotificationEntry> userNotifications =
mEntryManager.getActiveNotificationsForCurrentUser();
for (int i = 0; i < userNotifications.size(); i++) {
@@ -332,7 +328,7 @@ public class StatusBarNotificationPresenter implements NotificationPresenter,
// End old BaseStatusBar.userSwitched
if (MULTIUSER_DEBUG) mNotificationPanel.setHeaderDebugInfo("USER " + newUserId);
mCommandQueue.animateCollapsePanels();
- if (!mFeatureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (!mNotifPipelineFlags.isNewPipelineEnabled()) {
if (mReinflateNotificationsOnUserSwitched) {
updateNotificationsOnDensityOrFontScaleChanged();
mReinflateNotificationsOnUserSwitched = false;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java
index 9c69f51332a6..6c81054eb248 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarSignalPolicy.java
@@ -27,6 +27,7 @@ import com.android.settingslib.mobile.TelephonyIcons;
import com.android.systemui.R;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.flags.Flags;
import com.android.systemui.statusbar.connectivity.IconState;
import com.android.systemui.statusbar.connectivity.MobileDataIndicators;
import com.android.systemui.statusbar.connectivity.NetworkController;
@@ -375,7 +376,7 @@ public class StatusBarSignalPolicy implements SignalCallback,
@Override
public void setConnectivityStatus(boolean noDefaultNetwork, boolean noValidatedNetwork,
boolean noNetworksAvailable) {
- if (!mFeatureFlags.isCombinedStatusBarSignalIconsEnabled()) {
+ if (!mFeatureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS)) {
return;
}
if (DEBUG) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarViewModule.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarViewModule.java
index 2765fe37f846..38df95aada07 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarViewModule.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarViewModule.java
@@ -26,6 +26,7 @@ import com.android.systemui.R;
import com.android.systemui.battery.BatteryMeterView;
import com.android.systemui.biometrics.AuthRippleView;
import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.flags.Flags;
import com.android.systemui.statusbar.NotificationShelf;
import com.android.systemui.statusbar.NotificationShelfController;
import com.android.systemui.statusbar.notification.row.dagger.NotificationShelfComponent;
@@ -132,7 +133,7 @@ public abstract class StatusBarViewModule {
NotificationShadeWindowView notificationShadeWindowView,
FeatureFlags featureFlags) {
ViewStub stub = notificationShadeWindowView.findViewById(R.id.qs_header_stub);
- int layoutId = featureFlags.useCombinedQSHeaders()
+ int layoutId = featureFlags.isEnabled(Flags.COMBINED_QS_HEADERS)
? R.layout.combined_qs_header
: R.layout.split_shade_header;
stub.setLayoutResource(layoutId);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallController.kt
index 12258136c011..c7f7258513d0 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallController.kt
@@ -33,7 +33,6 @@ import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.dump.DumpManager
import com.android.systemui.plugins.ActivityStarter
-import com.android.systemui.flags.FeatureFlags
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.statusbar.gesture.SwipeStatusBarAwayGestureHandler
import com.android.systemui.statusbar.notification.collection.NotificationEntry
@@ -44,7 +43,7 @@ import com.android.systemui.statusbar.window.StatusBarWindowController
import com.android.systemui.util.time.SystemClock
import java.io.FileDescriptor
import java.io.PrintWriter
-import java.util.Optional
+import java.util.*
import java.util.concurrent.Executor
import javax.inject.Inject
@@ -54,7 +53,7 @@ import javax.inject.Inject
@SysUISingleton
class OngoingCallController @Inject constructor(
private val notifCollection: CommonNotifCollection,
- private val featureFlags: FeatureFlags,
+ private val ongoingCallFlags: OngoingCallFlags,
private val systemClock: SystemClock,
private val activityStarter: ActivityStarter,
@Main private val mainExecutor: Executor,
@@ -65,7 +64,6 @@ class OngoingCallController @Inject constructor(
private val swipeStatusBarAwayGestureHandler: Optional<SwipeStatusBarAwayGestureHandler>,
private val statusBarStateController: StatusBarStateController,
) : CallbackController<OngoingCallListener>, Dumpable {
-
private var isFullscreen: Boolean = false
/** Non-null if there's an active call notification. */
private var callNotificationInfo: CallNotificationInfo? = null
@@ -126,7 +124,7 @@ class OngoingCallController @Inject constructor(
fun init() {
dumpManager.registerDumpable(this)
- if (featureFlags.isOngoingCallStatusBarChipEnabled) {
+ if (ongoingCallFlags.isStatusBarChipEnabled()) {
notifCollection.addCollectionListener(notifListener)
statusBarStateController.addCallback(statusBarStateListener)
}
@@ -218,7 +216,7 @@ class OngoingCallController @Inject constructor(
private fun updateChipClickListener() {
if (callNotificationInfo == null) { return }
- if (isFullscreen && !featureFlags.isOngoingCallInImmersiveChipTapEnabled) {
+ if (isFullscreen && !ongoingCallFlags.isInImmersiveChipTapEnabled()) {
chipView?.setOnClickListener(null)
} else {
val currentChipView = chipView
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallFlags.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallFlags.kt
new file mode 100644
index 000000000000..fcfcb8f7ff31
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallFlags.kt
@@ -0,0 +1,35 @@
+/*
+ * 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.phone.ongoingcall
+
+import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.flags.FeatureFlags
+import com.android.systemui.flags.Flags
+import javax.inject.Inject
+
+@SysUISingleton
+class OngoingCallFlags @Inject constructor(private val featureFlags: FeatureFlags) {
+
+ fun isStatusBarChipEnabled(): Boolean =
+ featureFlags.isEnabled(Flags.ONGOING_CALL_STATUS_BAR_CHIP)
+
+ fun isInImmersiveEnabled(): Boolean = isStatusBarChipEnabled()
+ && featureFlags.isEnabled(Flags.ONGOING_CALL_IN_IMMERSIVE)
+
+ fun isInImmersiveChipTapEnabled(): Boolean = isInImmersiveEnabled()
+ && featureFlags.isEnabled(Flags.ONGOING_CALL_IN_IMMERSIVE_CHIP_TAP)
+} \ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java
index 793a9e14a7b3..a85781567948 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java
@@ -37,6 +37,7 @@ import com.android.systemui.R;
import com.android.systemui.communal.CommunalStateController;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.flags.Flags;
import com.android.systemui.keyguard.ScreenLifecycle;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
@@ -173,7 +174,7 @@ public class KeyguardQsUserSwitchController extends ViewController<FrameLayout>
}
// Tapping anywhere in the view will open QS user panel
- if (mFeatureFlags.useNewUserSwitcher()) {
+ if (mFeatureFlags.isEnabled(Flags.NEW_USER_SWITCHER)) {
mUserSwitchDialogController.showDialog(mView);
} else {
openQsUserPanel();
diff --git a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java
index 50a0b8048c1b..39544fb3fd1d 100644
--- a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java
+++ b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java
@@ -61,6 +61,7 @@ import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.flags.Flags;
import com.android.systemui.keyguard.WakefulnessLifecycle;
import com.android.systemui.monet.ColorScheme;
import com.android.systemui.settings.UserTracker;
@@ -311,7 +312,7 @@ public class ThemeOverlayController extends CoreStartable implements Dumpable {
WakefulnessLifecycle wakefulnessLifecycle) {
super(context);
- mIsMonetEnabled = featureFlags.isMonetEnabled();
+ mIsMonetEnabled = featureFlags.isEnabled(Flags.MONET);
mDeviceProvisionedController = deviceProvisionedController;
mBroadcastDispatcher = broadcastDispatcher;
mUserManager = userManager;
diff --git a/packages/SystemUI/src/com/android/systemui/wmshell/BubblesManager.java b/packages/SystemUI/src/com/android/systemui/wmshell/BubblesManager.java
index 4aad9b6b3329..e8f6de76138d 100644
--- a/packages/SystemUI/src/com/android/systemui/wmshell/BubblesManager.java
+++ b/packages/SystemUI/src/com/android/systemui/wmshell/BubblesManager.java
@@ -60,12 +60,12 @@ import com.android.internal.statusbar.NotificationVisibility;
import com.android.systemui.Dumpable;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dump.DumpManager;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.model.SysUiState;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.shared.system.QuickStepContract;
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.NotificationShadeWindowController;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationChannelHelper;
import com.android.systemui.statusbar.notification.NotificationEntryListener;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
@@ -141,7 +141,7 @@ public class BubblesManager implements Dumpable {
NotificationEntryManager entryManager,
NotifPipeline notifPipeline,
SysUiState sysUiState,
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
DumpManager dumpManager,
Executor sysuiMainExecutor) {
if (bubblesOptional.isPresent()) {
@@ -150,7 +150,7 @@ public class BubblesManager implements Dumpable {
configurationController, statusBarService, notificationManager,
visibilityProvider,
interruptionStateProvider, zenModeController, notifUserManager,
- groupManager, entryManager, notifPipeline, sysUiState, featureFlags,
+ groupManager, entryManager, notifPipeline, sysUiState, notifPipelineFlags,
dumpManager, sysuiMainExecutor);
} else {
return null;
@@ -174,7 +174,7 @@ public class BubblesManager implements Dumpable {
NotificationEntryManager entryManager,
NotifPipeline notifPipeline,
SysUiState sysUiState,
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
DumpManager dumpManager,
Executor sysuiMainExecutor) {
mContext = context;
@@ -194,7 +194,7 @@ public class BubblesManager implements Dumpable {
ServiceManager.getService(Context.STATUS_BAR_SERVICE))
: statusBarService;
- if (featureFlags.isNewNotifPipelineRenderingEnabled()) {
+ if (notifPipelineFlags.isNewPipelineEnabled()) {
setupNotifPipeline();
} else {
setupNEM();
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QuickStatusBarHeaderControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/qs/QuickStatusBarHeaderControllerTest.kt
index 36258748462a..815c81874f2e 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/QuickStatusBarHeaderControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QuickStatusBarHeaderControllerTest.kt
@@ -27,6 +27,7 @@ import com.android.systemui.battery.BatteryMeterViewController
import com.android.systemui.colorextraction.SysuiColorExtractor
import com.android.systemui.demomode.DemoModeController
import com.android.systemui.flags.FeatureFlags
+import com.android.systemui.flags.Flags
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.privacy.OngoingPrivacyChip
import com.android.systemui.privacy.PrivacyDialogController
@@ -248,7 +249,7 @@ class QuickStatusBarHeaderControllerTest : SysuiTestCase() {
@Test
fun testRSSISlot_notCombined() {
- `when`(featureFlags.isCombinedStatusBarSignalIconsEnabled).thenReturn(false)
+ `when`(featureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS)).thenReturn(false)
controller.init()
val captor = argumentCaptor<List<String>>()
@@ -261,7 +262,7 @@ class QuickStatusBarHeaderControllerTest : SysuiTestCase() {
@Test
fun testRSSISlot_combined() {
- `when`(featureFlags.isCombinedStatusBarSignalIconsEnabled).thenReturn(true)
+ `when`(featureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS)).thenReturn(true)
controller.init()
val captor = argumentCaptor<List<String>>()
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 b8cd535ff373..c3a488ff6569 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
@@ -53,7 +53,6 @@ import androidx.test.filters.SmallTest;
import com.android.internal.logging.InstanceId;
import com.android.systemui.R;
import com.android.systemui.SysuiTestCase;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.plugins.qs.DetailAdapter;
import com.android.systemui.plugins.qs.QSIconView;
import com.android.systemui.plugins.qs.QSTile;
@@ -111,8 +110,6 @@ public class TileQueryHelperTest extends SysuiTestCase {
@Mock
private UserTracker mUserTracker;
@Mock
- private FeatureFlags mFeatureFlags;
- @Mock
private StatusBarFlags mStatusBarFlags;
@Captor
private ArgumentCaptor<List<TileQueryHelper.TileInfo>> mCaptor;
@@ -144,7 +141,7 @@ public class TileQueryHelperTest extends SysuiTestCase {
mMainExecutor = new FakeExecutor(clock);
mBgExecutor = new FakeExecutor(clock);
mTileQueryHelper = new TileQueryHelper(
- mContext, mUserTracker, mMainExecutor, mBgExecutor, mFeatureFlags, mStatusBarFlags);
+ mContext, mUserTracker, mMainExecutor, mBgExecutor, mStatusBarFlags);
mTileQueryHelper.setListener(mListener);
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationRemoteInputManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationRemoteInputManagerTest.java
index 8e4b98f1e048..bd9f91f45e25 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationRemoteInputManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationRemoteInputManagerTest.java
@@ -39,11 +39,11 @@ import androidx.test.filters.SmallTest;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.dump.DumpManager;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.NotificationRemoteInputManager.LegacyRemoteInputLifetimeExtender.RemoteInputActiveExtender;
import com.android.systemui.statusbar.NotificationRemoteInputManager.LegacyRemoteInputLifetimeExtender.RemoteInputHistoryExtender;
import com.android.systemui.statusbar.NotificationRemoteInputManager.LegacyRemoteInputLifetimeExtender.SmartReplyHistoryExtender;
+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;
@@ -99,7 +99,7 @@ public class NotificationRemoteInputManagerTest extends SysuiTestCase {
MockitoAnnotations.initMocks(this);
mRemoteInputManager = new TestableNotificationRemoteInputManager(mContext,
- mock(FeatureFlags.class),
+ mock(NotifPipelineFlags.class),
mLockscreenUserManager,
mSmartReplyController,
mVisibilityProvider,
@@ -190,7 +190,7 @@ public class NotificationRemoteInputManagerTest extends SysuiTestCase {
TestableNotificationRemoteInputManager(
Context context,
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
NotificationLockscreenUserManager lockscreenUserManager,
SmartReplyController smartReplyController,
NotificationVisibilityProvider visibilityProvider,
@@ -205,7 +205,7 @@ public class NotificationRemoteInputManagerTest extends SysuiTestCase {
DumpManager dumpManager) {
super(
context,
- featureFlags,
+ notifPipelineFlags,
lockscreenUserManager,
smartReplyController,
visibilityProvider,
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 7210d9c15794..3972f140b665 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationViewHierarchyManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationViewHierarchyManagerTest.java
@@ -105,8 +105,8 @@ public class NotificationViewHierarchyManagerTest extends SysuiTestCase {
when(mVisualStabilityManager.areGroupChangesAllowed()).thenReturn(true);
when(mVisualStabilityManager.isReorderingAllowed()).thenReturn(true);
- when(mFeatureFlags.isNewNotifPipelineRenderingEnabled()).thenReturn(false);
when(mNotifPipelineFlags.checkLegacyPipelineEnabled()).thenReturn(true);
+ when(mNotifPipelineFlags.isNewPipelineEnabled()).thenReturn(false);
mHelper = new NotificationTestHelper(mContext, mDependency, TestableLooper.get(this));
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/SmartReplyControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/SmartReplyControllerTest.java
index 8b28fd5b4840..e0689f3da081 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/SmartReplyControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/SmartReplyControllerTest.java
@@ -39,8 +39,8 @@ import com.android.internal.statusbar.IStatusBarService;
import com.android.systemui.R;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.dump.DumpManager;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
+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;
@@ -97,7 +97,7 @@ public class SmartReplyControllerTest extends SysuiTestCase {
mSmartReplyController);
mRemoteInputManager = new NotificationRemoteInputManager(mContext,
- mock(FeatureFlags.class),
+ mock(NotifPipelineFlags.class),
mock(NotificationLockscreenUserManager.class),
mSmartReplyController,
mVisibilityProvider,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/charging/WiredChargingRippleControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/charging/WiredChargingRippleControllerTest.kt
index f2671b763b56..ecc2a1bebc3d 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/charging/WiredChargingRippleControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/charging/WiredChargingRippleControllerTest.kt
@@ -23,6 +23,7 @@ import androidx.test.filters.SmallTest
import com.android.internal.logging.UiEventLogger
import com.android.systemui.SysuiTestCase
import com.android.systemui.flags.FeatureFlags
+import com.android.systemui.flags.Flags
import com.android.systemui.statusbar.commandline.CommandRegistry
import com.android.systemui.statusbar.policy.BatteryController
import com.android.systemui.statusbar.policy.ConfigurationController
@@ -57,7 +58,7 @@ class WiredChargingRippleControllerTest : SysuiTestCase() {
@Before
fun setUp() {
MockitoAnnotations.initMocks(this)
- `when`(featureFlags.isChargingRippleEnabled).thenReturn(true)
+ `when`(featureFlags.isEnabled(Flags.CHARGING_RIPPLE)).thenReturn(true)
controller = WiredChargingRippleController(
commandRegistry, batteryController, configurationController,
featureFlags, context, windowManager, systemClock, uiEventLogger)
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 ce82fadc003e..ee6324b011cd 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
@@ -60,7 +60,6 @@ import android.util.Log;
import androidx.test.InstrumentationRegistry;
-import com.android.dx.mockito.inline.extended.ExtendedMockito;
import com.android.settingslib.R;
import com.android.settingslib.graph.SignalDrawable;
import com.android.settingslib.mobile.MobileMappings.Config;
@@ -72,6 +71,7 @@ import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.demomode.DemoModeController;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.flags.Flags;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceProvisionedListener;
import com.android.systemui.telephony.TelephonyListenerManager;
@@ -87,7 +87,6 @@ import org.junit.runner.Description;
import org.mockito.ArgumentCaptor;
import org.mockito.Mockito;
import org.mockito.MockitoSession;
-import org.mockito.quality.Strictness;
import java.io.PrintWriter;
import java.io.StringWriter;
@@ -159,9 +158,10 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
public void setUp() throws Exception {
mFeatureFlags = mock(FeatureFlags.class);
mStatusBarFlags = mock(StatusBarFlags.class);
- when(mFeatureFlags.isCombinedStatusBarSignalIconsEnabled()).thenReturn(false);
+ when(mFeatureFlags.isEnabled(Flags.COMBINED_STATUS_BAR_SIGNAL_ICONS)).thenReturn(false);
when(mStatusBarFlags.isProviderModelSettingEnabled()).thenReturn(true);
+
mInstrumentation = InstrumentationRegistry.getInstrumentation();
Settings.Global.putInt(mContext.getContentResolver(), Global.AIRPLANE_MODE_ON, 0);
TestableResources res = mContext.getOrCreateTestableResources();
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceControllerTest.kt
index ff91978c54bb..de627de2e1d0 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/lockscreen/LockscreenSmartspaceControllerTest.kt
@@ -42,6 +42,7 @@ import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener
import com.android.systemui.settings.UserTracker
import com.android.systemui.flags.FeatureFlags
+import com.android.systemui.flags.Flags
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener
import com.android.systemui.statusbar.policy.DeviceProvisionedController
@@ -144,7 +145,7 @@ class LockscreenSmartspaceControllerTest : SysuiTestCase() {
fun setUp() {
MockitoAnnotations.initMocks(this)
- `when`(featureFlags.isSmartspaceEnabled).thenReturn(true)
+ `when`(featureFlags.isEnabled(Flags.SMARTSPACE)).thenReturn(true)
`when`(secureSettings.getUriFor(PRIVATE_LOCKSCREEN_SETTING))
.thenReturn(fakePrivateLockscreenSettingUri)
@@ -185,7 +186,7 @@ class LockscreenSmartspaceControllerTest : SysuiTestCase() {
@Test(expected = RuntimeException::class)
fun testThrowsIfFlagIsDisabled() {
// GIVEN the feature flag is disabled
- `when`(featureFlags.isSmartspaceEnabled).thenReturn(false)
+ `when`(featureFlags.isEnabled(Flags.SMARTSPACE)).thenReturn(false)
// WHEN we try to build the view
controller.buildAndConnectView(fakeParent)
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationEntryManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationEntryManagerTest.java
index f8effa1a3424..f62de5159f54 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationEntryManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationEntryManagerTest.java
@@ -66,7 +66,6 @@ import com.android.systemui.Dependency;
import com.android.systemui.R;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.dump.DumpManager;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.statusbar.NotificationLifetimeExtender;
import com.android.systemui.statusbar.NotificationListener;
import com.android.systemui.statusbar.NotificationMediaManager;
@@ -132,7 +131,7 @@ public class NotificationEntryManagerTest extends SysuiTestCase {
@Mock private DeviceProvisionedController mDeviceProvisionedController;
@Mock private RowInflaterTask mAsyncInflationTask;
@Mock private NotificationEntryManagerLogger mLogger;
- @Mock private FeatureFlags mFeatureFlags;
+ @Mock private NotifPipelineFlags mNotifPipelineFlags;
@Mock private LeakDetector mLeakDetector;
@Mock private NotificationMediaManager mNotificationMediaManager;
@Mock private NotificationRowBinder mNotificationRowBinder;
@@ -192,11 +191,11 @@ public class NotificationEntryManagerTest extends SysuiTestCase {
mEntry = createNotification();
mSbn = mEntry.getSbn();
- when(mFeatureFlags.isNewNotifPipelineRenderingEnabled()).thenReturn(false);
+ when(mNotifPipelineFlags.isNewPipelineEnabled()).thenReturn(false);
mEntryManager = new NotificationEntryManager(
mLogger,
mGroupManager,
- mFeatureFlags,
+ mNotifPipelineFlags,
() -> mNotificationRowBinder,
() -> mRemoteInputManager,
mLeakDetector,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/NotifCollectionTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/NotifCollectionTest.java
index cf90cef6dae5..8e6bcb01c2be 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/NotifCollectionTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/NotifCollectionTest.java
@@ -70,8 +70,8 @@ import com.android.internal.statusbar.NotificationVisibility;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.dump.LogBufferEulogizer;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.statusbar.RankingBuilder;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.collection.NoManSimulator.NotifEvent;
import com.android.systemui.statusbar.notification.collection.NotifCollection.CancellationReason;
import com.android.systemui.statusbar.notification.collection.coalescer.CoalescedEvent;
@@ -107,7 +107,7 @@ import java.util.Map;
public class NotifCollectionTest extends SysuiTestCase {
@Mock private IStatusBarService mStatusBarService;
- @Mock private FeatureFlags mFeatureFlags;
+ @Mock private NotifPipelineFlags mNotifPipelineFlags;
@Mock private NotifCollectionLogger mLogger;
@Mock private LogBufferEulogizer mEulogizer;
@Mock private Handler mMainHandler;
@@ -144,7 +144,7 @@ public class NotifCollectionTest extends SysuiTestCase {
MockitoAnnotations.initMocks(this);
allowTestableLooperAsMainThread();
- when(mFeatureFlags.isNewNotifPipelineRenderingEnabled()).thenReturn(true);
+ when(mNotifPipelineFlags.isNewPipelineEnabled()).thenReturn(true);
when(mEulogizer.record(any(Exception.class))).thenAnswer(i -> i.getArguments()[0]);
@@ -153,7 +153,7 @@ public class NotifCollectionTest extends SysuiTestCase {
mCollection = new NotifCollection(
mStatusBarService,
mClock,
- mFeatureFlags,
+ mNotifPipelineFlags,
mLogger,
mMainHandler,
mEulogizer,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/logging/NotificationLoggerLegacyTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/logging/NotificationLoggerLegacyTest.java
index 4cf530e54e43..395aec392021 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/logging/NotificationLoggerLegacyTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/logging/NotificationLoggerLegacyTest.java
@@ -41,10 +41,10 @@ import com.android.internal.logging.InstanceId;
import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.statusbar.NotificationVisibility;
import com.android.systemui.SysuiTestCase;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.statusbar.NotificationListener;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.StatusBarStateControllerImpl;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
@@ -81,7 +81,7 @@ public class NotificationLoggerLegacyTest extends SysuiTestCase {
@Mock private NotificationLogger.ExpansionStateLogger mExpansionStateLogger;
// Dependency mocks:
- @Mock private FeatureFlags mFeatureFlags;
+ @Mock private NotifPipelineFlags mNotifPipelineFlags;
@Mock private NotificationVisibilityProvider mVisibilityProvider;
@Mock private NotificationEntryManager mEntryManager;
@Mock private NotifPipeline mNotifPipeline;
@@ -111,7 +111,7 @@ public class NotificationLoggerLegacyTest extends SysuiTestCase {
mLogger = new TestableNotificationLogger(
mListener,
mUiBgExecutor,
- mFeatureFlags,
+ mNotifPipelineFlags,
mVisibilityProvider,
mEntryManager,
mNotifPipeline,
@@ -253,7 +253,7 @@ public class NotificationLoggerLegacyTest extends SysuiTestCase {
TestableNotificationLogger(NotificationListener notificationListener,
Executor uiBgExecutor,
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
NotificationVisibilityProvider visibilityProvider,
NotificationEntryManager entryManager,
NotifPipeline notifPipeline,
@@ -263,7 +263,7 @@ public class NotificationLoggerLegacyTest extends SysuiTestCase {
super(
notificationListener,
uiBgExecutor,
- featureFlags,
+ notifPipelineFlags,
visibilityProvider,
entryManager,
notifPipeline,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/logging/NotificationLoggerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/logging/NotificationLoggerTest.java
index ba198efa4773..3a9b29799988 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/logging/NotificationLoggerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/logging/NotificationLoggerTest.java
@@ -41,10 +41,10 @@ import com.android.internal.logging.InstanceId;
import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.statusbar.NotificationVisibility;
import com.android.systemui.SysuiTestCase;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.statusbar.NotificationListener;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.StatusBarStateControllerImpl;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
@@ -81,7 +81,7 @@ public class NotificationLoggerTest extends SysuiTestCase {
@Mock private NotificationLogger.ExpansionStateLogger mExpansionStateLogger;
// Dependency mocks:
- @Mock private FeatureFlags mFeatureFlags;
+ @Mock private NotifPipelineFlags mNotifPipelineFlags;
@Mock private NotificationVisibilityProvider mVisibilityProvider;
@Mock private NotificationEntryManager mEntryManager;
@Mock private NotifPipeline mNotifPipeline;
@@ -97,7 +97,7 @@ public class NotificationLoggerTest extends SysuiTestCase {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
- when(mFeatureFlags.isNewNotifPipelineRenderingEnabled()).thenReturn(true);
+ when(mNotifPipelineFlags.isNewPipelineEnabled()).thenReturn(true);
mEntry = new NotificationEntryBuilder()
.setPkg(TEST_PACKAGE_NAME)
@@ -112,7 +112,7 @@ public class NotificationLoggerTest extends SysuiTestCase {
mLogger = new TestableNotificationLogger(
mListener,
mUiBgExecutor,
- mFeatureFlags,
+ mNotifPipelineFlags,
mVisibilityProvider,
mEntryManager,
mNotifPipeline,
@@ -254,7 +254,7 @@ public class NotificationLoggerTest extends SysuiTestCase {
TestableNotificationLogger(NotificationListener notificationListener,
Executor uiBgExecutor,
- FeatureFlags featureFlags,
+ NotifPipelineFlags notifPipelineFlags,
NotificationVisibilityProvider visibilityProvider,
NotificationEntryManager entryManager,
NotifPipeline notifPipeline,
@@ -264,7 +264,7 @@ public class NotificationLoggerTest extends SysuiTestCase {
super(
notificationListener,
uiBgExecutor,
- featureFlags,
+ notifPipelineFlags,
visibilityProvider,
entryManager,
notifPipeline,
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 452161030e49..eeda9ddd1466 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
@@ -48,7 +48,6 @@ import com.android.systemui.SysuiTestCase;
import com.android.systemui.classifier.FalsingCollectorFake;
import com.android.systemui.classifier.FalsingManagerFake;
import com.android.systemui.dump.DumpManager;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.media.MediaFeatureFlag;
import com.android.systemui.media.dialog.MediaOutputDialogFactory;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
@@ -143,7 +142,6 @@ 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;
@@ -182,12 +180,12 @@ public class NotificationEntryManagerInflationTest extends SysuiTestCase {
.build();
when(mNotifPipelineFlags.checkLegacyPipelineEnabled()).thenReturn(true);
- when(mFeatureFlags.isNewNotifPipelineRenderingEnabled()).thenReturn(false);
+ when(mNotifPipelineFlags.isNewPipelineEnabled()).thenReturn(false);
mEntryManager = new NotificationEntryManager(
mock(NotificationEntryManagerLogger.class),
mGroupMembershipManager,
- mFeatureFlags,
+ mNotifPipelineFlags,
() -> mRowBinder,
() -> mRemoteInputManager,
mLeakDetector,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutControllerTest.java
index f26bb75f6e75..7194c6620e12 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutControllerTest.java
@@ -46,7 +46,6 @@ import com.android.systemui.SysuiTestCase;
import com.android.systemui.classifier.FalsingCollectorFake;
import com.android.systemui.classifier.FalsingManagerFake;
import com.android.systemui.colorextraction.SysuiColorExtractor;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.media.KeyguardMediaController;
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin.OnMenuEventListener;
@@ -59,6 +58,7 @@ import com.android.systemui.statusbar.RemoteInputController;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.ForegroundServiceDismissalFeatureController;
+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;
@@ -121,7 +121,7 @@ public class NotificationStackScrollLayoutControllerTest extends SysuiTestCase {
@Mock private ScrimController mScrimController;
@Mock private NotificationGroupManagerLegacy mLegacyGroupManager;
@Mock private SectionHeaderController mSilentHeaderController;
- @Mock private FeatureFlags mFeatureFlags;
+ @Mock private NotifPipelineFlags mNotifPipelineFlags;
@Mock private NotifPipeline mNotifPipeline;
@Mock private NotifCollection mNotifCollection;
@Mock private NotificationEntryManager mEntryManager;
@@ -146,7 +146,7 @@ public class NotificationStackScrollLayoutControllerTest extends SysuiTestCase {
MockitoAnnotations.initMocks(this);
when(mNotificationSwipeHelperBuilder.build()).thenReturn(mNotificationSwipeHelper);
- when(mFeatureFlags.isNewNotifPipelineRenderingEnabled()).thenReturn(false);
+ when(mNotifPipelineFlags.isNewPipelineEnabled()).thenReturn(false);
when(mFgServicesSectionController.createView(mLayoutInflater))
.thenReturn(mForegroundServiceDungeonView);
@@ -176,7 +176,7 @@ public class NotificationStackScrollLayoutControllerTest extends SysuiTestCase {
mLegacyGroupManager,
mLegacyGroupManager,
mSilentHeaderController,
- mFeatureFlags,
+ mNotifPipelineFlags,
mNotifPipeline,
mNotifCollection,
mEntryManager,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeParametersTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeParametersTest.java
index 7a0b3669991c..391a64e07338 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeParametersTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeParametersTest.java
@@ -39,6 +39,7 @@ import com.android.systemui.doze.AlwaysOnDisplayPolicy;
import com.android.systemui.doze.DozeScreenState;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.flags.Flags;
import com.android.systemui.statusbar.policy.BatteryController;
import com.android.systemui.tuner.TunerService;
@@ -126,7 +127,7 @@ public class DozeParametersTest extends SysuiTestCase {
public void testControlUnlockedScreenOffAnimation_dozeAfterScreenOff_false() {
when(mAmbientDisplayConfiguration.alwaysOnEnabled(anyInt())).thenReturn(true);
mDozeParameters.onTuningChanged(Settings.Secure.DOZE_ALWAYS_ON, "1");
- when(mFeatureFlags.useNewLockscreenAnimations()).thenReturn(true);
+ when(mFeatureFlags.isEnabled(Flags.LOCKSCREEN_ANIMATIONS)).thenReturn(true);
when(mUnlockedScreenOffAnimationController.shouldPlayUnlockedScreenOffAnimation())
.thenReturn(true);
assertTrue(mDozeParameters.shouldControlUnlockedScreenOff());
@@ -143,7 +144,7 @@ public class DozeParametersTest extends SysuiTestCase {
public void testControlUnlockedScreenOffAnimationDisabled_dozeAfterScreenOff() {
when(mAmbientDisplayConfiguration.alwaysOnEnabled(anyInt())).thenReturn(true);
mDozeParameters.onTuningChanged(Settings.Secure.DOZE_ALWAYS_ON, "1");
- when(mFeatureFlags.useNewLockscreenAnimations()).thenReturn(false);
+ when(mFeatureFlags.isEnabled(Flags.LOCKSCREEN_ANIMATIONS)).thenReturn(false);
assertFalse(mDozeParameters.shouldControlUnlockedScreenOff());
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/SplitShadeHeaderControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/SplitShadeHeaderControllerTest.kt
index 4f68a3d0ad28..0df754966c41 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/SplitShadeHeaderControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/SplitShadeHeaderControllerTest.kt
@@ -9,6 +9,7 @@ import com.android.systemui.animation.ShadeInterpolation
import com.android.systemui.battery.BatteryMeterView
import com.android.systemui.battery.BatteryMeterViewController
import com.android.systemui.flags.FeatureFlags
+import com.android.systemui.flags.Flags
import com.android.systemui.qs.carrier.QSCarrierGroupController
import com.google.common.truth.Truth.assertThat
import org.junit.Before
@@ -54,7 +55,7 @@ class SplitShadeHeaderControllerTest : SysuiTestCase() {
null
}
whenever(view.visibility).thenAnswer { _ -> viewVisibility }
- whenever(featureFlags.useCombinedQSHeaders()).thenReturn(false)
+ whenever(featureFlags.isEnabled(Flags.COMBINED_QS_HEADERS)).thenReturn(false)
splitShadeHeaderController = SplitShadeHeaderController(view, statusBarIconController,
qsCarrierGroupControllerBuilder, featureFlags, batteryMeterViewController)
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarterTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarterTest.java
index 7791fd015441..348c1819e622 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarterTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarterTest.java
@@ -54,7 +54,6 @@ import com.android.systemui.ActivityIntentHelper;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.animation.ActivityLaunchAnimator;
import com.android.systemui.assist.AssistManager;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.CommandQueue;
@@ -63,6 +62,7 @@ import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.NotificationPresenter;
import com.android.systemui.statusbar.NotificationRemoteInputManager;
import com.android.systemui.statusbar.StatusBarState;
+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;
@@ -122,7 +122,7 @@ public class StatusBarNotificationActivityStarterTest extends SysuiTestCase {
@Mock
private ShadeControllerImpl mShadeController;
@Mock
- private FeatureFlags mFeatureFlags;
+ private NotifPipelineFlags mNotifPipelineFlags;
@Mock
private NotifPipeline mNotifPipeline;
@Mock
@@ -180,7 +180,7 @@ public class StatusBarNotificationActivityStarterTest extends SysuiTestCase {
mActiveNotifications.add(mBubbleNotificationRow.getEntry());
when(mEntryManager.getVisibleNotifications()).thenReturn(mActiveNotifications);
when(mStatusBarStateController.getState()).thenReturn(StatusBarState.SHADE);
- when(mFeatureFlags.isNewNotifPipelineRenderingEnabled()).thenReturn(false);
+ when(mNotifPipelineFlags.isNewPipelineEnabled()).thenReturn(false);
when(mOnUserInteractionCallback.getGroupSummaryToDismiss(mNotificationRow.getEntry()))
.thenReturn(null);
when(mVisibilityProvider.obtain(anyString(), anyBoolean())).thenAnswer(
@@ -224,7 +224,7 @@ public class StatusBarNotificationActivityStarterTest extends SysuiTestCase {
mock(StatusBarRemoteInputCallback.class),
mActivityIntentHelper,
- mFeatureFlags,
+ mNotifPipelineFlags,
mock(MetricsLogger.class),
mock(StatusBarNotificationActivityStarterLogger.class),
mOnUserInteractionCallback)
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 ffef55bea467..7d9e6b4c1620 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
@@ -37,7 +37,6 @@ import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.systemui.ForegroundServiceNotificationListener;
import com.android.systemui.InitController;
import com.android.systemui.SysuiTestCase;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.KeyguardIndicationController;
@@ -113,7 +112,6 @@ public class StatusBarNotificationPresenterTest extends SysuiTestCase {
mock(NotificationShadeWindowController.class), mock(DynamicPrivacyController.class),
mock(KeyguardStateController.class),
mock(KeyguardIndicationController.class),
- mock(FeatureFlags.class),
mStatusBar,
mock(ShadeControllerImpl.class), mock(LockscreenShadeTransitionController.class),
mCommandQueue,
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 6cc64906dc6a..851bd343923d 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
@@ -314,7 +314,7 @@ public class StatusBarTest extends SysuiTestCase {
NotificationLogger notificationLogger = new NotificationLogger(
mNotificationListener,
mUiBgExecutor,
- mFeatureFlags,
+ mNotifPipelineFlags,
mVisibilityProvider,
mock(NotificationEntryManager.class),
mock(NotifPipeline.class),
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallControllerTest.kt
index b385b7d62cff..0920cac9c094 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallControllerTest.kt
@@ -35,7 +35,6 @@ import com.android.systemui.R
import com.android.systemui.SysuiTestCase
import com.android.systemui.dump.DumpManager
import com.android.systemui.plugins.ActivityStarter
-import com.android.systemui.flags.FeatureFlags
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.statusbar.gesture.SwipeStatusBarAwayGestureHandler
import com.android.systemui.statusbar.notification.collection.NotificationEntry
@@ -62,7 +61,7 @@ import org.mockito.Mockito.reset
import org.mockito.Mockito.times
import org.mockito.Mockito.verify
import org.mockito.MockitoAnnotations
-import java.util.Optional
+import java.util.*
private const val CALL_UID = 900
@@ -84,7 +83,7 @@ class OngoingCallControllerTest : SysuiTestCase() {
private lateinit var controller: OngoingCallController
private lateinit var notifCollectionListener: NotifCollectionListener
- @Mock private lateinit var mockFeatureFlags: FeatureFlags
+ @Mock private lateinit var mockOngoingCallFlags: OngoingCallFlags
@Mock private lateinit var mockSwipeStatusBarAwayGestureHandler: SwipeStatusBarAwayGestureHandler
@Mock private lateinit var mockOngoingCallListener: OngoingCallListener
@Mock private lateinit var mockActivityStarter: ActivityStarter
@@ -102,12 +101,12 @@ class OngoingCallControllerTest : SysuiTestCase() {
}
MockitoAnnotations.initMocks(this)
- `when`(mockFeatureFlags.isOngoingCallStatusBarChipEnabled).thenReturn(true)
+ `when`(mockOngoingCallFlags.isStatusBarChipEnabled()).thenReturn(true)
val notificationCollection = mock(CommonNotifCollection::class.java)
controller = OngoingCallController(
notificationCollection,
- mockFeatureFlags,
+ mockOngoingCallFlags,
clock,
mockActivityStarter,
mainExecutor,
@@ -449,7 +448,7 @@ class OngoingCallControllerTest : SysuiTestCase() {
@Test
fun fullscreenIsTrue_thenCallNotificationAdded_chipNotClickable() {
- `when`(mockFeatureFlags.isOngoingCallInImmersiveChipTapEnabled).thenReturn(false)
+ `when`(mockOngoingCallFlags.isInImmersiveChipTapEnabled()).thenReturn(false)
getStateListener().onFullscreenStateChanged(/* isFullscreen= */ true)
notifCollectionListener.onEntryUpdated(createOngoingCallNotifEntry())
@@ -459,7 +458,7 @@ class OngoingCallControllerTest : SysuiTestCase() {
@Test
fun callNotificationAdded_thenFullscreenIsTrue_chipNotClickable() {
- `when`(mockFeatureFlags.isOngoingCallInImmersiveChipTapEnabled).thenReturn(false)
+ `when`(mockOngoingCallFlags.isInImmersiveChipTapEnabled()).thenReturn(false)
notifCollectionListener.onEntryUpdated(createOngoingCallNotifEntry())
getStateListener().onFullscreenStateChanged(/* isFullscreen= */ true)
@@ -469,7 +468,7 @@ class OngoingCallControllerTest : SysuiTestCase() {
@Test
fun fullscreenChangesToFalse_chipClickable() {
- `when`(mockFeatureFlags.isOngoingCallInImmersiveChipTapEnabled).thenReturn(false)
+ `when`(mockOngoingCallFlags.isInImmersiveChipTapEnabled()).thenReturn(false)
notifCollectionListener.onEntryUpdated(createOngoingCallNotifEntry())
// First, update to true
@@ -482,7 +481,7 @@ class OngoingCallControllerTest : SysuiTestCase() {
@Test
fun fullscreenIsTrue_butChipClickInImmersiveEnabled_chipClickable() {
- `when`(mockFeatureFlags.isOngoingCallInImmersiveChipTapEnabled).thenReturn(true)
+ `when`(mockOngoingCallFlags.isInImmersiveChipTapEnabled()).thenReturn(true)
notifCollectionListener.onEntryUpdated(createOngoingCallNotifEntry())
getStateListener().onFullscreenStateChanged(/* isFullscreen= */ true)
diff --git a/packages/SystemUI/tests/src/com/android/systemui/theme/ThemeOverlayControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/theme/ThemeOverlayControllerTest.java
index 3ff5666271bf..ccb4f67d7dfe 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/theme/ThemeOverlayControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/theme/ThemeOverlayControllerTest.java
@@ -53,6 +53,7 @@ import com.android.systemui.SysuiTestCase;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.flags.FeatureFlags;
+import com.android.systemui.flags.Flags;
import com.android.systemui.keyguard.WakefulnessLifecycle;
import com.android.systemui.settings.UserTracker;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
@@ -114,7 +115,7 @@ public class ThemeOverlayControllerTest extends SysuiTestCase {
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
- when(mFeatureFlags.isMonetEnabled()).thenReturn(true);
+ when(mFeatureFlags.isEnabled(Flags.MONET)).thenReturn(true);
when(mWakefulnessLifecycle.getWakefulness()).thenReturn(WAKEFULNESS_AWAKE);
when(mDeviceProvisionedController.isCurrentUserSetup()).thenReturn(true);
mThemeOverlayController = new ThemeOverlayController(null /* context */,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java b/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java
index c900ad59468f..a8e92f54327e 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java
@@ -76,7 +76,6 @@ import com.android.systemui.SysuiTestCase;
import com.android.systemui.biometrics.AuthController;
import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.dump.DumpManager;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.keyguard.KeyguardViewMediator;
import com.android.systemui.model.SysUiState;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
@@ -85,6 +84,7 @@ import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.NotificationRemoveInterceptor;
import com.android.systemui.statusbar.RankingBuilder;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
+import com.android.systemui.statusbar.notification.NotifPipelineFlags;
import com.android.systemui.statusbar.notification.NotificationEntryListener;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.NotificationFilter;
@@ -221,7 +221,7 @@ public class BubblesTest extends SysuiTestCase {
@Mock
private NotifPipeline mNotifPipeline;
@Mock
- private FeatureFlags mFeatureFlagsOldPipeline;
+ private NotifPipelineFlags mNotifPipelineFlags;
@Mock
private DumpManager mDumpManager;
@Mock
@@ -326,7 +326,7 @@ public class BubblesTest extends SysuiTestCase {
mock(Handler.class)
);
- when(mFeatureFlagsOldPipeline.isNewNotifPipelineRenderingEnabled()).thenReturn(false);
+ when(mNotifPipelineFlags.isNewPipelineEnabled()).thenReturn(false);
when(mShellTaskOrganizer.getExecutor()).thenReturn(syncExecutor);
mBubbleController = new TestableBubbleController(
mContext,
@@ -365,7 +365,7 @@ public class BubblesTest extends SysuiTestCase {
mNotificationEntryManager,
mNotifPipeline,
mSysUiState,
- mFeatureFlagsOldPipeline,
+ mNotifPipelineFlags,
mDumpManager,
syncExecutor);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/wmshell/NewNotifPipelineBubblesTest.java b/packages/SystemUI/tests/src/com/android/systemui/wmshell/NewNotifPipelineBubblesTest.java
index 5ab2113735eb..802739096faa 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/wmshell/NewNotifPipelineBubblesTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/wmshell/NewNotifPipelineBubblesTest.java
@@ -64,7 +64,6 @@ import com.android.systemui.SysuiTestCase;
import com.android.systemui.biometrics.AuthController;
import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.dump.DumpManager;
-import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.keyguard.KeyguardViewMediator;
import com.android.systemui.model.SysUiState;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
@@ -72,6 +71,7 @@ import com.android.systemui.shared.system.QuickStepContract;
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
import com.android.systemui.statusbar.RankingBuilder;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
+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.collection.NotifPipeline;
@@ -199,7 +199,7 @@ public class NewNotifPipelineBubblesTest extends SysuiTestCase {
@Mock
private NotifPipeline mNotifPipeline;
@Mock
- private FeatureFlags mFeatureFlagsNewPipeline;
+ private NotifPipelineFlags mNotifPipelineFlags;
@Mock
private DumpManager mDumpManager;
@Mock
@@ -291,7 +291,7 @@ public class NewNotifPipelineBubblesTest extends SysuiTestCase {
mock(HeadsUpManager.class),
mock(Handler.class)
);
- when(mFeatureFlagsNewPipeline.isNewNotifPipelineRenderingEnabled()).thenReturn(true);
+ when(mNotifPipelineFlags.isNewPipelineEnabled()).thenReturn(true);
when(mShellTaskOrganizer.getExecutor()).thenReturn(syncExecutor);
mBubbleController = new TestableBubbleController(
mContext,
@@ -330,7 +330,7 @@ public class NewNotifPipelineBubblesTest extends SysuiTestCase {
mNotificationEntryManager,
mNotifPipeline,
mSysUiState,
- mFeatureFlagsNewPipeline,
+ mNotifPipelineFlags,
mDumpManager,
syncExecutor);
mBubblesManager.addNotifCallback(mNotifCallback);