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

Commit e650ac67 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "[Status Bar Refactor] Move logic about hiding status bar icons for...

Merge "[Status Bar Refactor] Move logic about hiding status bar icons for bouncer into a separate class and reference that in CollapsedStatusBarFragment." into sc-v2-dev am: 84de69dc

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16162822

Change-Id: I289e534887dc9867f2142159f486f573766adfd6
parents 858baa8c 84de69dc
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -106,6 +106,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
    private final NotificationIconAreaController mNotificationIconAreaController;
    private final NotificationIconAreaController mNotificationIconAreaController;
    private final PanelExpansionStateManager mPanelExpansionStateManager;
    private final PanelExpansionStateManager mPanelExpansionStateManager;
    private final StatusBarIconController mStatusBarIconController;
    private final StatusBarIconController mStatusBarIconController;
    private final StatusBarHideIconsForBouncerManager mStatusBarHideIconsForBouncerManager;


    private List<String> mBlockedIcons = new ArrayList<>();
    private List<String> mBlockedIcons = new ArrayList<>();


@@ -134,6 +135,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
            FeatureFlags featureFlags,
            FeatureFlags featureFlags,
            Lazy<Optional<StatusBar>> statusBarOptionalLazy,
            Lazy<Optional<StatusBar>> statusBarOptionalLazy,
            StatusBarIconController statusBarIconController,
            StatusBarIconController statusBarIconController,
            StatusBarHideIconsForBouncerManager statusBarHideIconsForBouncerManager,
            KeyguardStateController keyguardStateController,
            KeyguardStateController keyguardStateController,
            NetworkController networkController,
            NetworkController networkController,
            StatusBarStateController statusBarStateController,
            StatusBarStateController statusBarStateController,
@@ -149,6 +151,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
        mFeatureFlags = featureFlags;
        mFeatureFlags = featureFlags;
        mStatusBarOptionalLazy = statusBarOptionalLazy;
        mStatusBarOptionalLazy = statusBarOptionalLazy;
        mStatusBarIconController = statusBarIconController;
        mStatusBarIconController = statusBarIconController;
        mStatusBarHideIconsForBouncerManager = statusBarHideIconsForBouncerManager;
        mKeyguardStateController = keyguardStateController;
        mKeyguardStateController = keyguardStateController;
        mNetworkController = networkController;
        mNetworkController = networkController;
        mStatusBarStateController = statusBarStateController;
        mStatusBarStateController = statusBarStateController;
@@ -374,10 +377,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
                        StatusBar::hideStatusBarIconsWhenExpanded).orElse(false)) {
                        StatusBar::hideStatusBarIconsWhenExpanded).orElse(false)) {
            return true;
            return true;
        }
        }
        if (statusBarOptional.map(StatusBar::hideStatusBarIconsForBouncer).orElse(false)) {
        return mStatusBarHideIconsForBouncerManager.getShouldHideStatusBarIconsForBouncer();
            return true;
        }
        return false;
    }
    }


    private void hideSystemIconArea(boolean animate) {
    private void hideSystemIconArea(boolean animate) {
+14 −52
Original line number Original line Diff line number Diff line
@@ -340,6 +340,12 @@ public class StatusBar extends SystemUI implements
    void setWindowState(int state) {
    void setWindowState(int state) {
        mStatusBarWindowState =  state;
        mStatusBarWindowState =  state;
        mStatusBarWindowHidden = state == WINDOW_STATE_HIDDEN;
        mStatusBarWindowHidden = state == WINDOW_STATE_HIDDEN;
        mStatusBarHideIconsForBouncerManager.setStatusBarWindowHidden(mStatusBarWindowHidden);
        if (getStatusBarView() != null) {
            // Should #updateHideIconsForBouncer always be called, regardless of whether we have a
            //   status bar view? If so, we can make #updateHideIconsForBouncer private.
            mStatusBarHideIconsForBouncerManager.updateHideIconsForBouncer(/* animate= */ false);
        }
    }
    }


    void acquireGestureWakeLock(long time) {
    void acquireGestureWakeLock(long time) {
@@ -359,14 +365,6 @@ public class StatusBar extends SystemUI implements
        return mStatusBarMode;
        return mStatusBarMode;
    }
    }


    boolean getWereIconsJustHidden() {
        return mWereIconsJustHidden;
    }

    void setWereIconsJustHidden(boolean justHidden) {
        mWereIconsJustHidden = justHidden;
    }

    void resendMessage(int msg) {
    void resendMessage(int msg) {
        mMessageRouter.cancelMessages(msg);
        mMessageRouter.cancelMessages(msg);
        mMessageRouter.sendMessage(msg);
        mMessageRouter.sendMessage(msg);
@@ -509,6 +507,7 @@ public class StatusBar extends SystemUI implements
    private final SystemStatusAnimationScheduler mAnimationScheduler;
    private final SystemStatusAnimationScheduler mAnimationScheduler;
    private final StatusBarLocationPublisher mStatusBarLocationPublisher;
    private final StatusBarLocationPublisher mStatusBarLocationPublisher;
    private final StatusBarIconController mStatusBarIconController;
    private final StatusBarIconController mStatusBarIconController;
    private final StatusBarHideIconsForBouncerManager mStatusBarHideIconsForBouncerManager;


    // expanded notifications
    // expanded notifications
    // the sliding/resizing panel within the notification window
    // the sliding/resizing panel within the notification window
@@ -641,10 +640,7 @@ public class StatusBar extends SystemUI implements
    private int mLastLoggedStateFingerprint;
    private int mLastLoggedStateFingerprint;
    private boolean mTopHidesStatusBar;
    private boolean mTopHidesStatusBar;
    private boolean mStatusBarWindowHidden;
    private boolean mStatusBarWindowHidden;
    private boolean mHideIconsForBouncer;
    private boolean mIsOccluded;
    private boolean mIsOccluded;
    private boolean mWereIconsJustHidden;
    private boolean mBouncerWasShowingWhenHidden;
    private boolean mIsLaunchingActivityOverLockscreen;
    private boolean mIsLaunchingActivityOverLockscreen;


    private final UserSwitcherController mUserSwitcherController;
    private final UserSwitcherController mUserSwitcherController;
@@ -777,6 +773,7 @@ public class StatusBar extends SystemUI implements
            SystemStatusAnimationScheduler animationScheduler,
            SystemStatusAnimationScheduler animationScheduler,
            StatusBarLocationPublisher locationPublisher,
            StatusBarLocationPublisher locationPublisher,
            StatusBarIconController statusBarIconController,
            StatusBarIconController statusBarIconController,
            StatusBarHideIconsForBouncerManager statusBarHideIconsForBouncerManager,
            LockscreenShadeTransitionController lockscreenShadeTransitionController,
            LockscreenShadeTransitionController lockscreenShadeTransitionController,
            FeatureFlags featureFlags,
            FeatureFlags featureFlags,
            KeyguardUnlockAnimationController keyguardUnlockAnimationController,
            KeyguardUnlockAnimationController keyguardUnlockAnimationController,
@@ -873,6 +870,7 @@ public class StatusBar extends SystemUI implements
        mAnimationScheduler = animationScheduler;
        mAnimationScheduler = animationScheduler;
        mStatusBarLocationPublisher = locationPublisher;
        mStatusBarLocationPublisher = locationPublisher;
        mStatusBarIconController = statusBarIconController;
        mStatusBarIconController = statusBarIconController;
        mStatusBarHideIconsForBouncerManager = statusBarHideIconsForBouncerManager;
        mFeatureFlags = featureFlags;
        mFeatureFlags = featureFlags;
        mKeyguardUnlockAnimationController = keyguardUnlockAnimationController;
        mKeyguardUnlockAnimationController = keyguardUnlockAnimationController;
        mMainHandler = mainHandler;
        mMainHandler = mainHandler;
@@ -938,6 +936,7 @@ public class StatusBar extends SystemUI implements
        mDisplay = mContext.getDisplay();
        mDisplay = mContext.getDisplay();
        mDisplayId = mDisplay.getDisplayId();
        mDisplayId = mDisplay.getDisplayId();
        updateDisplaySize();
        updateDisplaySize();
        mStatusBarHideIconsForBouncerManager.setDisplayId(mDisplayId);


        // start old BaseStatusBar.start().
        // start old BaseStatusBar.start().
        mWindowManagerService = WindowManagerGlobal.getWindowManagerService();
        mWindowManagerService = WindowManagerGlobal.getWindowManagerService();
@@ -1198,6 +1197,7 @@ public class StatusBar extends SystemUI implements


                                () -> Optional.of(this),
                                () -> Optional.of(this),
                                mStatusBarIconController,
                                mStatusBarIconController,
                                mStatusBarHideIconsForBouncerManager,
                                mKeyguardStateController,
                                mKeyguardStateController,
                                mNetworkController,
                                mNetworkController,
                                mStatusBarStateController,
                                mStatusBarStateController,
@@ -1872,7 +1872,7 @@ public class StatusBar extends SystemUI implements
            mNotificationLogger.onPanelExpandedChanged(isExpanded);
            mNotificationLogger.onPanelExpandedChanged(isExpanded);
        }
        }
        mPanelExpanded = isExpanded;
        mPanelExpanded = isExpanded;
        updateHideIconsForBouncer(false /* animate */);
        mStatusBarHideIconsForBouncerManager.setPanelExpandedAndTriggerUpdate(isExpanded);
        mNotificationShadeWindowController.setPanelExpanded(isExpanded);
        mNotificationShadeWindowController.setPanelExpanded(isExpanded);
        mStatusBarStateController.setPanelExpanded(isExpanded);
        mStatusBarStateController.setPanelExpanded(isExpanded);
        if (isExpanded && mStatusBarStateController.getState() != StatusBarState.KEYGUARD) {
        if (isExpanded && mStatusBarStateController.getState() != StatusBarState.KEYGUARD) {
@@ -1916,46 +1916,8 @@ public class StatusBar extends SystemUI implements


    public void setOccluded(boolean occluded) {
    public void setOccluded(boolean occluded) {
        mIsOccluded = occluded;
        mIsOccluded = occluded;
        mStatusBarHideIconsForBouncerManager.setIsOccludedAndTriggerUpdate(occluded);
        mScrimController.setKeyguardOccluded(occluded);
        mScrimController.setKeyguardOccluded(occluded);
        updateHideIconsForBouncer(false /* animate */);
    }

    public boolean hideStatusBarIconsForBouncer() {
        return mHideIconsForBouncer || mWereIconsJustHidden;
    }

    /**
     * Decides if the status bar (clock + notifications + signal cluster) should be visible
     * or not when showing the bouncer.
     *
     * We want to hide it when:
     * • User swipes up on the keyguard
     * • Locked activity that doesn't show a status bar requests the bouncer
     *
     * @param animate should the change of the icons be animated.
     */
    void updateHideIconsForBouncer(boolean animate) {
        boolean hideBecauseApp = mTopHidesStatusBar && mIsOccluded
                && (mStatusBarWindowHidden || mBouncerShowing);
        boolean hideBecauseKeyguard = !mPanelExpanded && !mIsOccluded && mBouncerShowing;
        boolean shouldHideIconsForBouncer = hideBecauseApp || hideBecauseKeyguard;
        if (mHideIconsForBouncer != shouldHideIconsForBouncer) {
            mHideIconsForBouncer = shouldHideIconsForBouncer;
            if (!shouldHideIconsForBouncer && mBouncerWasShowingWhenHidden) {
                // We're delaying the showing, since most of the time the fullscreen app will
                // hide the icons again and we don't want them to fade in and out immediately again.
                mWereIconsJustHidden = true;
                mMainExecutor.executeDelayed(() -> {
                    mWereIconsJustHidden = false;
                    mCommandQueue.recomputeDisableFlags(mDisplayId, true);
                }, 500);
            } else {
                mCommandQueue.recomputeDisableFlags(mDisplayId, animate);
            }
        }
        if (shouldHideIconsForBouncer) {
            mBouncerWasShowingWhenHidden = mBouncerShowing;
        }
    }
    }


    public boolean headsUpShouldBeVisible() {
    public boolean headsUpShouldBeVisible() {
@@ -3500,7 +3462,7 @@ public class StatusBar extends SystemUI implements
        mKeyguardBypassController.setBouncerShowing(bouncerShowing);
        mKeyguardBypassController.setBouncerShowing(bouncerShowing);
        mPulseExpansionHandler.setBouncerShowing(bouncerShowing);
        mPulseExpansionHandler.setBouncerShowing(bouncerShowing);
        setBouncerShowingForStatusBarComponents(bouncerShowing);
        setBouncerShowingForStatusBarComponents(bouncerShowing);
        updateHideIconsForBouncer(true /* animate */);
        mStatusBarHideIconsForBouncerManager.setBouncerShowingAndTriggerUpdate(bouncerShowing);
        mCommandQueue.recomputeDisableFlags(mDisplayId, true /* animate */);
        mCommandQueue.recomputeDisableFlags(mDisplayId, true /* animate */);
        updateScrimController();
        updateScrimController();
        if (!mBouncerShowing) {
        if (!mBouncerShowing) {
+8 −13
Original line number Original line Diff line number Diff line
@@ -95,6 +95,7 @@ public class StatusBarCommandQueueCallbacks implements CommandQueue.Callbacks {
    private final SysuiStatusBarStateController mStatusBarStateController;
    private final SysuiStatusBarStateController mStatusBarStateController;
    private final NotificationShadeWindowView mNotificationShadeWindowView;
    private final NotificationShadeWindowView mNotificationShadeWindowView;
    private final NotificationStackScrollLayoutController mNotificationStackScrollLayoutController;
    private final NotificationStackScrollLayoutController mNotificationStackScrollLayoutController;
    private final StatusBarHideIconsForBouncerManager mStatusBarHideIconsForBouncerManager;
    private final PowerManager mPowerManager;
    private final PowerManager mPowerManager;
    private final VibratorHelper mVibratorHelper;
    private final VibratorHelper mVibratorHelper;
    private final Optional<Vibrator> mVibratorOptional;
    private final Optional<Vibrator> mVibratorOptional;
@@ -132,6 +133,7 @@ public class StatusBarCommandQueueCallbacks implements CommandQueue.Callbacks {
            SysuiStatusBarStateController statusBarStateController,
            SysuiStatusBarStateController statusBarStateController,
            NotificationShadeWindowView notificationShadeWindowView,
            NotificationShadeWindowView notificationShadeWindowView,
            NotificationStackScrollLayoutController notificationStackScrollLayoutController,
            NotificationStackScrollLayoutController notificationStackScrollLayoutController,
            StatusBarHideIconsForBouncerManager statusBarHideIconsForBouncerManager,
            PowerManager powerManager,
            PowerManager powerManager,
            VibratorHelper vibratorHelper,
            VibratorHelper vibratorHelper,
            Optional<Vibrator> vibratorOptional,
            Optional<Vibrator> vibratorOptional,
@@ -158,6 +160,7 @@ public class StatusBarCommandQueueCallbacks implements CommandQueue.Callbacks {
        mStatusBarStateController = statusBarStateController;
        mStatusBarStateController = statusBarStateController;
        mNotificationShadeWindowView = notificationShadeWindowView;
        mNotificationShadeWindowView = notificationShadeWindowView;
        mNotificationStackScrollLayoutController = notificationStackScrollLayoutController;
        mNotificationStackScrollLayoutController = notificationStackScrollLayoutController;
        mStatusBarHideIconsForBouncerManager = statusBarHideIconsForBouncerManager;
        mPowerManager = powerManager;
        mPowerManager = powerManager;
        mVibratorHelper = vibratorHelper;
        mVibratorHelper = vibratorHelper;
        mVibratorOptional = vibratorOptional;
        mVibratorOptional = vibratorOptional;
@@ -509,14 +512,8 @@ public class StatusBarCommandQueueCallbacks implements CommandQueue.Callbacks {


    @Override
    @Override
    public void setTopAppHidesStatusBar(boolean topAppHidesStatusBar) {
    public void setTopAppHidesStatusBar(boolean topAppHidesStatusBar) {
        mStatusBar.setTopHidesStatusBar(topAppHidesStatusBar);
        mStatusBarHideIconsForBouncerManager
        if (!topAppHidesStatusBar && mStatusBar.getWereIconsJustHidden()) {
                .setTopAppHidesStatusBarAndTriggerUpdate(topAppHidesStatusBar);
            // Immediately update the icon hidden state, since that should only apply if we're
            // staying fullscreen.
            mStatusBar.setWereIconsJustHidden(false);
            mCommandQueue.recomputeDisableFlags(mDisplayId, true);
        }
        mStatusBar.updateHideIconsForBouncer(true /* animate */);
    }
    }


    @Override
    @Override
@@ -534,14 +531,12 @@ public class StatusBarCommandQueueCallbacks implements CommandQueue.Callbacks {
            if (StatusBar.DEBUG_WINDOW_STATE) {
            if (StatusBar.DEBUG_WINDOW_STATE) {
                Log.d(StatusBar.TAG, "Status bar " + windowStateToString(state));
                Log.d(StatusBar.TAG, "Status bar " + windowStateToString(state));
            }
            }
            if (mStatusBar.getStatusBarView() != null) {
            if (mStatusBar.getStatusBarView() != null
                if (!showing && mStatusBarStateController.getState() == StatusBarState.SHADE) {
                    && !showing
                    && mStatusBarStateController.getState() == StatusBarState.SHADE) {
                    mNotificationPanelViewController.collapsePanel(
                    mNotificationPanelViewController.collapsePanel(
                            false /* animate */, false /* delayed */, 1.0f /* speedUpFactor */);
                            false /* animate */, false /* delayed */, 1.0f /* speedUpFactor */);
            }
            }

                mStatusBar.updateHideIconsForBouncer(false /* animate */);
            }
        }
        }


        mStatusBar.updateBubblesVisibility();
        mStatusBar.updateBubblesVisibility();
+133 −0
Original line number Original line Diff line number Diff line
package com.android.systemui.statusbar.phone

import com.android.systemui.Dumpable
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.dump.DumpManager
import com.android.systemui.statusbar.CommandQueue
import com.android.systemui.util.concurrency.DelayableExecutor
import java.io.FileDescriptor
import java.io.PrintWriter
import javax.inject.Inject

/**
 * A class that manages if the status bar (clock + notifications + signal cluster) should be visible
 * or not when showing the bouncer.
 *
 * We want to hide it when:
 * • User swipes up on the keyguard
 * • Locked activity that doesn't show a status bar requests the bouncer.
 *
 * [getShouldHideStatusBarIconsForBouncer] is the main exported method for this class. The other
 * methods set state variables that are used in the calculation or manually trigger an update.
 */
@SysUISingleton
class StatusBarHideIconsForBouncerManager @Inject constructor(
    private val commandQueue: CommandQueue,
    @Main private val mainExecutor: DelayableExecutor,
    dumpManager: DumpManager
) : Dumpable {
    // State variables set by external classes.
    private var panelExpanded: Boolean = false
    private var isOccluded: Boolean = false
    private var bouncerShowing: Boolean = false
    private var topAppHidesStatusBar: Boolean = false
    private var statusBarWindowHidden: Boolean = false
    private var displayId: Int = 0

    // State variables calculated internally.
    private var hideIconsForBouncer: Boolean = false
    private var bouncerWasShowingWhenHidden: Boolean = false
    private var wereIconsJustHidden: Boolean = false

    init {
        dumpManager.registerDumpable(this)
    }

    /** Returns true if the status bar icons should be hidden in the bouncer. */
    fun getShouldHideStatusBarIconsForBouncer(): Boolean {
        return hideIconsForBouncer || wereIconsJustHidden
    }

    fun setStatusBarWindowHidden(statusBarWindowHidden: Boolean) {
        this.statusBarWindowHidden = statusBarWindowHidden
    }

    fun setDisplayId(displayId: Int) {
        this.displayId = displayId
    }

    fun setPanelExpandedAndTriggerUpdate(panelExpanded: Boolean) {
        this.panelExpanded = panelExpanded
        updateHideIconsForBouncer(animate = false)
    }

    fun setIsOccludedAndTriggerUpdate(isOccluded: Boolean) {
        this.isOccluded = isOccluded
        updateHideIconsForBouncer(animate = false)
    }

    fun setBouncerShowingAndTriggerUpdate(bouncerShowing: Boolean) {
        this.bouncerShowing = bouncerShowing
        updateHideIconsForBouncer(animate = true)
    }

    fun setTopAppHidesStatusBarAndTriggerUpdate(topAppHidesStatusBar: Boolean) {
        this.topAppHidesStatusBar = topAppHidesStatusBar
        if (!topAppHidesStatusBar && wereIconsJustHidden) {
            // Immediately update the icon hidden state, since that should only apply if we're
            // staying fullscreen.
            wereIconsJustHidden = false
            commandQueue.recomputeDisableFlags(displayId, /* animate= */ true)
        }
        updateHideIconsForBouncer(animate = true)
    }

    /**
     * Updates whether the status bar icons should be hidden in the bouncer. May trigger
     * [commandQueue.recomputeDisableFlags] if the icon visibility status changes.
     */
    fun updateHideIconsForBouncer(animate: Boolean) {
        val hideBecauseApp =
            topAppHidesStatusBar &&
                    isOccluded &&
                    (statusBarWindowHidden || bouncerShowing)
        val hideBecauseKeyguard = !panelExpanded && !isOccluded && bouncerShowing
        val shouldHideIconsForBouncer = hideBecauseApp || hideBecauseKeyguard
        if (hideIconsForBouncer != shouldHideIconsForBouncer) {
            hideIconsForBouncer = shouldHideIconsForBouncer
            if (!shouldHideIconsForBouncer && bouncerWasShowingWhenHidden) {
                // We're delaying the showing, since most of the time the fullscreen app will
                // hide the icons again and we don't want them to fade in and out immediately again.
                wereIconsJustHidden = true
                mainExecutor.executeDelayed(
                    {
                        wereIconsJustHidden = false
                        commandQueue.recomputeDisableFlags(displayId, true)
                    },
                    500
                )
            } else {
                commandQueue.recomputeDisableFlags(displayId, animate)
            }
        }
        if (shouldHideIconsForBouncer) {
            bouncerWasShowingWhenHidden = bouncerShowing
        }
    }

    override fun dump(fd: FileDescriptor, pw: PrintWriter, args: Array<out String>) {
        pw.println("---- State variables set externally ----")
        pw.println("panelExpanded=$panelExpanded")
        pw.println("isOccluded=$isOccluded")
        pw.println("bouncerShowing=$bouncerShowing")
        pw.println("topAppHideStatusBar=$topAppHidesStatusBar")
        pw.println("statusBarWindowHidden=$statusBarWindowHidden")
        pw.println("displayId=$displayId")

        pw.println("---- State variables calculated internally ----")
        pw.println("hideIconsForBouncer=$hideIconsForBouncer")
        pw.println("bouncerWasShowingWhenHidden=$bouncerWasShowingWhenHidden")
        pw.println("wereIconsJustHidden=$wereIconsJustHidden")
    }
}
+3 −0
Original line number Original line Diff line number Diff line
@@ -92,6 +92,7 @@ import com.android.systemui.statusbar.phone.PhoneStatusBarViewController;
import com.android.systemui.statusbar.phone.ScrimController;
import com.android.systemui.statusbar.phone.ScrimController;
import com.android.systemui.statusbar.phone.ShadeController;
import com.android.systemui.statusbar.phone.ShadeController;
import com.android.systemui.statusbar.phone.StatusBar;
import com.android.systemui.statusbar.phone.StatusBar;
import com.android.systemui.statusbar.phone.StatusBarHideIconsForBouncerManager;
import com.android.systemui.statusbar.phone.StatusBarIconController;
import com.android.systemui.statusbar.phone.StatusBarIconController;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.phone.StatusBarLocationPublisher;
import com.android.systemui.statusbar.phone.StatusBarLocationPublisher;
@@ -224,6 +225,7 @@ public interface StatusBarPhoneModule {
            SystemStatusAnimationScheduler animationScheduler,
            SystemStatusAnimationScheduler animationScheduler,
            StatusBarLocationPublisher locationPublisher,
            StatusBarLocationPublisher locationPublisher,
            StatusBarIconController statusBarIconController,
            StatusBarIconController statusBarIconController,
            StatusBarHideIconsForBouncerManager statusBarHideIconsForBouncerManager,
            LockscreenShadeTransitionController transitionController,
            LockscreenShadeTransitionController transitionController,
            FeatureFlags featureFlags,
            FeatureFlags featureFlags,
            KeyguardUnlockAnimationController keyguardUnlockAnimationController,
            KeyguardUnlockAnimationController keyguardUnlockAnimationController,
@@ -322,6 +324,7 @@ public interface StatusBarPhoneModule {
                animationScheduler,
                animationScheduler,
                locationPublisher,
                locationPublisher,
                statusBarIconController,
                statusBarIconController,
                statusBarHideIconsForBouncerManager,
                transitionController,
                transitionController,
                featureFlags,
                featureFlags,
                keyguardUnlockAnimationController,
                keyguardUnlockAnimationController,
Loading