Ensure screenshot layer appears during rotation

Add some additional checks on flicker tests to ensure that the screenshot layer ir correctly being displayed during the rotation animation.

Test: atest FlickerTests:ChangeAppRotationTest, atest FlickerTests:OpenAppColdTest and atest FlickerTests:OpenAppWarmTest
Change-Id: I2a6c74179c07eee86caae08f05430752aa4e084e
This commit is contained in:
Nataniel Borges
2020-02-04 11:57:27 +01:00
parent 992a155b61
commit 6a087ec8ed
3 changed files with 47 additions and 10 deletions

View File

@@ -144,6 +144,19 @@ public class ChangeAppRotationTest extends FlickerTestBase {
);
}
@Test
public void checkVisibility_screenshotLayerBecomesInvisible() {
checkResults(result -> LayersTraceSubject.assertThat(result)
.showsLayer(mTestApp.getPackage())
.then()
.replaceVisibleLayer(mTestApp.getPackage(), "Screenshot")
.then()
.showsLayer(mTestApp.getPackage()).and().showsLayer("Screenshot")
.then()
.replaceVisibleLayer("Screenshot", mTestApp.getPackage())
.forAllEntries());
}
@FlakyTest(bugId = 140855415)
@Ignore("Waiting bug feedback")
@Test

View File

@@ -19,6 +19,8 @@ package com.android.server.wm.flicker;
import static com.android.server.wm.flicker.CommonTransitions.openAppCold;
import static com.android.server.wm.flicker.WmTraceSubject.assertThat;
import android.view.Surface;
import androidx.test.InstrumentationRegistry;
import androidx.test.filters.FlakyTest;
import androidx.test.filters.LargeTest;
@@ -76,10 +78,20 @@ public class OpenAppColdTest extends NonRotationTestBase {
@Test
public void checkVisibility_wallpaperLayerBecomesInvisible() {
checkResults(result -> LayersTraceSubject.assertThat(result)
.showsLayer("Wallpaper")
.then()
.hidesLayer("Wallpaper")
.forAllEntries());
if (mBeginRotation == Surface.ROTATION_0) {
checkResults(result -> LayersTraceSubject.assertThat(result)
.showsLayer("Wallpaper")
.then()
.replaceVisibleLayer("Wallpaper", mTestApp.getPackage())
.forAllEntries());
} else {
checkResults(result -> LayersTraceSubject.assertThat(result)
.showsLayer("Wallpaper")
.then()
.replaceVisibleLayer("Wallpaper", "Screenshot")
.then()
.showsLayer(mTestApp.getPackage())
.forAllEntries());
}
}
}

View File

@@ -19,6 +19,8 @@ package com.android.server.wm.flicker;
import static com.android.server.wm.flicker.CommonTransitions.openAppWarm;
import static com.android.server.wm.flicker.WmTraceSubject.assertThat;
import android.view.Surface;
import androidx.test.InstrumentationRegistry;
import androidx.test.filters.FlakyTest;
import androidx.test.filters.LargeTest;
@@ -76,10 +78,20 @@ public class OpenAppWarmTest extends NonRotationTestBase {
@Test
public void checkVisibility_wallpaperLayerBecomesInvisible() {
checkResults(result -> LayersTraceSubject.assertThat(result)
.showsLayer("Wallpaper")
.then()
.hidesLayer("Wallpaper")
.forAllEntries());
if (mBeginRotation == Surface.ROTATION_0) {
checkResults(result -> LayersTraceSubject.assertThat(result)
.showsLayer("Wallpaper")
.then()
.replaceVisibleLayer("Wallpaper", mTestApp.getPackage())
.forAllEntries());
} else {
checkResults(result -> LayersTraceSubject.assertThat(result)
.showsLayer("Wallpaper")
.then()
.replaceVisibleLayer("Wallpaper", "Screenshot")
.then()
.showsLayer(mTestApp.getPackage())
.forAllEntries());
}
}
}