Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 12a5e18b authored by Steve Elliott's avatar Steve Elliott
Browse files

Migrate NICRefactor to aconfig flag

Flag: ACONFIG com.android.systemui.notifications_icon_container_refactor
DEVELOPMENT
Bug: 278765923
Fixes: 290787599
Test: atest SystemUITests

Change-Id: I6d027d067180bd3180cb49a19a6e2e044eeb3305
parent 34edc355
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ import com.android.systemui.statusbar.notification.PropertyAnimator;
import com.android.systemui.statusbar.notification.icon.ui.viewbinder.AlwaysOnDisplayNotificationIconViewStore;
import com.android.systemui.statusbar.notification.icon.ui.viewbinder.NotificationIconContainerViewBinder;
import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerAlwaysOnDisplayViewModel;
import com.android.systemui.statusbar.notification.shared.NotificationIconContainerRefactor;
import com.android.systemui.statusbar.notification.stack.AnimationProperties;
import com.android.systemui.statusbar.phone.DozeParameters;
import com.android.systemui.statusbar.phone.NotificationIconAreaController;
@@ -346,7 +347,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
    int getNotificationIconAreaHeight() {
        if (mFeatureFlags.isEnabled(Flags.MIGRATE_KEYGUARD_STATUS_VIEW)) {
            return 0;
        } else if (mFeatureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) {
        } else if (NotificationIconContainerRefactor.isEnabled()) {
            return mAodIconContainer != null ? mAodIconContainer.getHeight() : 0;
        } else {
            return mNotificationIconAreaController.getHeight();
@@ -565,7 +566,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
            NotificationIconContainer nic = (NotificationIconContainer)
                    mView.findViewById(
                            com.android.systemui.res.R.id.left_aligned_notification_icon_container);
            if (mFeatureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) {
            if (NotificationIconContainerRefactor.isEnabled()) {
                if (mAodIconsBindJob != null) {
                    mAodIconsBindJob.dispose();
                }
+0 −5
Original line number Diff line number Diff line
@@ -87,11 +87,6 @@ object Flags {
    @JvmField
    val NOTIFICATION_SHELF_REFACTOR = releasedFlag("notification_shelf_refactor")

    // TODO(b/290787599): Tracking Bug
    @JvmField
    val NOTIFICATION_ICON_CONTAINER_REFACTOR =
        unreleasedFlag("notification_icon_container_refactor")

    // TODO(b/288326013): Tracking Bug
    @JvmField
    val NOTIFICATION_ASYNC_HYBRID_VIEW_INFLATION =
+2 −1
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import com.android.systemui.shade.NotificationPanelView
import com.android.systemui.statusbar.notification.icon.ui.viewbinder.AlwaysOnDisplayNotificationIconViewStore
import com.android.systemui.statusbar.notification.icon.ui.viewbinder.NotificationIconContainerViewBinder
import com.android.systemui.statusbar.notification.icon.ui.viewmodel.NotificationIconContainerAlwaysOnDisplayViewModel
import com.android.systemui.statusbar.notification.shared.NotificationIconContainerRefactor
import com.android.systemui.statusbar.phone.DozeParameters
import com.android.systemui.statusbar.phone.NotificationIconAreaController
import com.android.systemui.statusbar.phone.NotificationIconContainer
@@ -86,7 +87,7 @@ constructor(
            return
        }

        if (featureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) {
        if (NotificationIconContainerRefactor.isEnabled) {
            nic.setOnLockScreen(true)
            nicBindingDisposable?.dispose()
            nicBindingDisposable =
+3 −6
Original line number Diff line number Diff line
@@ -29,14 +29,13 @@ import android.util.Log;

import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.flags.FeatureFlagsClassic;
import com.android.systemui.flags.Flags;
import com.android.systemui.plugins.PluginManager;
import com.android.systemui.statusbar.dagger.CentralSurfacesModule;
import com.android.systemui.statusbar.domain.interactor.SilentNotificationStatusIconsVisibilityInteractor;
import com.android.systemui.statusbar.notification.collection.NotifCollection;
import com.android.systemui.statusbar.notification.collection.PipelineDumpable;
import com.android.systemui.statusbar.notification.collection.PipelineDumper;
import com.android.systemui.statusbar.notification.shared.NotificationIconContainerRefactor;
import com.android.systemui.statusbar.phone.CentralSurfaces;
import com.android.systemui.statusbar.phone.NotificationListenerWithPlugins;
import com.android.systemui.util.time.SystemClock;
@@ -62,7 +61,6 @@ public class NotificationListener extends NotificationListenerWithPlugins implem
    private static final long MAX_RANKING_DELAY_MILLIS = 500L;

    private final Context mContext;
    private final FeatureFlagsClassic mFeatureFlags;
    private final NotificationManager mNotificationManager;
    private final SilentNotificationStatusIconsVisibilityInteractor mStatusIconInteractor;
    private final SystemClock mSystemClock;
@@ -80,7 +78,6 @@ public class NotificationListener extends NotificationListenerWithPlugins implem
    @Inject
    public NotificationListener(
            Context context,
            FeatureFlagsClassic featureFlags,
            NotificationManager notificationManager,
            SilentNotificationStatusIconsVisibilityInteractor statusIconInteractor,
            SystemClock systemClock,
@@ -88,7 +85,6 @@ public class NotificationListener extends NotificationListenerWithPlugins implem
            PluginManager pluginManager) {
        super(pluginManager);
        mContext = context;
        mFeatureFlags = featureFlags;
        mNotificationManager = notificationManager;
        mStatusIconInteractor = statusIconInteractor;
        mSystemClock = systemClock;
@@ -106,6 +102,7 @@ public class NotificationListener extends NotificationListenerWithPlugins implem
    /** Registers a listener that's notified when any notification-related settings change. */
    @Deprecated
    public void addNotificationSettingsListener(NotificationSettingsListener listener) {
        NotificationIconContainerRefactor.assertInLegacyMode();
        mSettingsListeners.add(listener);
    }

@@ -240,7 +237,7 @@ public class NotificationListener extends NotificationListenerWithPlugins implem

    @Override
    public void onSilentStatusBarIconsVisibilityChanged(boolean hideSilentStatusIcons) {
        if (mFeatureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) {
        if (NotificationIconContainerRefactor.isEnabled()) {
            mStatusIconInteractor.setHideSilentStatusIcons(hideSilentStatusIcons);
        } else {
            for (NotificationSettingsListener listener : mSettingsListeners) {
+2 −4
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

package com.android.systemui.statusbar.notification.collection.coordinator

import com.android.systemui.flags.FeatureFlagsClassic
import com.android.systemui.flags.Flags
import com.android.systemui.statusbar.notification.collection.ListEntry
import com.android.systemui.statusbar.notification.collection.NotifPipeline
import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope
@@ -25,6 +23,7 @@ import com.android.systemui.statusbar.notification.collection.render.GroupExpans
import com.android.systemui.statusbar.notification.collection.render.NotifStackController
import com.android.systemui.statusbar.notification.collection.render.NotifStats
import com.android.systemui.statusbar.notification.domain.interactor.RenderNotificationListInteractor
import com.android.systemui.statusbar.notification.shared.NotificationIconContainerRefactor
import com.android.systemui.statusbar.notification.stack.BUCKET_SILENT
import com.android.systemui.statusbar.phone.NotificationIconAreaController
import com.android.systemui.util.traceSection
@@ -38,7 +37,6 @@ import javax.inject.Inject
class StackCoordinator
@Inject
internal constructor(
    private val featureFlags: FeatureFlagsClassic,
    private val groupExpansionManagerImpl: GroupExpansionManagerImpl,
    private val notificationIconAreaController: NotificationIconAreaController,
    private val renderListInteractor: RenderNotificationListInteractor,
@@ -52,7 +50,7 @@ internal constructor(
    fun onAfterRenderList(entries: List<ListEntry>, controller: NotifStackController) =
        traceSection("StackCoordinator.onAfterRenderList") {
            controller.setNotifStats(calculateNotifStats(entries))
            if (featureFlags.isEnabled(Flags.NOTIFICATION_ICON_CONTAINER_REFACTOR)) {
            if (NotificationIconContainerRefactor.isEnabled) {
                renderListInteractor.setRenderedList(entries)
            } else {
                notificationIconAreaController.updateNotificationIcons(entries)
Loading