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

Commit 1c862c19 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add cujCompleted for Ironwood"

parents a74a1546 e623c1d6
Loading
Loading
Loading
Loading
+84 −0
Original line number Diff line number Diff line
@@ -46,6 +46,66 @@ fun FlickerTestParameter.appPairsDividerBecomesVisible() {
    }
}

fun FlickerTestParameter.splitScreenEntered(
    component1: IComponentMatcher,
    component2: IComponentMatcher,
    fromOtherApp: Boolean
) {
    if (fromOtherApp) {
        appWindowIsInvisibleAtStart(component1)
    } else {
        appWindowIsVisibleAtStart(component1)
    }
    appWindowIsInvisibleAtStart(component2)
    splitScreenDividerIsInvisibleAtStart()

    appWindowIsVisibleAtEnd(component1)
    appWindowIsVisibleAtEnd(component2)
    splitScreenDividerIsVisibleAtEnd()
}

fun FlickerTestParameter.splitScreenDismissed(
    component1: IComponentMatcher,
    component2: IComponentMatcher,
    toHome: Boolean
) {
    appWindowIsVisibleAtStart(component1)
    appWindowIsVisibleAtStart(component2)
    splitScreenDividerIsVisibleAtStart()

    appWindowIsInvisibleAtEnd(component1)
    if (toHome) {
        appWindowIsInvisibleAtEnd(component2)
    } else {
        appWindowIsVisibleAtEnd(component2)
    }
    splitScreenDividerIsInvisibleAtEnd()
}

fun FlickerTestParameter.splitScreenDividerIsVisibleAtStart() {
    assertLayersStart {
        this.isVisible(SPLIT_SCREEN_DIVIDER_COMPONENT)
    }
}

fun FlickerTestParameter.splitScreenDividerIsVisibleAtEnd() {
    assertLayersEnd {
        this.isVisible(SPLIT_SCREEN_DIVIDER_COMPONENT)
    }
}

fun FlickerTestParameter.splitScreenDividerIsInvisibleAtStart() {
    assertLayersStart {
        this.isInvisible(SPLIT_SCREEN_DIVIDER_COMPONENT)
    }
}

fun FlickerTestParameter.splitScreenDividerIsInvisibleAtEnd() {
    assertLayersEnd {
        this.isInvisible(SPLIT_SCREEN_DIVIDER_COMPONENT)
    }
}

fun FlickerTestParameter.splitScreenDividerBecomesVisible() {
    layerBecomesVisible(SPLIT_SCREEN_DIVIDER_COMPONENT)
}
@@ -271,6 +331,14 @@ fun FlickerTestParameter.appWindowBecomesInvisible(
    }
}

fun FlickerTestParameter.appWindowIsVisibleAtStart(
    component: IComponentMatcher
) {
    assertWmStart {
        this.isAppWindowVisible(component)
    }
}

fun FlickerTestParameter.appWindowIsVisibleAtEnd(
    component: IComponentMatcher
) {
@@ -279,6 +347,22 @@ fun FlickerTestParameter.appWindowIsVisibleAtEnd(
    }
}

fun FlickerTestParameter.appWindowIsInvisibleAtStart(
    component: IComponentMatcher
) {
    assertWmStart {
        this.isAppWindowInvisible(component)
    }
}

fun FlickerTestParameter.appWindowIsInvisibleAtEnd(
    component: IComponentMatcher
) {
    assertWmEnd {
        this.isAppWindowInvisible(component)
    }
}

fun FlickerTestParameter.appWindowKeepVisible(
    component: IComponentMatcher
) {
+18 −6
Original line number Diff line number Diff line
@@ -27,9 +27,13 @@ import com.android.server.wm.flicker.FlickerTestParameterFactory
import com.android.server.wm.flicker.annotation.Group1
import com.android.server.wm.flicker.dsl.FlickerBuilder
import com.android.wm.shell.flicker.SPLIT_SCREEN_DIVIDER_COMPONENT
import com.android.wm.shell.flicker.appWindowIsVisibleAtEnd
import com.android.wm.shell.flicker.appWindowIsVisibleAtStart
import com.android.wm.shell.flicker.appWindowKeepVisible
import com.android.wm.shell.flicker.layerKeepVisible
import com.android.wm.shell.flicker.splitAppLayerBoundsKeepVisible
import com.android.wm.shell.flicker.splitScreenDividerIsVisibleAtEnd
import com.android.wm.shell.flicker.splitScreenDividerIsVisibleAtStart
import org.junit.FixMethodOrder
import org.junit.Test
import org.junit.runner.RunWith
@@ -62,38 +66,46 @@ class CopyContentInSplit(testSpec: FlickerTestParameter) : SplitScreenBase(testS
        }

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun cujCompleted() {
        testSpec.appWindowIsVisibleAtStart(primaryApp)
        testSpec.appWindowIsVisibleAtStart(textEditApp)
        testSpec.splitScreenDividerIsVisibleAtStart()

        testSpec.appWindowIsVisibleAtEnd(primaryApp)
        testSpec.appWindowIsVisibleAtEnd(textEditApp)
        testSpec.splitScreenDividerIsVisibleAtEnd()

        // The validation of copied text is already done in SplitScreenUtils.copyContentInSplit()
    }

    @Presubmit
    @Test
    fun splitScreenDividerKeepVisible() = testSpec.layerKeepVisible(SPLIT_SCREEN_DIVIDER_COMPONENT)

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun primaryAppLayerKeepVisible() = testSpec.layerKeepVisible(primaryApp)

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun textEditAppLayerKeepVisible() = testSpec.layerKeepVisible(textEditApp)

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun primaryAppBoundsKeepVisible() = testSpec.splitAppLayerBoundsKeepVisible(
        primaryApp, landscapePosLeft = tapl.isTablet, portraitPosTop = false)

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun textEditAppBoundsKeepVisible() = testSpec.splitAppLayerBoundsKeepVisible(
        textEditApp, landscapePosLeft = !tapl.isTablet, portraitPosTop = true)

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun primaryAppWindowKeepVisible() = testSpec.appWindowKeepVisible(primaryApp)

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun textEditAppWindowKeepVisible() = testSpec.appWindowKeepVisible(textEditApp)
+5 −6
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import com.android.wm.shell.flicker.appWindowIsVisibleAtEnd
import com.android.wm.shell.flicker.layerBecomesInvisible
import com.android.wm.shell.flicker.layerIsVisibleAtEnd
import com.android.wm.shell.flicker.splitAppLayerBoundsBecomesInvisible
import com.android.wm.shell.flicker.splitScreenDismissed
import com.android.wm.shell.flicker.splitScreenDividerBecomesInvisible
import org.junit.FixMethodOrder
import org.junit.Test
@@ -73,27 +74,27 @@ class DismissSplitScreenByDivider (testSpec: FlickerTestParameter) : SplitScreen
        }

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun cujCompleted() = testSpec.splitScreenDismissed(primaryApp, secondaryApp, toHome = false)

    @Presubmit
    @Test
    fun splitScreenDividerBecomesInvisible() = testSpec.splitScreenDividerBecomesInvisible()

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun primaryAppLayerBecomesInvisible() = testSpec.layerBecomesInvisible(primaryApp)

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun secondaryAppLayerIsVisibleAtEnd() = testSpec.layerIsVisibleAtEnd(secondaryApp)

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun primaryAppBoundsBecomesInvisible() = testSpec.splitAppLayerBoundsBecomesInvisible(
        primaryApp, landscapePosLeft = tapl.isTablet, portraitPosTop = false)

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun secondaryAppBoundsIsFullscreenAtEnd() {
@@ -116,12 +117,10 @@ class DismissSplitScreenByDivider (testSpec: FlickerTestParameter) : SplitScreen
        }
    }

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun primaryAppWindowBecomesInvisible() = testSpec.appWindowBecomesInvisible(primaryApp)

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun secondaryAppWindowIsVisibleAtEnd() = testSpec.appWindowIsVisibleAtEnd(secondaryApp)
+5 −5
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import com.android.server.wm.flicker.dsl.FlickerBuilder
import com.android.wm.shell.flicker.appWindowBecomesInvisible
import com.android.wm.shell.flicker.layerBecomesInvisible
import com.android.wm.shell.flicker.splitAppLayerBoundsBecomesInvisible
import com.android.wm.shell.flicker.splitScreenDismissed
import com.android.wm.shell.flicker.splitScreenDividerBecomesInvisible
import org.junit.FixMethodOrder
import org.junit.Test
@@ -64,13 +65,15 @@ class DismissSplitScreenByGoHome(
                    .waitForAndVerify()
            }
        }

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun cujCompleted() = testSpec.splitScreenDismissed(primaryApp, secondaryApp, toHome = true)

    @Presubmit
    @Test
    fun splitScreenDividerBecomesInvisible() = testSpec.splitScreenDividerBecomesInvisible()

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun primaryAppLayerBecomesInvisible() = testSpec.layerBecomesInvisible(primaryApp)
@@ -86,18 +89,15 @@ class DismissSplitScreenByGoHome(
    fun primaryAppBoundsBecomesInvisible() = testSpec.splitAppLayerBoundsBecomesInvisible(
        primaryApp, landscapePosLeft = tapl.isTablet, portraitPosTop = false)

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun secondaryAppBoundsBecomesInvisible() = testSpec.splitAppLayerBoundsBecomesInvisible(
        secondaryApp, landscapePosLeft = !tapl.isTablet, portraitPosTop = true)

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun primaryAppWindowBecomesInvisible() = testSpec.appWindowBecomesInvisible(primaryApp)

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun secondaryAppWindowBecomesInvisible() = testSpec.appWindowBecomesInvisible(secondaryApp)
+19 −6
Original line number Diff line number Diff line
@@ -28,9 +28,13 @@ import com.android.server.wm.flicker.FlickerTestParameterFactory
import com.android.server.wm.flicker.annotation.Group1
import com.android.server.wm.flicker.dsl.FlickerBuilder
import com.android.wm.shell.flicker.SPLIT_SCREEN_DIVIDER_COMPONENT
import com.android.wm.shell.flicker.appWindowIsVisibleAtEnd
import com.android.wm.shell.flicker.appWindowIsVisibleAtStart
import com.android.wm.shell.flicker.appWindowKeepVisible
import com.android.wm.shell.flicker.layerKeepVisible
import com.android.wm.shell.flicker.splitAppLayerBoundsChanges
import com.android.wm.shell.flicker.splitScreenDividerIsVisibleAtEnd
import com.android.wm.shell.flicker.splitScreenDividerIsVisibleAtStart
import org.junit.FixMethodOrder
import org.junit.Test
import org.junit.runner.RunWith
@@ -61,16 +65,29 @@ class DragDividerToResize (testSpec: FlickerTestParameter) : SplitScreenBase(tes
        }

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun cujCompleted() {
        testSpec.appWindowIsVisibleAtStart(primaryApp)
        testSpec.appWindowIsVisibleAtStart(secondaryApp)
        testSpec.splitScreenDividerIsVisibleAtStart()

        testSpec.appWindowIsVisibleAtEnd(primaryApp)
        testSpec.appWindowIsVisibleAtEnd(secondaryApp)
        testSpec.splitScreenDividerIsVisibleAtEnd()

        // TODO(b/246490534): Add validation for resized app after withAppTransitionIdle is
        // robust enough to get the correct end state.
    }

    @Presubmit
    @Test
    fun splitScreenDividerKeepVisible() = testSpec.layerKeepVisible(SPLIT_SCREEN_DIVIDER_COMPONENT)

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun primaryAppLayerKeepVisible() = testSpec.layerKeepVisible(primaryApp)

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun secondaryAppLayerVisibilityChanges() {
@@ -83,23 +100,19 @@ class DragDividerToResize (testSpec: FlickerTestParameter) : SplitScreenBase(tes
        }
    }

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun primaryAppWindowKeepVisible() = testSpec.appWindowKeepVisible(primaryApp)

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun secondaryAppWindowKeepVisible() = testSpec.appWindowKeepVisible(secondaryApp)

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun primaryAppBoundsChanges() = testSpec.splitAppLayerBoundsChanges(
        primaryApp, landscapePosLeft = true, portraitPosTop = false)

    @IwTest(focusArea = "sysui")
    @Presubmit
    @Test
    fun secondaryAppBoundsChanges() = testSpec.splitAppLayerBoundsChanges(
Loading