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

Commit df05cd83 authored by Sergey Pinkevich's avatar Sergey Pinkevich
Browse files

Using Desktop Windowing limit from config in E2E tests instead of hardcoding 4 apps limit

Bug: 372602695
Flag: EXEMPT no flag is needed for instrumented tests refactoring
Test: atest PlatformScenarioTests:com.android.wm.shell.functional.resizing.ResizeAppCornerMultiWindowTest && atest PlatformScenarioTests:com.android.wm.shell.functional.EnterDesktopWithDragExistingWindowsTest && atest PlatformScenarioTests:com.android.wm.shell.scenarios.EnterDesktopWithAppHandleMenuExistingWindows

Change-Id: I621780371326495215df34ca38576f68a768dd7d
parent f5061acd
Loading
Loading
Loading
Loading
+18 −21
Original line number Diff line number Diff line
@@ -18,11 +18,8 @@ package com.android.wm.shell.scenarios

import android.tools.PlatformConsts.DEFAULT_DISPLAY
import com.android.server.wm.flicker.helpers.DesktopModeAppHelper
import com.android.server.wm.flicker.helpers.ImeAppHelper
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.DesktopConfig
import com.android.wm.shell.shared.desktopmode.DesktopState
import org.junit.After
import org.junit.Assume
@@ -33,11 +30,11 @@ import org.junit.Test
@Ignore("Test Base Class")
abstract class DragAppWindowMultiWindow : DragAppWindowScenarioTestBase()
{
    private val imeAppHelper = ImeAppHelper(instrumentation)
    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 mailAppHelper = MailAppHelper(instrumentation)
    private val mailAppDesktopHelper = DesktopModeAppHelper(mailAppHelper)

    private val desktopConfig = DesktopConfig.fromContext(instrumentation.context)
    private val maxNum = desktopConfig.maxTaskLimit

    @Before
    fun setup() {
@@ -45,26 +42,26 @@ abstract class DragAppWindowMultiWindow : DragAppWindowScenarioTestBase()
            DesktopState.fromContext(instrumentation.context)
                .isDesktopModeSupportedOnDisplay(DEFAULT_DISPLAY)
        )
        testApp.enterDesktopMode(wmHelper, device)
        mailApp.launchViaIntent(wmHelper)
        newTasksApp.launchViaIntent(wmHelper)
        imeApp.launchViaIntent(wmHelper)
        mailAppDesktopHelper.enterDesktopMode(wmHelper, device)
        mailAppDesktopHelper.openTasks(wmHelper, numTasks = maxNum - 1)
    }

    @Test
    override fun dragAppWindow() {
        val (startXIme, startYIme) = getWindowDragStartCoordinate(imeAppHelper)
        val (startX, startY) = getWindowDragStartCoordinate(mailAppHelper)

        imeApp.dragWindow(startXIme, startYIme,
            endX = startXIme + 150, endY = startYIme + 150,
            wmHelper, device)
        mailAppDesktopHelper.dragWindow(
            startX,
            startY,
            endX = startX + 150,
            endY = startY + 150,
            wmHelper,
            device
        )
    }

    @After
    fun teardown() {
        testApp.exit(wmHelper)
        mailApp.exit(wmHelper)
        newTasksApp.exit(wmHelper)
        imeApp.exit(wmHelper)
        mailAppDesktopHelper.exit(wmHelper)
    }
}
+14 −16
Original line number Diff line number Diff line
@@ -16,8 +16,8 @@

package com.android.wm.shell.scenarios

import android.platform.test.annotations.Postsubmit
import android.app.Instrumentation
import android.platform.test.annotations.Postsubmit
import android.tools.NavBar
import android.tools.PlatformConsts.DEFAULT_DISPLAY
import android.tools.Rotation
@@ -25,10 +25,9 @@ import android.tools.traces.parsers.WindowManagerStateHelper
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.uiautomator.UiDevice
import com.android.server.wm.flicker.helpers.DesktopModeAppHelper
import com.android.server.wm.flicker.helpers.SimpleAppHelper
import com.android.server.wm.flicker.helpers.ImeAppHelper
import com.android.server.wm.flicker.helpers.NewTasksAppHelper
import com.android.server.wm.flicker.helpers.MailAppHelper
import com.android.wm.shell.Utils
import com.android.wm.shell.shared.desktopmode.DesktopConfig
import com.android.wm.shell.shared.desktopmode.DesktopState
import org.junit.After
import org.junit.Assume
@@ -45,9 +44,12 @@ open class EnterDesktopWithAppHandleMenuExistingWindows : TestScenarioBase() {
    private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation()
    private val wmHelper = WindowManagerStateHelper(instrumentation)
    private val device = UiDevice.getInstance(instrumentation)
    private val imeApp = ImeAppHelper(instrumentation)
    private val newTaskApp = NewTasksAppHelper(instrumentation)
    private val testApp = DesktopModeAppHelper(SimpleAppHelper(instrumentation))
    private val desktopConfig = DesktopConfig.fromContext(instrumentation.context)

    private val mailAppHelper = MailAppHelper(instrumentation)
    private val mailAppDesktopHelper = DesktopModeAppHelper(mailAppHelper)

    private val maxNum = desktopConfig.maxTaskLimit

    @Rule
    @JvmField
@@ -59,22 +61,18 @@ open class EnterDesktopWithAppHandleMenuExistingWindows : TestScenarioBase() {
            DesktopState.fromContext(instrumentation.context)
                .isDesktopModeSupportedOnDisplay(DEFAULT_DISPLAY)
        )
        testApp.enterDesktopMode(wmHelper, device)
        imeApp.launchViaIntent(wmHelper)
        newTaskApp.launchViaIntent(wmHelper)
        testApp.launchViaIntent(wmHelper)
        testApp.exitDesktopWithDragToTopDragZone(wmHelper, device)
        mailAppDesktopHelper.enterDesktopMode(wmHelper, device)
        mailAppDesktopHelper.openTasks(wmHelper, numTasks = maxNum - 1)
        mailAppDesktopHelper.exitDesktopWithDragToTopDragZone(wmHelper, device)
    }

    @Test
    open fun reenterDesktopWithAppHandleMenu() {
        testApp.enterDesktopModeFromAppHandleMenu(wmHelper, device)
        mailAppDesktopHelper.enterDesktopModeFromAppHandleMenu(wmHelper, device)
    }

    @After
    fun teardown() {
        testApp.exit(wmHelper)
        newTaskApp.exit(wmHelper)
        imeApp.exit(wmHelper)
        mailAppDesktopHelper.exit(wmHelper)
    }
}
+14 −14
Original line number Diff line number Diff line
@@ -20,10 +20,10 @@ import android.tools.NavBar
import android.tools.PlatformConsts.DEFAULT_DISPLAY
import android.tools.Rotation
import android.tools.flicker.rules.ChangeDisplayOrientationRule
import com.android.server.wm.flicker.helpers.ImeAppHelper
import com.android.server.wm.flicker.helpers.NewTasksAppHelper
import com.android.window.flags.Flags
import com.android.server.wm.flicker.helpers.DesktopModeAppHelper
import com.android.server.wm.flicker.helpers.MailAppHelper
import com.android.wm.shell.Utils
import com.android.wm.shell.shared.desktopmode.DesktopConfig
import com.android.wm.shell.shared.desktopmode.DesktopState
import org.junit.After
import org.junit.Assume
@@ -43,8 +43,12 @@ constructor(
    @Rule
    @JvmField
    val testSetupRule = Utils.testSetupRule(NavBar.MODE_GESTURAL, rotation)
    private val imeApp = ImeAppHelper(instrumentation)
    private val newTaskApp = NewTasksAppHelper(instrumentation)

    private val mailAppHelper = MailAppHelper(instrumentation)
    private val mailAppDesktopHelper = DesktopModeAppHelper(mailAppHelper)

    private val desktopConfig = DesktopConfig.fromContext(instrumentation.context)
    private val maxNum = desktopConfig.maxTaskLimit

    @Before
    fun setup() {
@@ -57,23 +61,19 @@ constructor(
        ChangeDisplayOrientationRule.setRotation(rotation)
        tapl.enableTransientTaskbar(false)

        testApp.enterDesktopMode(wmHelper, device)
        imeApp.launchViaIntent(wmHelper)
        newTaskApp.launchViaIntent(wmHelper)
        testApp.launchViaIntent(wmHelper)
        testApp.exitDesktopWithDragToTopDragZone(wmHelper, device)
        mailAppDesktopHelper.enterDesktopMode(wmHelper, device)
        mailAppDesktopHelper.openTasks(wmHelper, numTasks = maxNum - 1)
        mailAppDesktopHelper.exitDesktopWithDragToTopDragZone(wmHelper, device)
    }

    @Test
    open fun reenterDesktopWithDrag() {
        // By default this method uses drag to desktop
        testApp.enterDesktopMode(wmHelper, device, shouldUseDragToDesktop = true)
        mailAppDesktopHelper.enterDesktopMode(wmHelper, device, shouldUseDragToDesktop = true)
    }

    @After
    fun teardown() {
        testApp.exit(wmHelper)
        newTaskApp.exit(wmHelper)
        imeApp.exit(wmHelper)
        mailAppDesktopHelper.exit(wmHelper)
    }
}
 No newline at end of file
+4 −17
Original line number Diff line number Diff line
@@ -17,8 +17,6 @@
package com.android.wm.shell.scenarios

import android.app.Instrumentation
import android.content.Intent.FLAG_ACTIVITY_MULTIPLE_TASK
import android.content.Intent.FLAG_ACTIVITY_NEW_TASK
import android.tools.NavBar
import android.tools.PlatformConsts.DEFAULT_DISPLAY
import android.tools.Rotation
@@ -81,7 +79,7 @@ abstract class MinimizeWindowOnAppOpen : TestScenarioBase() {

    @Test
    open fun openAppFromAllApps() {
        openMailApps(maxNum - 1)
        mailAppDesktopHelper.openTasks(wmHelper, numTasks = maxNum - 1)
        // Launch a new task, which ends up opening [maxNum]+1 tasks in total. This should
        // result in the first app we opened to be minimized.
        tapl.launchedAppState.taskbar
@@ -93,7 +91,7 @@ abstract class MinimizeWindowOnAppOpen : TestScenarioBase() {

    @Test
    open fun openAppFromTaskbar() {
        openMailApps(maxNum - 1)
        mailAppDesktopHelper.openTasks(wmHelper, numTasks = maxNum - 1)
        // Launch a new task, which ends up opening [maxNum]+1 tasks in total. This should
        // result in the first app we opened to be minimized.
        tapl.launchedAppState.taskbar
@@ -104,28 +102,17 @@ abstract class MinimizeWindowOnAppOpen : TestScenarioBase() {

    @Test
    open fun unminimizeApp() {
        openMailApps(maxNum - 2)
        mailAppDesktopHelper.openTasks(wmHelper, numTasks = maxNum - 2)
        browserAppHelper.launchViaIntent(wmHelper)
        browserAppHelper.closePopupsIfNeeded(device)
        browserAppDesktopHelper.minimizeDesktopApp(wmHelper, device)
        openMailApps(1)
        mailAppDesktopHelper.openTasks(wmHelper, numTasks = 1)
        tapl.launchedAppState.taskbar
            .getAppIcon(browserAppHelper.appName)
            .launch(browserAppHelper.packageName)
        assertWindowManagerState(appShouldBeMinimized = testAppHelper, appShouldBeOnTop = browserAppHelper)
    }

    private fun openMailApps(limit: Int) {
        for (i in 0..<limit) {
            mailAppDesktopHelper.launchViaIntent(
                wmHelper,
                mailAppHelper.openAppIntent.apply {
                    addFlags(FLAG_ACTIVITY_MULTIPLE_TASK or FLAG_ACTIVITY_NEW_TASK)
                }
            )
        }
    }

    private fun assertWindowManagerState(
        appShouldBeMinimized: StandardAppHelper,
        appShouldBeOnTop: StandardAppHelper
+14 −18
Original line number Diff line number Diff line
@@ -25,12 +25,9 @@ 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.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.Utils
import com.android.wm.shell.shared.desktopmode.DesktopConfig
import com.android.wm.shell.shared.desktopmode.DesktopState
import org.junit.After
import org.junit.Assume
@@ -49,10 +46,12 @@ constructor(val rotation: Rotation = Rotation.ROTATION_0,
    private val tapl = LauncherInstrumentation()
    private val wmHelper = WindowManagerStateHelper(instrumentation)
    private val device = UiDevice.getInstance(instrumentation)
    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 desktopConfig = DesktopConfig.fromContext(instrumentation.context)

    private val mailAppHelper = MailAppHelper(instrumentation)
    private val mailAppDesktopHelper = DesktopModeAppHelper(mailAppHelper)

    private val maxNum = desktopConfig.maxTaskLimit

    @Rule
    @JvmField
@@ -66,26 +65,23 @@ constructor(val rotation: Rotation = Rotation.ROTATION_0,
        )
        tapl.setEnableRotation(true)
        tapl.setExpectedRotation(rotation.value)
        testApp.enterDesktopMode(wmHelper, device)
        mailApp.launchViaIntent(wmHelper)
        newTasksApp.launchViaIntent(wmHelper)
        imeApp.launchViaIntent(wmHelper)
        mailAppDesktopHelper.enterDesktopMode(wmHelper, device)
        mailAppDesktopHelper.openTasks(wmHelper, numTasks = maxNum - 1)
    }

    @Test
    open fun resizeAppWithCornerResize() {
        imeApp.cornerResize(wmHelper,
        mailAppDesktopHelper.cornerResize(
            wmHelper,
            device,
            DesktopModeAppHelper.Corners.RIGHT_TOP,
            horizontalChange,
            verticalChange)
            verticalChange
        )
    }

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