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

Commit 116225fc authored by Chris Göllner's avatar Chris Göllner
Browse files

Use StatusBarWindowControllerStore as a dependency everywhere

To support multiple displays, classes will need to use a display
specific instance of StatusBarWindowController.
This is a first step towards that.

Flag: com.android.systemui.status_bar_connected_displays
Test: Unit tests in this CL
Test: Manually build and run and verify everything works as before
Bug: 367592591
Change-Id: Ib07d72c422a2cea70258cd801dbc433b1b801a82
parent d57efdf2
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ import com.android.systemui.statusbar.policy.DeviceProvisionedController
import com.android.systemui.statusbar.policy.HeadsUpManager
import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.systemui.statusbar.window.StatusBarWindowController
import com.android.systemui.statusbar.window.StatusBarWindowControllerStore
import com.android.systemui.util.concurrency.FakeExecutor
import com.android.systemui.util.mockito.mock
import com.android.systemui.util.mockito.whenever
@@ -74,6 +75,7 @@ class ShadeControllerImplTest : SysuiTestCase() {
    @Mock private lateinit var statusBarStateController: StatusBarStateController
    @Mock private lateinit var statusBarKeyguardViewManager: StatusBarKeyguardViewManager
    @Mock private lateinit var statusBarWindowController: StatusBarWindowController
    @Mock private lateinit var statusBarWindowControllerStore: StatusBarWindowControllerStore
    @Mock private lateinit var deviceProvisionedController: DeviceProvisionedController
    @Mock private lateinit var notificationShadeWindowController: NotificationShadeWindowController
    @Mock private lateinit var windowManager: WindowManager
@@ -105,6 +107,8 @@ class ShadeControllerImplTest : SysuiTestCase() {
        MockitoAnnotations.initMocks(this)
        whenever(windowManager.defaultDisplay).thenReturn(display)
        whenever(deviceProvisionedController.isCurrentUserSetup).thenReturn(true)
        whenever(statusBarWindowControllerStore.defaultDisplay)
            .thenReturn(statusBarWindowController)
        shadeController =
            ShadeControllerImpl(
                commandQueue,
@@ -113,7 +117,7 @@ class ShadeControllerImplTest : SysuiTestCase() {
                keyguardStateController,
                statusBarStateController,
                statusBarKeyguardViewManager,
                statusBarWindowController,
                statusBarWindowControllerStore,
                deviceProvisionedController,
                notificationShadeWindowController,
                0,
+7 −5
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import com.android.systemui.SysuiTestCase
import com.android.systemui.fragments.FragmentHostManager
import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragment
import com.android.systemui.statusbar.window.StatusBarWindowController
import com.android.systemui.statusbar.window.StatusBarWindowControllerStore
import com.google.common.truth.Truth.assertThat
import kotlin.test.Test
import org.junit.Assert.assertThrows
@@ -39,7 +40,8 @@ import org.mockito.kotlin.whenever
@SmallTest
@RunWith(AndroidJUnit4::class)
class StatusBarInitializerTest : SysuiTestCase() {
    val windowController = mock(StatusBarWindowController::class.java)
    private val windowController = mock(StatusBarWindowController::class.java)
    private val windowControllerStore = mock(StatusBarWindowControllerStore::class.java)

    @Before
    fun setup() {
@@ -52,15 +54,15 @@ class StatusBarInitializerTest : SysuiTestCase() {
        whenever(fragmentHostManager.fragmentManager).thenReturn(fragmentManager)
        whenever(fragmentManager.beginTransaction()).thenReturn(transaction)
        whenever(transaction.replace(any(), any(), any())).thenReturn(transaction)

        whenever(windowControllerStore.defaultDisplay).thenReturn(windowController)
        whenever(windowController.fragmentHostManager).thenReturn(fragmentHostManager)
    }

    val underTest =
        StatusBarInitializerImpl(
            windowController,
            { mock(CollapsedStatusBarFragment::class.java) },
            setOf(),
            statusBarWindowControllerStore = windowControllerStore,
            collapsedStatusBarFragmentProvider = { mock(CollapsedStatusBarFragment::class.java) },
            creationListeners = setOf(),
        )

    @Test
+3 −3
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ import com.android.systemui.statusbar.phone.mockPhoneStatusBarViewController
import com.android.systemui.statusbar.window.data.model.StatusBarWindowState
import com.android.systemui.statusbar.window.data.repository.fakeStatusBarWindowStateRepositoryStore
import com.android.systemui.statusbar.window.data.repository.statusBarWindowStateRepositoryStore
import com.android.systemui.statusbar.window.fakeStatusBarWindowController
import com.android.systemui.statusbar.window.fakeStatusBarWindowControllerStore
import com.android.systemui.testKosmos
import com.android.wm.shell.bubbles.bubbles
import com.google.common.truth.Truth.assertThat
@@ -67,7 +67,7 @@ class StatusBarOrchestratorTest : SysuiTestCase() {
        }
    private val testScope = kosmos.testScope
    private val statusBarViewController = kosmos.mockPhoneStatusBarViewController
    private val statusBarWindowController = kosmos.fakeStatusBarWindowController
    private val statusBarWindowControllerStore = kosmos.fakeStatusBarWindowControllerStore
    private val statusBarModeRepository = kosmos.fakeStatusBarModeRepository
    private val pluginDependencyProvider = kosmos.mockPluginDependencyProvider
    private val notificationShadeWindowViewController =
@@ -94,7 +94,7 @@ class StatusBarOrchestratorTest : SysuiTestCase() {
    fun start_attachesWindow() {
        orchestrator.start()

        assertThat(statusBarWindowController.isAttached).isTrue()
        assertThat(statusBarWindowControllerStore.defaultDisplay.isAttached).isTrue()
    }

    @Test
+5 −3
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import com.android.systemui.animation.AnimatorTestRule
import com.android.systemui.statusbar.phone.StatusBarContentInsetsChangedListener
import com.android.systemui.statusbar.phone.StatusBarContentInsetsProvider
import com.android.systemui.statusbar.window.StatusBarWindowController
import com.android.systemui.statusbar.window.StatusBarWindowControllerStore
import com.android.systemui.util.mockito.any
import com.android.systemui.util.mockito.argumentCaptor
import com.android.systemui.util.mockito.capture
@@ -53,6 +54,7 @@ class SystemEventChipAnimationControllerTest : SysuiTestCase() {

    @get:Rule val animatorTestRule = AnimatorTestRule(this)
    @Mock private lateinit var sbWindowController: StatusBarWindowController
    @Mock private lateinit var sbWindowControllerStore: StatusBarWindowControllerStore
    @Mock private lateinit var insetsProvider: StatusBarContentInsetsProvider

    private var testView = TestView(mContext)
@@ -61,7 +63,7 @@ class SystemEventChipAnimationControllerTest : SysuiTestCase() {
    @Before
    fun setup() {
        MockitoAnnotations.initMocks(this)

        whenever(sbWindowControllerStore.defaultDisplay).thenReturn(sbWindowController)
        // StatusBarWindowController is mocked. The addViewToWindow function needs to be mocked to
        // ensure that the chip view is added to a parent view
        whenever(sbWindowController.addViewToWindow(any(), any())).then {
@@ -93,8 +95,8 @@ class SystemEventChipAnimationControllerTest : SysuiTestCase() {
        controller =
            SystemEventChipAnimationController(
                context = mContext,
                statusBarWindowController = sbWindowController,
                contentInsetsProvider = insetsProvider
                statusBarWindowControllerStore = sbWindowControllerStore,
                contentInsetsProvider = insetsProvider,
            )
    }

+4 −1
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@ import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
import com.android.systemui.statusbar.policy.DeviceProvisionedController
import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.systemui.statusbar.window.StatusBarWindowController
import com.android.systemui.statusbar.window.StatusBarWindowControllerStore
import com.android.systemui.util.concurrency.FakeExecutor
import com.android.systemui.util.time.FakeSystemClock
import com.google.common.truth.Truth.assertThat
@@ -94,6 +95,7 @@ class LegacyActivityStarterInternalImplTest : SysuiTestCase() {
    @Mock private lateinit var activityTransitionAnimator: ActivityTransitionAnimator
    @Mock private lateinit var lockScreenUserManager: NotificationLockscreenUserManager
    @Mock private lateinit var statusBarWindowController: StatusBarWindowController
    @Mock private lateinit var statusBarWindowControllerStore: StatusBarWindowControllerStore
    @Mock private lateinit var notifShadeWindowController: NotificationShadeWindowController
    @Mock private lateinit var wakefulnessLifecycle: WakefulnessLifecycle
    @Mock private lateinit var keyguardStateController: KeyguardStateController
@@ -112,6 +114,7 @@ class LegacyActivityStarterInternalImplTest : SysuiTestCase() {
    @Before
    fun setUp() {
        MockitoAnnotations.initMocks(this)
        `when`(statusBarWindowControllerStore.defaultDisplay).thenReturn(statusBarWindowController)
        underTest =
            LegacyActivityStarterInternalImpl(
                centralSurfacesOptLazy = { Optional.of(centralSurfaces) },
@@ -128,7 +131,7 @@ class LegacyActivityStarterInternalImplTest : SysuiTestCase() {
                context = context,
                displayId = DISPLAY_ID,
                lockScreenUserManager = lockScreenUserManager,
                statusBarWindowController = statusBarWindowController,
                statusBarWindowControllerStore = statusBarWindowControllerStore,
                wakefulnessLifecycle = wakefulnessLifecycle,
                keyguardStateController = keyguardStateController,
                statusBarStateController = statusBarStateController,
Loading