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

Commit 39c37d2b authored by Sergey Pinkevich's avatar Sergey Pinkevich Committed by Android (Google) Code Review
Browse files

Merge "Using Desktop Windowing limit from config in E2E tests instead of...

Merge "Using Desktop Windowing limit from config in E2E tests instead of hardcoding 4 apps limit" into main
parents 8177b7b1 df05cd83
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