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

Commit 1f3201ef authored by Toshiki Kikuchi's avatar Toshiki Kikuchi
Browse files

Generalize MinimizeWindowOnAppOpen

This CL generalizes MinimizeWindowOnAppOpen to perform verifications
based on well-defined “max task limit”.
The test currently implicitly assumes Tangor whose max task limit is 4.

Bug: 376802328
Flag: EXEMPT add test
Test: MinimizeWindowOnAppOpen
Change-Id: I28fcea4cf09b128f4b51f0e97ffc8a1fc0a80a29
parent 5cf2de7e
Loading
Loading
Loading
Loading
+11 −15
Original line number Diff line number Diff line
@@ -23,12 +23,10 @@ import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.uiautomator.UiDevice
import com.android.launcher3.tapl.LauncherInstrumentation
import com.android.server.wm.flicker.helpers.DesktopModeAppHelper
import com.android.server.wm.flicker.helpers.ImeAppHelper
import com.android.server.wm.flicker.helpers.LetterboxAppHelper
import com.android.server.wm.flicker.helpers.MailAppHelper
import com.android.server.wm.flicker.helpers.NewTasksAppHelper
import com.android.server.wm.flicker.helpers.SimpleAppHelper
import com.android.window.flags.Flags
import com.android.wm.shell.shared.desktopmode.DesktopModeStatus
import org.junit.After
import org.junit.Assume
import org.junit.Before
@@ -51,32 +49,30 @@ open class MinimizeWindowOnAppOpen()

    private val testApp = DesktopModeAppHelper(SimpleAppHelper(instrumentation))
    private val mailApp = DesktopModeAppHelper(MailAppHelper(instrumentation))
    private val newTasksApp = DesktopModeAppHelper(NewTasksAppHelper(instrumentation))
    private val imeApp = DesktopModeAppHelper(ImeAppHelper(instrumentation))
    private val letterboxAppHelper = DesktopModeAppHelper(LetterboxAppHelper(instrumentation))

    private val maxNum = DesktopModeStatus.getMaxTaskLimit(instrumentation.context)

    @Before
    fun setup() {
        Assume.assumeTrue(Flags.enableDesktopWindowingMode() && tapl.isTablet)
        Assume.assumeTrue(maxNum > 0)
        testApp.enterDesktopMode(wmHelper, device)
        // Launch new [maxNum-1] tasks, which ends up opening [maxNum] tasks in total.
        for (i in 1..maxNum - 1) {
            mailApp.launchViaIntent(wmHelper)
        newTasksApp.launchViaIntent(wmHelper)
        imeApp.launchViaIntent(wmHelper)
        }
    }

    @Test
    open fun openAppToMinimizeWindow() {
        // Launch a new app while 4 apps are already open on desktop. This should result in the
        // first app we opened to be minimized.
        letterboxAppHelper.launchViaIntent(wmHelper)
        // Launch a new tasks, which ends up opening [maxNum]+1 tasks in total. This should
        // result in the first app we opened to be minimized.
        mailApp.launchViaIntent(wmHelper)
    }

    @After
    fun teardown() {
        testApp.exit(wmHelper)
        mailApp.exit(wmHelper)
        newTasksApp.exit(wmHelper)
        imeApp.exit(wmHelper)
        letterboxAppHelper.exit(wmHelper)
    }
}