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

Commit 465f5301 authored by Vania Desmonda's avatar Vania Desmonda Committed by Android (Google) Code Review
Browse files

Merge "Refactor MultiDisplayTestUtil to have an enum of displays." into main

parents 8ea8e51a e0bc5e69
Loading
Loading
Loading
Loading
+5 −18
Original line number Original line Diff line number Diff line
@@ -22,6 +22,7 @@ import android.graphics.Rect
import android.graphics.RectF
import android.graphics.RectF
import android.testing.TestableResources
import android.testing.TestableResources
import com.android.wm.shell.ShellTestCase
import com.android.wm.shell.ShellTestCase
import com.android.wm.shell.common.MultiDisplayTestUtil.TestDisplay
import org.junit.Assert.assertEquals
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Before
import org.junit.Test
import org.junit.Test
@@ -48,18 +49,8 @@ class MultiDisplayDragMoveBoundsCalculatorTest : ShellTestCase() {
        val boundsAtDragStart = Rect(10, 20, 110, 120)
        val boundsAtDragStart = Rect(10, 20, 110, 120)
        val x = 300f
        val x = 300f
        val y = 400f
        val y = 400f
        val displayLayout0 =
        val displayLayout0 = TestDisplay.DISPLAY_0.getSpyDisplayLayout(resources.resources)
            MultiDisplayTestUtil.createSpyDisplayLayout(
        val displayLayout1 = TestDisplay.DISPLAY_1.getSpyDisplayLayout(resources.resources)
                MultiDisplayTestUtil.DISPLAY_GLOBAL_BOUNDS_0,
                MultiDisplayTestUtil.DISPLAY_DPI_0,
                resources.resources,
            )
        val displayLayout1 =
            MultiDisplayTestUtil.createSpyDisplayLayout(
                MultiDisplayTestUtil.DISPLAY_GLOBAL_BOUNDS_1,
                MultiDisplayTestUtil.DISPLAY_DPI_1,
                resources.resources,
            )


        val actualBoundsDp =
        val actualBoundsDp =
            MultiDisplayDragMoveBoundsCalculator.calculateGlobalDpBoundsForDrag(
            MultiDisplayDragMoveBoundsCalculator.calculateGlobalDpBoundsForDrag(
@@ -77,12 +68,8 @@ class MultiDisplayDragMoveBoundsCalculatorTest : ShellTestCase() {


    @Test
    @Test
    fun testConvertGlobalDpToLocalPxForRect() {
    fun testConvertGlobalDpToLocalPxForRect() {
        val displayLayout =
        val displayLayout = TestDisplay.DISPLAY_1.getSpyDisplayLayout(resources.resources)
            MultiDisplayTestUtil.createSpyDisplayLayout(

                MultiDisplayTestUtil.DISPLAY_GLOBAL_BOUNDS_1,
                MultiDisplayTestUtil.DISPLAY_DPI_1,
                resources.resources,
            )
        val rectDp = RectF(150f, -350f, 300f, -250f)
        val rectDp = RectF(150f, -350f, 300f, -250f)


        val actualBoundsPx =
        val actualBoundsPx =
+3 −12
Original line number Original line Diff line number Diff line
@@ -27,6 +27,7 @@ import androidx.test.filters.SmallTest
import com.android.wm.shell.RootTaskDisplayAreaOrganizer
import com.android.wm.shell.RootTaskDisplayAreaOrganizer
import com.android.wm.shell.ShellTestCase
import com.android.wm.shell.ShellTestCase
import com.android.wm.shell.TestShellExecutor
import com.android.wm.shell.TestShellExecutor
import com.android.wm.shell.common.MultiDisplayTestUtil.TestDisplay
import java.util.function.Supplier
import java.util.function.Supplier
import org.junit.Before
import org.junit.Before
import org.junit.Test
import org.junit.Test
@@ -78,18 +79,8 @@ class MultiDisplayDragMoveIndicatorControllerTest : ShellTestCase() {
                executor,
                executor,
            )
            )


        val spyDisplayLayout0 =
        val spyDisplayLayout0 = TestDisplay.DISPLAY_0.getSpyDisplayLayout(resources.resources)
            MultiDisplayTestUtil.createSpyDisplayLayout(
        val spyDisplayLayout1 = TestDisplay.DISPLAY_1.getSpyDisplayLayout(resources.resources)
                MultiDisplayTestUtil.DISPLAY_GLOBAL_BOUNDS_0,
                MultiDisplayTestUtil.DISPLAY_DPI_0,
                resources.resources,
            )
        val spyDisplayLayout1 =
            MultiDisplayTestUtil.createSpyDisplayLayout(
                MultiDisplayTestUtil.DISPLAY_GLOBAL_BOUNDS_1,
                MultiDisplayTestUtil.DISPLAY_DPI_1,
                resources.resources,
            )


        taskInfo.taskId = TASK_ID
        taskInfo.taskId = TASK_ID
        whenever(displayController.getDisplayLayout(0)).thenReturn(spyDisplayLayout0)
        whenever(displayController.getDisplayLayout(0)).thenReturn(spyDisplayLayout0)
+11 −12
Original line number Original line Diff line number Diff line
@@ -31,18 +31,17 @@ object MultiDisplayTestUtil {
    // +-+---+---+
    // +-+---+---+
    // |   0   |
    // |   0   |
    // +-------+
    // +-------+
    val DISPLAY_GLOBAL_BOUNDS_0 = RectF(0f, 0f, 1200f, 800f)
    enum class TestDisplay(val id: Int, val bounds: RectF, val dpi: Int) {
    val DISPLAY_GLOBAL_BOUNDS_1 = RectF(100f, -1000f, 1100f, 0f)
        DISPLAY_0(0, RectF(0f, 0f, 1200f, 800f), DisplayMetrics.DENSITY_DEFAULT),
    val DISPLAY_GLOBAL_BOUNDS_2 = RectF(1100f, -1000f, 2100f, 0f)
        DISPLAY_1(1, RectF(100f, -1000f, 1100f, 0f), DisplayMetrics.DENSITY_DEFAULT * 2),
    val DISPLAY_DPI_0 = DisplayMetrics.DENSITY_DEFAULT
        DISPLAY_2(2, RectF(1100f, -1000f, 2100f, 0f), DisplayMetrics.DENSITY_DEFAULT);
    val DISPLAY_DPI_1 = DisplayMetrics.DENSITY_DEFAULT * 2
    val DISPLAY_DPI_2 = DisplayMetrics.DENSITY_DEFAULT


    fun createSpyDisplayLayout(globalBounds: RectF, dpi: Int, resources: Resources): DisplayLayout {
        fun getSpyDisplayLayout(resources: Resources): DisplayLayout {
            val displayInfo = DisplayInfo()
            val displayInfo = DisplayInfo()
            displayInfo.logicalDensityDpi = dpi
            displayInfo.logicalDensityDpi = dpi
            val displayLayout = spy(DisplayLayout(displayInfo, resources, true, true))
            val displayLayout = spy(DisplayLayout(displayInfo, resources, true, true))
        displayLayout.setGlobalBoundsDp(globalBounds)
            displayLayout.setGlobalBoundsDp(bounds)
            return displayLayout
            return displayLayout
        }
        }
    }
    }
}
+11 −43
Original line number Original line Diff line number Diff line
@@ -60,8 +60,7 @@ import org.mockito.kotlin.eq
import org.mockito.kotlin.times
import org.mockito.kotlin.times
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertThat
import com.android.wm.shell.R
import com.android.wm.shell.R
import com.android.wm.shell.common.DisplayLayout
import com.android.wm.shell.common.MultiDisplayTestUtil.TestDisplay
import com.android.wm.shell.common.MultiDisplayTestUtil
import org.junit.Rule
import org.junit.Rule
import org.mockito.kotlin.never
import org.mockito.kotlin.never


@@ -91,13 +90,7 @@ class PipDisplayTransferHandlerTest : ShellTestCase() {
    private lateinit var defaultTda: DisplayAreaInfo
    private lateinit var defaultTda: DisplayAreaInfo
    private lateinit var pipDisplayTransferHandler: PipDisplayTransferHandler
    private lateinit var pipDisplayTransferHandler: PipDisplayTransferHandler


    private lateinit var displayLayout0: DisplayLayout
    private val displayIds = intArrayOf(ORIGIN_DISPLAY_ID, TARGET_DISPLAY_ID, SECONDARY_DISPLAY_ID)
    private lateinit var displayLayout1: DisplayLayout
    private lateinit var displayLayout2: DisplayLayout

    private val display0 = mock<Display>()
    private val display1 = mock<Display>()
    private val display2 = mock<Display>()


    @JvmField
    @JvmField
    @Rule
    @Rule
@@ -134,40 +127,15 @@ class PipDisplayTransferHandlerTest : ShellTestCase() {
        whenever(mockRootTaskDisplayAreaOrganizer.getDisplayAreaInfo(ORIGIN_DISPLAY_ID)).thenReturn(
        whenever(mockRootTaskDisplayAreaOrganizer.getDisplayAreaInfo(ORIGIN_DISPLAY_ID)).thenReturn(
            defaultTda
            defaultTda
        )
        )
        whenever(mockRootTaskDisplayAreaOrganizer.displayIds).thenReturn(
        whenever(mockRootTaskDisplayAreaOrganizer.displayIds).thenReturn(displayIds)
            intArrayOf(
                ORIGIN_DISPLAY_ID,
                TARGET_DISPLAY_ID,
                SECONDARY_DISPLAY_ID
            )
        )

        displayLayout0 =
            MultiDisplayTestUtil.createSpyDisplayLayout(
                MultiDisplayTestUtil.DISPLAY_GLOBAL_BOUNDS_0,
                MultiDisplayTestUtil.DISPLAY_DPI_0,
                resources,
            )
        displayLayout1 =
            MultiDisplayTestUtil.createSpyDisplayLayout(
                MultiDisplayTestUtil.DISPLAY_GLOBAL_BOUNDS_1,
                MultiDisplayTestUtil.DISPLAY_DPI_1,
                resources,
            )
        displayLayout2 =
            MultiDisplayTestUtil.createSpyDisplayLayout(
                MultiDisplayTestUtil.DISPLAY_GLOBAL_BOUNDS_2,
                MultiDisplayTestUtil.DISPLAY_DPI_2,
                resources,
            )


        whenever(mockDisplayController.getDisplay(0)).thenReturn(display0)
        for (id in displayIds) {
        whenever(mockDisplayController.getDisplay(1)).thenReturn(display1)
            val display = mock<Display>()
        whenever(mockDisplayController.getDisplay(2)).thenReturn(display2)
            whenever(mockDisplayController.getDisplay(id)).thenReturn(display)

            val displayLayout =
        whenever(mockDisplayController.getDisplayLayout(0)).thenReturn(displayLayout0)
                TestDisplay.entries.find { it.id == id }?.getSpyDisplayLayout(resources)
        whenever(mockDisplayController.getDisplayLayout(1)).thenReturn(displayLayout1)
            whenever(mockDisplayController.getDisplayLayout(id)).thenReturn(displayLayout)
        whenever(mockDisplayController.getDisplayLayout(2)).thenReturn(displayLayout2)
        }


        pipDisplayTransferHandler =
        pipDisplayTransferHandler =
            PipDisplayTransferHandler(
            PipDisplayTransferHandler(
@@ -238,7 +206,7 @@ class PipDisplayTransferHandlerTest : ShellTestCase() {
    fun showDragMirrorOnConnectedDisplays_movedToAnotherDisplay_createsOneMirror() {
    fun showDragMirrorOnConnectedDisplays_movedToAnotherDisplay_createsOneMirror() {
        pipDisplayTransferHandler.showDragMirrorOnConnectedDisplays(
        pipDisplayTransferHandler.showDragMirrorOnConnectedDisplays(
            ORIGIN_DISPLAY_ID, TARGET_DISPLAY_ID,
            ORIGIN_DISPLAY_ID, TARGET_DISPLAY_ID,
            START_DRAG_COORDINATES, MultiDisplayTestUtil.DISPLAY_GLOBAL_BOUNDS_1.center(),
            START_DRAG_COORDINATES, TestDisplay.DISPLAY_1.bounds.center(),
            PIP_BOUNDS
            PIP_BOUNDS
        )
        )


+4 −13
Original line number Original line Diff line number Diff line
@@ -42,7 +42,7 @@ import com.android.wm.shell.ShellTestCase
import com.android.wm.shell.common.DisplayController
import com.android.wm.shell.common.DisplayController
import com.android.wm.shell.common.DisplayLayout
import com.android.wm.shell.common.DisplayLayout
import com.android.wm.shell.common.MultiDisplayDragMoveIndicatorController
import com.android.wm.shell.common.MultiDisplayDragMoveIndicatorController
import com.android.wm.shell.common.MultiDisplayTestUtil
import com.android.wm.shell.common.MultiDisplayTestUtil.TestDisplay
import com.android.wm.shell.shared.desktopmode.FakeDesktopState
import com.android.wm.shell.shared.desktopmode.FakeDesktopState
import com.android.wm.shell.transition.Transitions
import com.android.wm.shell.transition.Transitions
import com.android.wm.shell.transition.Transitions.TransitionFinishCallback
import com.android.wm.shell.transition.Transitions.TransitionFinishCallback
@@ -118,18 +118,9 @@ class MultiDisplayVeiledResizeTaskPositionerTest : ShellTestCase() {
        val resourceConfiguration = Configuration()
        val resourceConfiguration = Configuration()
        resourceConfiguration.uiMode = 0
        resourceConfiguration.uiMode = 0
        resources.overrideConfiguration(resourceConfiguration)
        resources.overrideConfiguration(resourceConfiguration)
        spyDisplayLayout0 =
        spyDisplayLayout0 = TestDisplay.DISPLAY_0.getSpyDisplayLayout(resources.resources)
            MultiDisplayTestUtil.createSpyDisplayLayout(
        spyDisplayLayout1 = TestDisplay.DISPLAY_1.getSpyDisplayLayout(resources.resources)
                MultiDisplayTestUtil.DISPLAY_GLOBAL_BOUNDS_0,

                MultiDisplayTestUtil.DISPLAY_DPI_0,
                resources.resources,
            )
        spyDisplayLayout1 =
            MultiDisplayTestUtil.createSpyDisplayLayout(
                MultiDisplayTestUtil.DISPLAY_GLOBAL_BOUNDS_1,
                MultiDisplayTestUtil.DISPLAY_DPI_1,
                resources.resources,
            )
        whenever(mockDisplayController.getDisplayLayout(DISPLAY_ID_0)).thenReturn(spyDisplayLayout0)
        whenever(mockDisplayController.getDisplayLayout(DISPLAY_ID_0)).thenReturn(spyDisplayLayout0)
        whenever(mockDisplayController.getDisplayLayout(DISPLAY_ID_1)).thenReturn(spyDisplayLayout1)
        whenever(mockDisplayController.getDisplayLayout(DISPLAY_ID_1)).thenReturn(spyDisplayLayout1)
        whenever(spyDisplayLayout0.densityDpi()).thenReturn(DENSITY_DPI)
        whenever(spyDisplayLayout0.densityDpi()).thenReturn(DENSITY_DPI)