Merge "Make 90 degree app launch less flaky"

This commit is contained in:
TreeHugger Robot
2021-12-09 14:23:56 +00:00
committed by Android (Google) Code Review
2 changed files with 13 additions and 5 deletions

View File

@@ -141,6 +141,10 @@ fun FlickerTestParameter.statusBarLayerRotatesScales() {
*
* @param originalLayer Layer that should be visible at the start
* @param newLayer Layer that should be visible at the end
* @param ignoreEntriesWithRotationLayer If entries with a visible rotation layer should be ignored
* when checking the transition. If true we will not fail the assertion if a rotation layer is
* visible to fill the gap between the [originalLayer] being visible and the [newLayer] being
* visible.
* @param ignoreSnapshot If the snapshot layer should be ignored during the transition
* (useful mostly for app launch)
* @param ignoreSplashscreen If the splashscreen layer should be ignored during the transition.
@@ -150,20 +154,23 @@ fun FlickerTestParameter.statusBarLayerRotatesScales() {
fun FlickerTestParameter.replacesLayer(
originalLayer: FlickerComponentName,
newLayer: FlickerComponentName,
ignoreEntriesWithRotationLayer: Boolean = false,
ignoreSnapshot: Boolean = false,
ignoreSplashscreen: Boolean = true
) {
assertLayers {
val assertion = this.isVisible(originalLayer)
if (ignoreSnapshot || ignoreSplashscreen) {
assertion.then()
if (ignoreEntriesWithRotationLayer) {
assertion.then().isVisible(FlickerComponentName.ROTATION, isOptional = true)
}
if (ignoreSnapshot) {
assertion.isVisible(FlickerComponentName.SNAPSHOT, isOptional = true)
assertion.then().isVisible(FlickerComponentName.SNAPSHOT, isOptional = true)
}
if (ignoreSplashscreen) {
assertion.isSplashScreenVisibleFor(newLayer, isOptional = true)
assertion.then().isSplashScreenVisibleFor(newLayer, isOptional = true)
}
assertion.then().isVisible(newLayer)
}

View File

@@ -166,7 +166,8 @@ abstract class OpenAppTransition(protected val testSpec: FlickerTestParameter) {
* is replaced by [testApp], which remains visible until the end
*/
open fun appLayerReplacesLauncher() {
testSpec.replacesLayer(LAUNCHER_COMPONENT, testApp.component, ignoreSnapshot = true)
testSpec.replacesLayer(LAUNCHER_COMPONENT, testApp.component,
ignoreEntriesWithRotationLayer = true, ignoreSnapshot = true)
}
/**