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

Commit aa92126a authored by Hongwei Wang's avatar Hongwei Wang
Browse files

Ensure dismiss button within closePipWindow

This is to comply with ag/15351291 that the dismiss button is only
available after the tap-to-reveal PiP menu animation is completed.

Bug: 176822698
Test: atest WMShellFlickerTests:ExitPipWithDismissButtonTest
Change-Id: Iae0eae56b0fb358e3d39454de59c8ba64e65ee7b
parent b38ce845
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -129,7 +129,7 @@ class PipAppHelper(instrumentation: Instrumentation) : BaseAppHelper(
    }

    /**
     * Expands the pip window and dismisses it by clicking on the X button.
     * Taps the pip window and dismisses it by clicking on the X button.
     */
    fun closePipWindow(wmHelper: WindowManagerStateHelper) {
        if (isTelevision) {
@@ -137,9 +137,12 @@ class PipAppHelper(instrumentation: Instrumentation) : BaseAppHelper(
        } else {
            val windowRect = getWindowRect(wmHelper)
            uiDevice.click(windowRect.centerX(), windowRect.centerY())
            val exitPipObject = uiDevice.findObject(By.res(SYSTEMUI_PACKAGE, "dismiss"))
            // search and interact with the dismiss button
            val dismissSelector = By.res(SYSTEMUI_PACKAGE, "dismiss")
            uiDevice.wait(Until.hasObject(dismissSelector), FIND_TIMEOUT)
            val dismissPipObject = uiDevice.findObject(dismissSelector)
                    ?: error("PIP window dismiss button not found")
            val dismissButtonBounds = exitPipObject.visibleBounds
            val dismissButtonBounds = dismissPipObject.visibleBounds
            uiDevice.click(dismissButtonBounds.centerX(), dismissButtonBounds.centerY())
        }