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

Commit 92165aa9 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge changes from topic "sb-cd-wc-store" into main

* changes:
  Introduce StatusBarInitializerStore
  Use StatusBarWindowControllerStore as a dependency everywhere
  DisplayRepository: tweak to implementation of displayAdditionEvent
parents a9a4e4aa 29ad9ea4
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -439,6 +439,28 @@ class DisplayRepositoryTest : SysuiTestCase() {
            assertThat(display!!.type).isEqualTo(TYPE_EXTERNAL)
        }

    @Test
    fun displayAdditionEvent_emptyByDefault() =
        testScope.runTest {
            setDisplays(1, 2, 3)

            val lastAddedDisplay by lastDisplayAdditionEvent()

            assertThat(lastAddedDisplay).isNull()
        }

    @Test
    fun displayAdditionEvent_displaysAdded_doesNotReplayEventsToNewSubscribers() =
        testScope.runTest {
            val priorDisplayAdded by lastDisplayAdditionEvent()
            setDisplays(1)
            sendOnDisplayAdded(1)
            assertThat(priorDisplayAdded?.displayId).isEqualTo(1)

            val lastAddedDisplay by collectLastValue(displayRepository.displayAdditionEvent)
            assertThat(lastAddedDisplay).isNull()
        }

    @Test
    fun defaultDisplayOff_changes() =
        testScope.runTest {
+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,
+8 −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,16 @@ 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(),
            displayId = context.displayId,
            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,
            )
    }

Loading