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

Commit 554859be authored by Pablo Gamito's avatar Pablo Gamito Committed by Android (Google) Code Review
Browse files

Merge "Make use of TAPL in quickswitch tests" into tm-dev

parents 8c735f9b e18ed7dd
Loading
Loading
Loading
Loading
+7 −12
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.platform.test.annotations.RequiresDevice
import android.view.Surface
import android.view.WindowManagerPolicyConstants
import androidx.test.platform.app.InstrumentationRegistry
import com.android.launcher3.tapl.LauncherInstrumentation
import com.android.server.wm.flicker.FlickerBuilderProvider
import com.android.server.wm.flicker.FlickerParametersRunnerFactory
import com.android.server.wm.flicker.FlickerTestParameter
@@ -66,6 +67,7 @@ import org.junit.runners.Parameterized
@Group1
open class QuickSwitchBetweenTwoAppsBackTest(private val testSpec: FlickerTestParameter) {
    private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation()
    private val taplInstrumentation = LauncherInstrumentation()

    private val testApp1 = SimpleAppHelper(instrumentation)
    private val testApp2 = NonResizeableAppHelper(instrumentation)
@@ -81,6 +83,10 @@ open class QuickSwitchBetweenTwoAppsBackTest(private val testSpec: FlickerTestPa
    fun buildFlicker(): FlickerBuilder {
        return FlickerBuilder(instrumentation).apply {
            setup {
                test {
                    taplInstrumentation.setExpectedRotation(testSpec.startRotation)
                }

                eachRun {
                    testApp1.launchViaIntent(wmHelper)
                    wmHelper.waitForFullScreenApp(testApp1.component)
@@ -90,18 +96,7 @@ open class QuickSwitchBetweenTwoAppsBackTest(private val testSpec: FlickerTestPa
                }
            }
            transitions {
                // Swipe right from bottom to quick switch back
                // NOTE: We don't perform an edge-to-edge swipe but instead only swipe in the middle
                // as to not accidentally trigger a swipe back or forward action which would result
                // in the same behavior but not testing quick swap.
                device.swipe(
                        startDisplayBounds.bounds.right / 3,
                        startDisplayBounds.bounds.bottom,
                        2 * startDisplayBounds.bounds.right / 3,
                        startDisplayBounds.bounds.bottom,
                        if (testSpec.isLandscapeOrSeascapeAtStart) 75 else 30
                )

                taplInstrumentation.launchedAppState.quickSwitchToPreviousApp()
                wmHelper.waitForFullScreenApp(testApp1.component)
                wmHelper.waitForAppTransitionIdle()
                wmHelper.waitForNavBarStatusBarVisible()
+9 −23
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.platform.test.annotations.RequiresDevice
import android.view.Surface
import android.view.WindowManagerPolicyConstants
import androidx.test.platform.app.InstrumentationRegistry
import com.android.launcher3.tapl.LauncherInstrumentation
import com.android.server.wm.flicker.FlickerBuilderProvider
import com.android.server.wm.flicker.FlickerParametersRunnerFactory
import com.android.server.wm.flicker.FlickerTestParameter
@@ -65,6 +66,7 @@ import org.junit.runners.Parameterized
@Group1
open class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTestParameter) {
    private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation()
    private val taplInstrumentation = LauncherInstrumentation()

    private val testApp1 = SimpleAppHelper(instrumentation)
    private val testApp2 = NonResizeableAppHelper(instrumentation)
@@ -73,6 +75,10 @@ open class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTes
    fun buildFlicker(): FlickerBuilder {
        return FlickerBuilder(instrumentation).apply {
            setup {
                test {
                    taplInstrumentation.setExpectedRotation(testSpec.startRotation)
                }

                eachRun {
                    testApp1.launchViaIntent(wmHelper)
                    wmHelper.waitForFullScreenApp(testApp1.component)
@@ -85,34 +91,14 @@ open class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTes
                        ?.layerStackSpace
                        ?: error("Display not found")

                    // Swipe right from bottom to quick switch back
                    // NOTE: We don't perform an edge-to-edge swipe but instead only swipe in the
                    // middle as to not accidentally trigger a swipe back or forward action which
                    // would result in the same behavior but not testing quick swap.
                    device.swipe(
                            startDisplayBounds.right / 3,
                            startDisplayBounds.bottom,
                            2 * startDisplayBounds.right / 3,
                            startDisplayBounds.bottom,
                            if (testSpec.isLandscapeOrSeascapeAtStart) 75 else 30
                    )
                    taplInstrumentation.launchedAppState.quickSwitchToPreviousApp()

                    wmHelper.waitForFullScreenApp(testApp1.component)
                    wmHelper.waitForAppTransitionIdle()
                }
            }
            transitions {
                // Swipe left from bottom to quick switch forward
                // NOTE: We don't perform an edge-to-edge swipe but instead only swipe in the middle
                // as to not accidentally trigger a swipe back or forward action which would result
                // in the same behavior but not testing quick swap.
                device.swipe(
                        2 * startDisplayBounds.right / 3,
                        startDisplayBounds.bottom,
                        startDisplayBounds.right / 3,
                        startDisplayBounds.bottom,
                        if (testSpec.isLandscapeOrSeascapeAtStart) 75 else 30
                )
                taplInstrumentation.launchedAppState.quickSwitchToPreviousAppSwipeLeft()

                wmHelper.waitForFullScreenApp(testApp2.component)
                wmHelper.waitForAppTransitionIdle()
+9 −12
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.platform.test.annotations.RequiresDevice
import android.view.Surface
import android.view.WindowManagerPolicyConstants
import androidx.test.platform.app.InstrumentationRegistry
import com.android.launcher3.tapl.LauncherInstrumentation
import com.android.server.wm.flicker.FlickerBuilderProvider
import com.android.server.wm.flicker.FlickerParametersRunnerFactory
import com.android.server.wm.flicker.FlickerTestParameter
@@ -62,13 +63,20 @@ import org.junit.runners.Parameterized
@Group4
class QuickSwitchFromLauncherTest(private val testSpec: FlickerTestParameter) {
    private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation()
    private val taplInstrumentation = LauncherInstrumentation()

    private val testApp = SimpleAppHelper(instrumentation)

    private val startDisplayBounds = WindowUtils.getDisplayBounds(testSpec.startRotation)

    @FlickerBuilderProvider
    fun buildFlicker(): FlickerBuilder {
        return FlickerBuilder(instrumentation).apply {
            setup {
                test {
                    taplInstrumentation.setExpectedRotation(testSpec.startRotation)
                }

                eachRun {
                    testApp.launchViaIntent(wmHelper)
                    device.pressHome()
@@ -77,18 +85,7 @@ class QuickSwitchFromLauncherTest(private val testSpec: FlickerTestParameter) {
                }
            }
            transitions {
                // Swipe right from bottom to quick switch back
                // NOTE: We don't perform an edge-to-edge swipe but instead only swipe in the middle
                // as to not accidentally trigger a swipe back or forward action which would result
                // in the same behavior but not testing quick swap.
                device.swipe(
                        startDisplayBounds.bounds.right / 3,
                        startDisplayBounds.bounds.bottom,
                        2 * startDisplayBounds.bounds.right / 3,
                        startDisplayBounds.bounds.bottom,
                        50
                )

                taplInstrumentation.workspace.quickSwitchToPreviousApp()
                wmHelper.waitForFullScreenApp(testApp.component)
                wmHelper.waitForAppTransitionIdle()
                wmHelper.waitForNavBarStatusBarVisible()