diff options
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); |