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

Commit 31fcbcfe authored by Sergey Nikolaienkov's avatar Sergey Nikolaienkov
Browse files

Test Pip window position when Pip menu is open

Bug: 171520419
Test: atest WMShellFlickerTests:TvPipMenuTests
Change-Id: Ie0a5651667bfe1bc04ee1127fbcd721b3bd36d81
parent e9cf1f98
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.wm.shell.flicker.pip.tv

import android.graphics.Rect
import androidx.test.filters.RequiresDevice
import androidx.test.uiautomator.UiObject2
import com.android.wm.shell.flicker.SYSTEM_UI_PACKAGE_NAME
@@ -37,6 +38,10 @@ class TvPipMenuTests(rotationName: String, rotation: Int)

    private val systemUiResources =
            packageManager.getResourcesForApplication(SYSTEM_UI_PACKAGE_NAME)
    private val pipBoundsWhileInMenu: Rect = systemUiResources.run {
        val bounds = getString(getIdentifier("pip_menu_bounds", "string", SYSTEM_UI_PACKAGE_NAME))
        Rect.unflattenFromString(bounds) ?: error("Could not retrieve PiP menu bounds")
    }
    private val playButtonDescription = systemUiResources.run {
        getString(getIdentifier("pip_play", "string", SYSTEM_UI_PACKAGE_NAME))
    }
@@ -52,12 +57,18 @@ class TvPipMenuTests(rotationName: String, rotation: Int)
    }

    @Test
    fun pipMenu_open() {
    fun pipMenu_correctPosition() {
        val pipMenu = enterPip_openMenu_assertShown()

        // Make sure it's fullscreen
        assertTrue("Pip menu should be shown fullscreen", pipMenu.isFullscreen(uiDevice))

        // Make sure the PiP task is positioned where it should be.
        val activityBounds: Rect = testApp.ui?.visibleBounds
                ?: error("Could not retrieve PiP Activity bounds")
        assertTrue("Pip Activity is positioned correctly while Pip menu is shown",
                pipBoundsWhileInMenu == activityBounds)

        testApp.closePipWindow()
    }