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

Commit 99c4d1a0 authored by Caitlin Shkuratov's avatar Caitlin Shkuratov Committed by Android (Google) Code Review
Browse files

Merge "[Central Surfaces] Make StatusBarInitializer a singleton." into udc-dev

parents 81394d94 a9e2cc87
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -31,13 +31,13 @@ import com.android.systemui.dagger.qualifiers.PerUser
import com.android.systemui.dreams.AssistantAttentionMonitor
import com.android.systemui.dreams.DreamMonitor
import com.android.systemui.globalactions.GlobalActionsComponent
import com.android.systemui.keyboard.PhysicalKeyboardCoreStartable
import com.android.systemui.keyboard.KeyboardUI
import com.android.systemui.keyboard.PhysicalKeyboardCoreStartable
import com.android.systemui.keyguard.KeyguardViewMediator
import com.android.systemui.keyguard.data.quickaffordance.MuteQuickAffordanceCoreStartable
import com.android.systemui.log.SessionTracker
import com.android.systemui.media.dialog.MediaOutputSwitcherDialogUI
import com.android.systemui.media.RingtonePlayer
import com.android.systemui.media.dialog.MediaOutputSwitcherDialogUI
import com.android.systemui.media.taptotransfer.MediaTttCommandLineHelper
import com.android.systemui.media.taptotransfer.receiver.MediaTttChipControllerReceiver
import com.android.systemui.media.taptotransfer.sender.MediaTttSenderCoordinator
@@ -48,7 +48,6 @@ import com.android.systemui.settings.dagger.MultiUserUtilsModule
import com.android.systemui.shortcut.ShortcutKeyDispatcher
import com.android.systemui.statusbar.notification.InstantAppNotifier
import com.android.systemui.statusbar.phone.KeyguardLiftController
import com.android.systemui.statusbar.phone.LetterboxModule
import com.android.systemui.stylus.StylusUsiPowerStartable
import com.android.systemui.temporarydisplay.chipbar.ChipbarCoordinator
import com.android.systemui.theme.ThemeOverlayController
@@ -68,7 +67,6 @@ import dagger.multibindings.IntoMap
@Module(includes = [
    MultiUserUtilsModule::class,
    StartControlsStartableModule::class,
    LetterboxModule::class,
])
abstract class SystemUICoreStartableModule {
    /** Inject into AuthController.  */
+2 −0
Original line number Diff line number Diff line
@@ -94,6 +94,7 @@ import com.android.systemui.statusbar.notification.row.dagger.ExpandableNotifica
import com.android.systemui.statusbar.notification.row.dagger.NotificationRowComponent;
import com.android.systemui.statusbar.notification.row.dagger.NotificationShelfComponent;
import com.android.systemui.statusbar.phone.CentralSurfaces;
import com.android.systemui.statusbar.phone.LetterboxModule;
import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent;
import com.android.systemui.statusbar.pipeline.dagger.StatusBarPipelineModule;
import com.android.systemui.statusbar.policy.HeadsUpManager;
@@ -161,6 +162,7 @@ import javax.inject.Named;
            FooterActionsModule.class,
            GarbageMonitorModule.class,
            KeyboardModule.class,
            LetterboxModule.class,
            LogModule.class,
            MediaProjectionModule.class,
            MotionToolModule.class,
+7 −6
Original line number Diff line number Diff line
@@ -17,12 +17,11 @@ package com.android.systemui.statusbar.core

import android.app.Fragment
import com.android.systemui.R
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.fragments.FragmentHostManager
import com.android.systemui.statusbar.phone.PhoneStatusBarTransitions
import com.android.systemui.statusbar.phone.PhoneStatusBarView
import com.android.systemui.statusbar.phone.PhoneStatusBarViewController
import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent
import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent.CentralSurfacesScope
import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragment
import com.android.systemui.statusbar.phone.fragment.dagger.StatusBarFragmentComponent
import com.android.systemui.statusbar.window.StatusBarWindowController
@@ -33,7 +32,7 @@ import javax.inject.Inject
 * Responsible for creating the status bar window and initializing the root components of that
 * window (see [CollapsedStatusBarFragment])
 */
@CentralSurfacesScope
@SysUISingleton
class StatusBarInitializer @Inject constructor(
    private val windowController: StatusBarWindowController,
    private val creationListeners: Set<@JvmSuppressWildcards OnStatusBarViewInitializedListener>,
@@ -42,10 +41,12 @@ class StatusBarInitializer @Inject constructor(
    var statusBarViewUpdatedListener: OnStatusBarViewUpdatedListener? = null

    /**
     * Creates the status bar window and root views, and initializes the component
     * Creates the status bar window and root views, and initializes the component.
     *
     * TODO(b/277762009): Inject StatusBarFragmentCreator and make this class a CoreStartable.
     */
    fun initializeStatusBar(
        centralSurfacesComponent: CentralSurfacesComponent
        statusBarFragmentCreator: () -> CollapsedStatusBarFragment,
    ) {
        windowController.fragmentHostManager.addTagListener(
                CollapsedStatusBarFragment.TAG,
@@ -69,7 +70,7 @@ class StatusBarInitializer @Inject constructor(
                }).fragmentManager
                .beginTransaction()
                .replace(R.id.status_bar_container,
                        centralSurfacesComponent.createCollapsedStatusBarFragment(),
                        statusBarFragmentCreator.invoke(),
                        CollapsedStatusBarFragment.TAG)
                .commit()
    }
+7 −4
Original line number Diff line number Diff line
@@ -191,10 +191,10 @@ import com.android.systemui.shade.QuickSettingsController;
import com.android.systemui.shade.ShadeController;
import com.android.systemui.shade.ShadeExpansionChangeEvent;
import com.android.systemui.shade.ShadeExpansionStateManager;
import com.android.systemui.shared.recents.utilities.Utilities;
import com.android.systemui.shade.ShadeLogger;
import com.android.systemui.shade.ShadeSurface;
import com.android.systemui.shade.ShadeViewController;
import com.android.systemui.shared.recents.utilities.Utilities;
import com.android.systemui.statusbar.AutoHideUiElement;
import com.android.systemui.statusbar.BackDropView;
import com.android.systemui.statusbar.CircleReveal;
@@ -455,6 +455,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
    private AuthRippleController mAuthRippleController;
    @WindowVisibleState private int mStatusBarWindowState = WINDOW_STATE_SHOWING;
    protected final NotificationShadeWindowController mNotificationShadeWindowController;
    private final StatusBarInitializer mStatusBarInitializer;
    private final StatusBarWindowController mStatusBarWindowController;
    private final KeyguardUpdateMonitor mKeyguardUpdateMonitor;
    @VisibleForTesting
@@ -723,6 +724,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
            FragmentService fragmentService,
            LightBarController lightBarController,
            AutoHideController autoHideController,
            StatusBarInitializer statusBarInitializer,
            StatusBarWindowController statusBarWindowController,
            StatusBarWindowStateController statusBarWindowStateController,
            KeyguardUpdateMonitor keyguardUpdateMonitor,
@@ -817,6 +819,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
        mFragmentService = fragmentService;
        mLightBarController = lightBarController;
        mAutoHideController = autoHideController;
        mStatusBarInitializer = statusBarInitializer;
        mStatusBarWindowController = statusBarWindowController;
        mKeyguardUpdateMonitor = keyguardUpdateMonitor;
        mPulseExpansionHandler = pulseExpansionHandler;
@@ -1261,8 +1264,7 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
        mPluginDependencyProvider.allowPluginDependency(StatusBarStateController.class);

        // Set up CollapsedStatusBarFragment and PhoneStatusBarView
        StatusBarInitializer initializer = mCentralSurfacesComponent.getStatusBarInitializer();
        initializer.setStatusBarViewUpdatedListener(
        mStatusBarInitializer.setStatusBarViewUpdatedListener(
                (statusBarView, statusBarViewController, statusBarTransitions) -> {
                    mStatusBarView = statusBarView;
                    mPhoneStatusBarViewController = statusBarViewController;
@@ -1278,7 +1280,8 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
                    setBouncerShowingForStatusBarComponents(mBouncerShowing);
                    checkBarModes();
                });
        initializer.initializeStatusBar(mCentralSurfacesComponent);
        mStatusBarInitializer.initializeStatusBar(
                mCentralSurfacesComponent::createCollapsedStatusBarFragment);

        mStatusBarTouchableRegionManager.setup(this, mNotificationShadeWindowView);

+8 −0
Original line number Diff line number Diff line
@@ -18,10 +18,12 @@
package com.android.systemui.statusbar.phone

import com.android.systemui.CoreStartable
import com.android.systemui.statusbar.core.StatusBarInitializer
import dagger.Binds
import dagger.Module
import dagger.multibindings.ClassKey
import dagger.multibindings.IntoMap
import dagger.multibindings.IntoSet

@Module
abstract class LetterboxModule {
@@ -29,4 +31,10 @@ abstract class LetterboxModule {
    @IntoMap
    @ClassKey(LetterboxBackgroundProvider::class)
    abstract fun bindFeature(impl: LetterboxBackgroundProvider): CoreStartable

    @Binds
    @IntoSet
    abstract fun statusBarInitializedListener(
        letterboxAppearanceCalculator: LetterboxAppearanceCalculator
    ): StatusBarInitializer.OnStatusBarViewInitializedListener
}
Loading