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

Commit a6626e39 authored by Alina Zaidi's avatar Alina Zaidi
Browse files

Inject StatusBarConfigurationController instead of deriving it from

store

Bug: 384496996
Bug: 411547663
Test: m
Flag: com.android.systemui.shared.status_bar_connected_displays
Change-Id: I31a59e866122a6ccd2b66f97e4eaab2749bf4298
parent c582e387
Loading
Loading
Loading
Loading
+3 −15
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ import com.android.systemui.shade.domain.interactor.PanelExpansionInteractor
import com.android.systemui.shade.domain.interactor.ShadeModeInteractor
import com.android.systemui.shade.shared.flag.ShadeWindowGoesAround
import com.android.systemui.statusbar.core.StatusBarConnectedDisplays
import com.android.systemui.statusbar.data.repository.StatusBarConfigurationControllerStore
import com.android.systemui.statusbar.data.repository.StatusBarConfigurationController
import com.android.systemui.statusbar.data.repository.StatusBarContentInsetsProviderStore
import com.android.systemui.statusbar.policy.Clock
import com.android.systemui.statusbar.policy.ConfigurationController
@@ -337,8 +337,7 @@ private constructor(
        private val windowRootView: Provider<WindowRootView>,
        private val shadeLogger: ShadeLogger,
        private val viewUtil: ViewUtil,
        private val statusBarConfigurationControllerStore: StatusBarConfigurationControllerStore,
        private val defaultDisplayConfigurationController: ConfigurationController,
        private val statusBarConfigurationController: StatusBarConfigurationController,
        private val statusOverlayHoverListenerFactory: StatusOverlayHoverListenerFactory,
        @DisplaySpecific private val darkIconDispatcher: DarkIconDispatcher,
        private val statusBarContentInsetsProviderStore: StatusBarContentInsetsProviderStore,
@@ -346,17 +345,6 @@ private constructor(
        private val lazyShadeDisplaysRepository: Lazy<ShadeDisplaysRepository>,
    ) {
        fun create(view: PhoneStatusBarView): PhoneStatusBarViewController {
            val configurationController =
                if (StatusBarConnectedDisplays.isEnabled) {
                    statusBarConfigurationControllerStore.forDisplay(view.context.displayId)
                        ?: error(
                            "Couldn't get configuration controller for display " +
                                "${view.context.displayId}"
                        )
                } else {
                    defaultDisplayConfigurationController
                }

            return PhoneStatusBarViewController(
                view,
                progressProvider.getOrNull(),
@@ -371,7 +359,7 @@ private constructor(
                shadeLogger,
                userChipViewModel,
                viewUtil,
                configurationController,
                statusBarConfigurationController,
                statusOverlayHoverListenerFactory,
                darkIconDispatcher,
                statusBarContentInsetsProviderStore,
+5 −11
Original line number Diff line number Diff line
@@ -63,11 +63,10 @@ import com.android.systemui.shade.shared.flag.ShadeWindowGoesAround
import com.android.systemui.shade.shared.model.ShadeMode
import com.android.systemui.statusbar.CommandQueue
import com.android.systemui.statusbar.core.StatusBarConnectedDisplays
import com.android.systemui.statusbar.data.repository.FakeStatusBarConfigurationControllerStore
import com.android.systemui.statusbar.data.repository.fakeStatusBarContentInsetsProviderStore
import com.android.systemui.statusbar.phone.PhoneStatusBarViewController.PhoneStatusBarViewInteractionsGate
import com.android.systemui.statusbar.policy.Clock
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.statusbar.policy.mockStatusBarConfigurationController
import com.android.systemui.statusbar.window.StatusBarWindowStateController
import com.android.systemui.testKosmos
import com.android.systemui.unfold.util.ScopedUnfoldTransitionProgressProvider
@@ -101,6 +100,7 @@ class PhoneStatusBarViewControllerTest(flags: FlagsParameterization) : SysuiTest
    }

    private val kosmos = testKosmos()
    private val mStatusBarConfigurationController = kosmos.mockStatusBarConfigurationController
    private val statusBarContentInsetsProviderStore = kosmos.fakeStatusBarContentInsetsProviderStore
    private val statusBarContentInsetsProvider = statusBarContentInsetsProviderStore.defaultDisplay
    private val statusBarContentInsetsProviderForSecondaryDisplay =
@@ -123,9 +123,6 @@ class PhoneStatusBarViewControllerTest(flags: FlagsParameterization) : SysuiTest
    @Mock private lateinit var statusBarTouchShadeDisplayPolicy: StatusBarTouchShadeDisplayPolicy
    @Mock private lateinit var shadeDisplayRepository: ShadeDisplaysRepository
    private lateinit var statusBarWindowStateController: StatusBarWindowStateController
    private val fakeConfigurationControllerStore = FakeStatusBarConfigurationControllerStore()
    private lateinit var configurationController: ConfigurationController

    private lateinit var view: PhoneStatusBarView
    private lateinit var controller: PhoneStatusBarViewController

@@ -142,8 +139,6 @@ class PhoneStatusBarViewControllerTest(flags: FlagsParameterization) : SysuiTest
        MockitoAnnotations.initMocks(this)

        statusBarWindowStateController = StatusBarWindowStateController(DISPLAY_ID, commandQueue)
        configurationController =
            fakeConfigurationControllerStore.forDisplay(Display.DEFAULT_DISPLAY)

        whenever(statusBarContentInsetsProvider.getStatusBarContentInsetsForCurrentRotation())
            .thenReturn(Insets.NONE)
@@ -187,14 +182,14 @@ class PhoneStatusBarViewControllerTest(flags: FlagsParameterization) : SysuiTest
    }

    @Test
    fun onViewAttachedAndDrawn_startListeningConfigurationControllerCallback() {
    fun onViewAttachedAndDrawn_addStatusBarConfigurationControllerCallback() {
        val view = createViewMock(view)

        InstrumentationRegistry.getInstrumentation().runOnMainSync {
            controller = createAndInitController(view)
        }

        verify(configurationController).addCallback(any())
        verify(mStatusBarConfigurationController).addCallback(any())
    }

    @Test
@@ -716,8 +711,7 @@ class PhoneStatusBarViewControllerTest(flags: FlagsParameterization) : SysuiTest
                { windowRootView },
                shadeLogger,
                viewUtil,
                fakeConfigurationControllerStore,
                configurationController,
                mStatusBarConfigurationController,
                mStatusOverlayHoverListenerFactory,
                fakeDarkIconDispatcher,
                statusBarContentInsetsProviderStore,