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

Commit 72800c90 authored by Yuncheol Heo's avatar Yuncheol Heo
Browse files

Migrate some CTS tests about PIP presentation to WMShellFlickerTests

Test mappings are as follows:
- testPinnedStackInBoundsAfterRotation => PipRotationTest
- testEnterPipToOtherOrientation => PipOrientationTest
- testSetRequestedOrientationWhilePinned => PipOrientationTest
- testPinnedStackWithDockedStack => PipSplitScreenTest
- testDisplayMetricsPinUnpin => EnterExitPipTest

Some other accompanying changes are as follows:
- add FixedAppHelper for FixedActivity.
- add testapp.Components to provide the constants for each test app.
- extend PipActivity to accept some extras from Intent/BroadcastIntent.

Bug: 161980624
Test: atest WMShellFlickerTests
Change-Id: I64d97a51387370cc086c9dcdded846e4a8c1c0ea
parent 2902a868
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ android_test {
        "wm-flicker-common-assertions",
        "wm-flicker-common-app-helpers",
        "platform-test-annotations",
        "wmshell-flicker-test-components",
    ],
}

@@ -54,5 +55,6 @@ android_test {
        "wm-flicker-common-assertions",
        "wm-flicker-common-app-helpers",
        "platform-test-annotations",
        "wmshell-flicker-test-components",
    ],
}
+2 −0
Original line number Diff line number Diff line
@@ -36,6 +36,8 @@
    <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"/>
    <!-- Control test app's media session -->
    <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL"/>
    <!-- ATM.removeRootTasksWithActivityTypes() -->
    <uses-permission android:name="android.permission.MANAGE_ACTIVITY_TASKS" />
    <application>
        <uses-library android:name="android.test.runner"/>

+3 −14
Original line number Diff line number Diff line
@@ -16,35 +16,24 @@

package com.android.wm.shell.flicker

import android.content.ComponentName

const val IME_WINDOW_NAME = "InputMethod"
const val PIP_WINDOW_NAME = "PipMenuActivity"
const val SPLITSCREEN_PRIMARY_WINDOW_NAME = "SplitScreenActivity"
const val SPLITSCREEN_SECONDARY_WINDOW_NAME = "SplitScreenSecondaryActivity"
const val PIP_MENU_WINDOW_NAME = "PipMenuActivity"

const val SYSTEM_UI_PACKAGE_NAME = "com.android.systemui"
const val TEST_APP_PACKAGE_NAME = "com.android.wm.shell.flicker.testapp"

// Test App > Pip Activity
val TEST_APP_PIP_ACTIVITY_COMPONENT_NAME: ComponentName = ComponentName.createRelative(
        TEST_APP_PACKAGE_NAME, ".PipActivity")
const val TEST_APP_PIP_ACTIVITY_LABEL = "PipApp"
const val TEST_APP_PIP_ACTIVITY_WINDOW_NAME = "PipActivity"
const val TEST_APP_PIP_MENU_ACTION_NO_OP = "No-Op"
const val TEST_APP_PIP_MENU_ACTION_ON = "On"
const val TEST_APP_PIP_MENU_ACTION_OFF = "Off"
const val TEST_APP_PIP_MENU_ACTION_CLEAR = "Clear"

// Test App > Ime Activity
val TEST_APP_IME_ACTIVITY_COMPONENT_NAME: ComponentName = ComponentName.createRelative(
        TEST_APP_PACKAGE_NAME, ".ImeActivity")
const val TEST_APP_IME_ACTIVITY_LABEL = "ImeApp"
// Test App > Test Activity
const val TEST_APP_FIXED_ACTIVITY_LABEL = "FixedApp"

// Test App > SplitScreen Activity
val TEST_APP_SPLITSCREEN_PRIMARY_COMPONENT_NAME: ComponentName = ComponentName.createRelative(
        TEST_APP_PACKAGE_NAME, ".$SPLITSCREEN_PRIMARY_WINDOW_NAME")
val TEST_APP_SPLITSCREEN_SECONDARY_COMPONENT_NAME: ComponentName = ComponentName.createRelative(
        TEST_APP_PACKAGE_NAME, ".$SPLITSCREEN_SECONDARY_WINDOW_NAME")
const val TEST_APP_SPLITSCREEN_PRIMARY_LABEL = "SplitScreenPrimaryApp"
const val TEST_APP_SPLITSCREEN_SECONDARY_LABEL = "SplitScreenSecondaryApp"
+4 −5
Original line number Diff line number Diff line
@@ -17,12 +17,11 @@
package com.android.wm.shell.flicker.apppairs

import com.android.wm.shell.flicker.NonRotationTestBase
import com.android.wm.shell.flicker.TEST_APP_SPLITSCREEN_PRIMARY_COMPONENT_NAME
import com.android.wm.shell.flicker.TEST_APP_SPLITSCREEN_PRIMARY_LABEL
import com.android.wm.shell.flicker.TEST_APP_SPLITSCREEN_SECONDARY_COMPONENT_NAME
import com.android.wm.shell.flicker.TEST_APP_SPLITSCREEN_SECONDARY_LABEL
import com.android.wm.shell.flicker.helpers.AppPairsHelper
import com.android.wm.shell.flicker.helpers.SplitScreenHelper
import com.android.wm.shell.flicker.testapp.Components

abstract class AppPairsTestBase(
    rotationName: String,
@@ -30,11 +29,11 @@ abstract class AppPairsTestBase(
) : NonRotationTestBase(rotationName, rotation) {
    protected val appPairsHelper = AppPairsHelper(instrumentation,
            TEST_APP_SPLITSCREEN_PRIMARY_LABEL,
            TEST_APP_SPLITSCREEN_PRIMARY_COMPONENT_NAME)
            Components.SplitScreenActivity())
    protected val primaryApp = SplitScreenHelper(instrumentation,
            TEST_APP_SPLITSCREEN_PRIMARY_LABEL,
            TEST_APP_SPLITSCREEN_PRIMARY_COMPONENT_NAME)
            Components.SplitScreenActivity())
    protected val secondaryApp = SplitScreenHelper(instrumentation,
            TEST_APP_SPLITSCREEN_SECONDARY_LABEL,
            TEST_APP_SPLITSCREEN_SECONDARY_COMPONENT_NAME)
            Components.SplitScreenSecondaryActivity())
}
+3 −3
Original line number Diff line number Diff line
@@ -17,19 +17,19 @@
package com.android.wm.shell.flicker.helpers

import android.app.Instrumentation
import android.content.ComponentName
import android.graphics.Region
import android.system.helpers.ActivityHelper
import com.android.server.wm.flicker.helpers.WindowUtils
import com.android.wm.shell.flicker.testapp.Components

class AppPairsHelper(
    instrumentation: Instrumentation,
    activityLabel: String,
    componentName: ComponentName
    componentsInfo: Components.ComponentsInfo
) : BaseAppHelper(
    instrumentation,
    activityLabel,
    componentName
    componentsInfo
) {
    val activityHelper = ActivityHelper.getInstance()

Loading