Test Pip window position when Pip menu is open

Bug: 171520419
Test: atest WMShellFlickerTests:TvPipMenuTests
Change-Id: Ie0a5651667bfe1bc04ee1127fbcd721b3bd36d81
This commit is contained in:
Sergey Nikolaienkov
2020-11-13 08:32:22 +00:00
parent e9cf1f9847
commit 31fcbcfed1

View File

@@ -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()
}